other ? other->m_aglContext : NULL);
if ( !m_aglContext )
wxLogAGLError("aglCreateContext");
-
- return;
- if ( !aglEnable(m_aglContext, AGL_BUFFER_RECT) )
- wxLogAGLError("aglEnable(AGL_BUFFER_RECT)");
}
wxGLContext::~wxGLContext()
}
}
-void wxGLContext::SetCurrent(const wxGLCanvas& win) const
+bool wxGLContext::SetCurrent(const wxGLCanvas& win) const
{
if ( !m_aglContext )
- return;
+ return false;
- AGLDrawable drawable = (AGLDrawable)UMAGetWindowPort(
+ AGLDrawable drawable = (AGLDrawable)GetWindowPort(
MAC_WXHWND(win.MacGetTopLevelWindowRef()));
if ( !aglSetDrawable(m_aglContext, drawable) )
+ {
wxLogAGLError("aglSetDrawable");
+ return false;
+ }
if ( !aglSetCurrentContext(m_aglContext) )
+ {
wxLogAGLError("aglSetCurrentContext");
+ return false;
+ }
wx_const_cast(wxGLCanvas&, win).SetViewport();
+ return true;
}
// ----------------------------------------------------------------------------
aglDestroyPixelFormat(m_aglFormat);
}
-void wxGLCanvas::SwapBuffers()
+bool wxGLCanvas::SwapBuffers()
{
AGLContext context = aglGetCurrentContext();
- wxCHECK_RET( context, _T("should have current context") );
+ wxCHECK_MSG(context, false, _T("should have current context"));
aglSwapBuffers(context);
+ return true;
}
void wxGLCanvas::SetViewport()
if ( !aglSetInteger(context, AGL_BUFFER_RECT, parms) )
wxLogAGLError("aglSetInteger(AGL_BUFFER_RECT)");
+ if ( !aglEnable(context, AGL_BUFFER_RECT) )
+ wxLogAGLError("aglEnable(AGL_BUFFER_RECT)");
+
if ( !aglUpdateContext(context) )
wxLogAGLError("aglUpdateContext");
}