We know as a fact that the type matches.
Drawable(vis, w, h),
currentContext(nil)
{
- NSOpenGLPixelFormat *pixelFormat = dynamic_cast<const CocoaVisual *>(visual)->pixelFormat;
+ NSOpenGLPixelFormat *pixelFormat = static_cast<const CocoaVisual *>(visual)->pixelFormat;
NSRect winRect = NSMakeRect(0, 0, w, h);
Context *
createContext(const Visual *visual, Context *shareContext, Profile profile)
{
- NSOpenGLPixelFormat *pixelFormat = dynamic_cast<const CocoaVisual *>(visual)->pixelFormat;
+ NSOpenGLPixelFormat *pixelFormat = static_cast<const CocoaVisual *>(visual)->pixelFormat;
NSOpenGLContext *share_context = nil;
NSOpenGLContext *context;
}
if (shareContext) {
- share_context = dynamic_cast<CocoaContext*>(shareContext)->context;
+ share_context = static_cast<CocoaContext*>(shareContext)->context;
}
context = [[NSOpenGLContext alloc]
if (!drawable || !context) {
[NSOpenGLContext clearCurrentContext];
} else {
- CocoaDrawable *cocoaDrawable = dynamic_cast<CocoaDrawable *>(drawable);
- CocoaContext *cocoaContext = dynamic_cast<CocoaContext *>(context);
+ CocoaDrawable *cocoaDrawable = static_cast<CocoaDrawable *>(drawable);
+ CocoaContext *cocoaContext = static_cast<CocoaContext *>(context);
[cocoaDrawable->window makeKeyAndOrderFront:nil];
[cocoaContext->context setView:[cocoaDrawable->window contentView]];
EglDrawable(const Visual *vis, int w, int h) :
Drawable(vis, w, h), api(EGL_OPENGL_ES_API)
{
- XVisualInfo *visinfo = dynamic_cast<const EglVisual *>(visual)->visinfo;
+ XVisualInfo *visinfo = static_cast<const EglVisual *>(visual)->visinfo;
Window root = RootWindow(display, screen);
eglWaitNative(EGL_CORE_NATIVE_ENGINE);
- EGLConfig config = dynamic_cast<const EglVisual *>(visual)->config;
+ EGLConfig config = static_cast<const EglVisual *>(visual)->config;
surface = eglCreateWindowSurface(eglDisplay, config, window, NULL);
}
Context *
createContext(const Visual *_visual, Context *shareContext, Profile profile)
{
- const EglVisual *visual = dynamic_cast<const EglVisual *>(_visual);
+ const EglVisual *visual = static_cast<const EglVisual *>(_visual);
EGLContext share_context = EGL_NO_CONTEXT;
EGLContext context;
Attributes<EGLint> attribs;
if (shareContext) {
- share_context = dynamic_cast<EglContext*>(shareContext)->context;
+ share_context = static_cast<EglContext*>(shareContext)->context;
}
EGLint api = eglQueryAPI();
if (!drawable || !context) {
return eglMakeCurrent(eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
} else {
- EglDrawable *eglDrawable = dynamic_cast<EglDrawable *>(drawable);
- EglContext *eglContext = dynamic_cast<EglContext *>(context);
+ EglDrawable *eglDrawable = static_cast<EglDrawable *>(drawable);
+ EglContext *eglContext = static_cast<EglContext *>(context);
EGLBoolean ok;
ok = eglMakeCurrent(eglDisplay, eglDrawable->surface,
GlxDrawable(const Visual *vis, int w, int h) :
Drawable(vis, w, h)
{
- XVisualInfo *visinfo = dynamic_cast<const GlxVisual *>(visual)->visinfo;
+ XVisualInfo *visinfo = static_cast<const GlxVisual *>(visual)->visinfo;
Window root = RootWindow(display, screen);
Context *
createContext(const Visual *_visual, Context *shareContext, Profile profile)
{
- const GlxVisual *visual = dynamic_cast<const GlxVisual *>(_visual);
+ const GlxVisual *visual = static_cast<const GlxVisual *>(_visual);
GLXContext share_context = NULL;
GLXContext context;
}
if (shareContext) {
- share_context = dynamic_cast<GlxContext*>(shareContext)->context;
+ share_context = static_cast<GlxContext*>(shareContext)->context;
}
if (glxVersion >= 0x0104 && has_GLX_ARB_create_context) {
if (!drawable || !context) {
return glXMakeCurrent(display, None, NULL);
} else {
- GlxDrawable *glxDrawable = dynamic_cast<GlxDrawable *>(drawable);
- GlxContext *glxContext = dynamic_cast<GlxContext *>(context);
+ GlxDrawable *glxDrawable = static_cast<GlxDrawable *>(drawable);
+ GlxContext *glxContext = static_cast<GlxContext *>(context);
return glXMakeCurrent(display, glxDrawable->window, glxContext->context);
}
return NULL;
}
- return new WglContext(visual, profile, dynamic_cast<WglContext *>(shareContext));
+ return new WglContext(visual, profile, static_cast<WglContext *>(shareContext));
}
bool
if (!drawable || !context) {
return wglMakeCurrent(NULL, NULL);
} else {
- WglDrawable *wglDrawable = dynamic_cast<WglDrawable *>(drawable);
- WglContext *wglContext = dynamic_cast<WglContext *>(context);
+ WglDrawable *wglDrawable = static_cast<WglDrawable *>(drawable);
+ WglContext *wglContext = static_cast<WglContext *>(context);
if (!wglContext->hglrc) {
wglContext->hglrc = wglCreateContext(wglDrawable->hDC);