Implement nativeResourceFunctionForContext for xcb
authorJorgen Lind <jorgen.lind@gmail.com>
Thu, 5 Jul 2012 11:59:22 +0000 (13:59 +0200)
committerQt by Nokia <qt-info@nokia.com>
Fri, 6 Jul 2012 01:54:30 +0000 (03:54 +0200)
Change-Id: Icf6c39fb456b39fec58ac2f74c569b9d01993589
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
src/plugins/platforms/xcb/qxcbnativeinterface.cpp
src/plugins/platforms/xcb/qxcbnativeinterface.h

index cc00d08..a6647da 100644 (file)
@@ -133,6 +133,15 @@ void *QXcbNativeInterface::nativeResourceForWindow(const QByteArray &resourceStr
     return result;
 }
 
+QPlatformNativeInterface::NativeResourceForContextFunction QXcbNativeInterface::nativeResourceFunctionForContext(const QByteArray &resource)
+{
+    QByteArray lowerCaseResource = resource.toLower();
+    if (lowerCaseResource == "get_egl_context") {
+        return eglContextForContext;
+    }
+    return 0;
+}
+
 QPlatformNativeInterface::EventFilter QXcbNativeInterface::setEventFilter(const QByteArray &eventType, QPlatformNativeInterface::EventFilter filter)
 {
     int type = -1;
index 354ef76..8221d9a 100644 (file)
@@ -71,6 +71,8 @@ public:
     void *nativeResourceForContext(const QByteArray &resourceString, QOpenGLContext *context);
     void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window);
 
+    NativeResourceForContextFunction nativeResourceFunctionForContext(const QByteArray &resource);
+
     inline const QByteArray &genericEventFilterType() const { return m_genericEventFilterType; }
     EventFilter setEventFilter(const QByteArray &eventType, EventFilter filter);
     EventFilter eventFilter(EventFilterType type) const { return m_eventFilters[type]; }
@@ -80,8 +82,7 @@ public:
     void *connectionForWindow(QWindow *window);
     void *screenForWindow(QWindow *window);
     void *graphicsDeviceForWindow(QWindow *window);
-
-    void *eglContextForContext(QOpenGLContext *context);
+    static void *eglContextForContext(QOpenGLContext *context);
 
 private:
     const QByteArray m_genericEventFilterType;