wxGLContext::~wxGLContext() { if ( m_glContext ) { WXGLDestroyContext(m_glContext); } }
wxGLCanvas::~wxGLCanvas() { if ( m_glFormat ) WXGLDestroyPixelFormat(m_glFormat); if ( m_dummyContext ) WXGLDestroyContext(m_dummyContext); }
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); }