diff -r b72c6db6890b -r 5dc02b23752f src/openvg/qwindowsurface_vgegl.cpp --- 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");