Beispiel #1
0
bool WIN32Window::isExtensionSupported(const char *ext)
{
#ifdef OPENGL_ES
    //TODO
    return false;
#else
    typedef const char* (WINAPI * wglGetExtensionsStringProc)();
    wglGetExtensionsStringProc wglGetExtensionsString = (wglGetExtensionsStringProc)getExtensionProcAddress("wglGetExtensionsStringEXT");
    if(!wglGetExtensionsString)
        return false;

    const char *exts = wglGetExtensionsString();
    if(exts && strstr(exts, ext))
        return true;

    return false;
#endif
}
	bool wIsSupported(const char* name, HDC hdc)
	{
		const char *ext = 0, *start;
		const char *loc, *term;

		loc = strchr(name, ' ');

		if( loc || *name == '\0' )
			return false;

		if( !wglGetExtensionsString )
			wglGetExtensionsString = (WGLGETEXTENSIONSSTRINGARBPROC)wglGetProcAddress("wglGetExtensionsStringARB");

		if( !wglGetExtensionsString )
			return false;

		ext = (const char*)wglGetExtensionsString(hdc);
		start = ext;

		for( ;; )
		{
			if( !(loc = strstr(start, name)) )
				break;

			term = loc + strlen(name);

			if( loc == start || *(loc - 1) == ' ' )
			{
				if( *term == ' ' || *term == '\0' )
					return true;
			}

			start = term;
		}

		return false;
	}