wxGLCanvas::~wxGLCanvas() { if ( m_glFormat ) WXGLDestroyPixelFormat(m_glFormat); if ( m_dummyContext ) WXGLDestroyContext(m_dummyContext); }
bool wxGLApp::InitGLVisual(const int *attribList) { WXGLPixelFormat fmt = WXGLChoosePixelFormat(attribList); if ( !fmt ) return false; WXGLDestroyPixelFormat(fmt); return true; }
/* static */ bool wxGLCanvasBase::IsDisplaySupported(const int *attribList) { WXGLPixelFormat glFormat = WXGLChoosePixelFormat(attribList); if ( !glFormat ) return false; WXGLDestroyPixelFormat(glFormat); return true; }
bool wxGLCanvasBase::IsExtensionSupported(const char *extension) { // we need a valid context to query for extensions. WXGLPixelFormat fmt = WXGLChoosePixelFormat(NULL); WXGLContext ctx = WXGLCreateContext(fmt, NULL); if ( !ctx ) return false; WXGLContext ctxOld = WXGLGetCurrentContext(); WXGLSetCurrentContext(ctx); wxString extensions = wxString::FromAscii(glGetString(GL_EXTENSIONS)); WXGLSetCurrentContext(ctxOld); WXGLDestroyPixelFormat(fmt); WXGLDestroyContext(ctx); return IsExtensionInList(extensions.ToAscii(), extension); }