void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window);
static void *cglContextForContext(QOpenGLContext *context);
+ static void *nsOpenGLContextForContext(QOpenGLContext* context);
public Q_SLOTS:
void onAppFocusWindowChanged(QWindow *window);
{
if (!context)
return 0;
-
+ if (resourceString.toLower() == "nsopenglcontext")
+ return nsOpenGLContextForContext(context);
if (resourceString.toLower() == "cglcontextobj")
return cglContextForContext(context);
void *QCocoaNativeInterface::cglContextForContext(QOpenGLContext* context)
{
+ NSOpenGLContext *nsOpenGLContext = static_cast<NSOpenGLContext*>(nsOpenGLContextForContext(context));
+ if (nsOpenGLContext)
+ return [nsOpenGLContext CGLContextObj];
+ return 0;
+}
+
+void *QCocoaNativeInterface::nsOpenGLContextForContext(QOpenGLContext* context)
+{
if (context) {
QCocoaGLContext *cocoaGLContext = static_cast<QCocoaGLContext *>(context->handle());
if (cocoaGLContext) {
- NSOpenGLContext *nsOpenGLContext = cocoaGLContext->nsOpenGLContext();
- if (nsOpenGLContext)
- return [nsOpenGLContext CGLContextObj];
+ return cocoaGLContext->nsOpenGLContext();
}
}
return 0;