src/openvg/qwindowsurface_vgegl.cpp
changeset 30 5dc02b23752f
parent 22 79de32ba3296
--- a/src/openvg/qwindowsurface_vgegl.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/src/openvg/qwindowsurface_vgegl.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -71,18 +71,13 @@
 
 QImage::Format qt_vg_config_to_image_format(QEglContext *context)
 {
-    EGLint red = 0;
-    EGLint green = 0;
-    EGLint blue = 0;
-    EGLint alpha = 0;
-    context->configAttrib(EGL_RED_SIZE, &red);
-    context->configAttrib(EGL_GREEN_SIZE, &green);
-    context->configAttrib(EGL_BLUE_SIZE, &blue);
-    context->configAttrib(EGL_ALPHA_SIZE, &alpha);
+    EGLint red = context->configAttrib(EGL_RED_SIZE);
+    EGLint green = context->configAttrib(EGL_GREEN_SIZE);
+    EGLint blue = context->configAttrib(EGL_BLUE_SIZE);
+    EGLint alpha = context->configAttrib(EGL_ALPHA_SIZE);
     QImage::Format argbFormat;
 #ifdef EGL_VG_ALPHA_FORMAT_PRE_BIT
-    EGLint type = 0;
-    context->configAttrib(EGL_SURFACE_TYPE, &type);
+    EGLint type = context->configAttrib(EGL_SURFACE_TYPE);
     if ((type & EGL_VG_ALPHA_FORMAT_PRE_BIT) != 0)
         argbFormat = QImage::Format_ARGB32_Premultiplied;
     else
@@ -210,11 +205,7 @@
 
 static bool isPremultipliedContext(const QEglContext *context)
 {
-    EGLint value = 0;
-    if (context->configAttrib(EGL_SURFACE_TYPE, &value))
-        return (value & EGL_VG_ALPHA_FORMAT_PRE_BIT) != 0;
-    else
-        return false;
+    return context->configAttrib(EGL_SURFACE_TYPE) & EGL_VG_ALPHA_FORMAT_PRE_BIT;
 }
 
 #endif
@@ -230,9 +221,9 @@
     // Set the swap interval for the display.
     QByteArray interval = qgetenv("QT_VG_SWAP_INTERVAL");
     if (!interval.isEmpty())
-        eglSwapInterval(QEglContext::display(), interval.toInt());
+        eglSwapInterval(QEgl::display(), interval.toInt());
     else
-        eglSwapInterval(QEglContext::display(), 1);
+        eglSwapInterval(QEgl::display(), 1);
 
 #ifdef EGL_RENDERABLE_TYPE
     // Has the user specified an explicit EGL configuration to use?
@@ -246,16 +237,16 @@
         EGLint matching = 0;
         EGLConfig cfg;
         if (eglChooseConfig
-                    (QEglContext::display(), properties, &cfg, 1, &matching) &&
+                    (QEgl::display(), properties, &cfg, 1, &matching) &&
                 matching > 0) {
             // Check that the selected configuration actually supports OpenVG
             // and then create the context with it.
             EGLint id = 0;
             EGLint type = 0;
             eglGetConfigAttrib
-                (QEglContext::display(), cfg, EGL_CONFIG_ID, &id);
+                (QEgl::display(), cfg, EGL_CONFIG_ID, &id);
             eglGetConfigAttrib
-                (QEglContext::display(), cfg, EGL_RENDERABLE_TYPE, &type);
+                (QEgl::display(), cfg, EGL_RENDERABLE_TYPE, &type);
             if (cfgId == id && (type & EGL_OPENVG_BIT) != 0) {
                 context->setConfig(cfg);
                 if (!context->createContext()) {
@@ -334,7 +325,7 @@
     shared->engine = 0;
     shared->context->doneCurrent();
     if (shared->surface != EGL_NO_SURFACE) {
-        eglDestroySurface(QEglContext::display(), shared->surface);
+        eglDestroySurface(QEgl::display(), shared->surface);
         shared->surface = EGL_NO_SURFACE;
     }
     delete shared->context;
@@ -412,7 +403,7 @@
             attribs[4] = EGL_NONE;
         }
         shared->surface = eglCreatePbufferSurface
-            (QEglContext::display(), shared->context->config(), attribs);
+            (QEgl::display(), shared->context->config(), attribs);
     }
     return shared->surface;
 }
@@ -555,7 +546,7 @@
             context->makeCurrent(mainSurface());
             recreateBackBuffer = false;
             if (backBufferSurface != EGL_NO_SURFACE) {
-                eglDestroySurface(QEglContext::display(), backBufferSurface);
+                eglDestroySurface(QEgl::display(), backBufferSurface);
                 backBufferSurface = EGL_NO_SURFACE;
             }
             if (backBuffer != VG_INVALID_HANDLE) {
@@ -568,7 +559,7 @@
             if (backBuffer != VG_INVALID_HANDLE) {
                 // Create an EGL surface for rendering into the VGImage.
                 backBufferSurface = eglCreatePbufferFromClientBuffer
-                    (QEglContext::display(), EGL_OPENVG_IMAGE,
+                    (QEgl::display(), EGL_OPENVG_IMAGE,
                      (EGLClientBuffer)(backBuffer),
                      context->config(), NULL);
                 if (backBufferSurface == EGL_NO_SURFACE) {
@@ -705,7 +696,7 @@
 #if defined(QVG_DIRECT_TO_WINDOW)
         // Did we get a direct to window rendering surface?
         EGLint buffer = 0;
-        if (eglQueryContext(QEglContext::display(), context->context(),
+        if (eglQueryContext(QEgl::display(), context->context(),
                             EGL_RENDER_BUFFER, &buffer) &&
                 buffer == EGL_SINGLE_BUFFER) {
             needToSwap = false;
@@ -719,7 +710,7 @@
     // Try to force the surface back buffer to preserve its contents.
     if (needToSwap) {
         eglGetError();  // Clear error state first.
-        eglSurfaceAttrib(QEglContext::display(), windowSurface,
+        eglSurfaceAttrib(QEgl::display(), windowSurface,
                 EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED);
         if (eglGetError() != EGL_SUCCESS) {
             qWarning("QVG: could not enable preserved swap");