SurfaceOpenVG::SurfaceOpenVG(EGLNativeWindowType window, const EGLDisplay& display, EGLConfig* confPtr) : m_activePainter(0) , m_eglDisplay(display) , m_eglSurface(EGL_NO_SURFACE) , m_eglContext(EGL_NO_CONTEXT) { ASSERT(m_eglDisplay != EGL_NO_DISPLAY); EGLDisplayOpenVG* displayManager = EGLDisplayOpenVG::forDisplay(m_eglDisplay); EGLConfig config = confPtr ? (*confPtr) : displayManager->defaultWindowConfig(); m_eglSurface = displayManager->surfaceForWindow(window, config); ASSERT(m_eglSurface != EGL_NO_SURFACE); m_eglContext = displayManager->contextForSurface(m_eglSurface); EGLDisplayOpenVG::registerPlatformSurface(this); }
SurfaceOpenVG::SurfaceOpenVG(EGLNativeWindowType window, const EGLDisplay& display, EGLConfig* confPtr) : m_activePainter(0) , m_eglDisplay(display) , m_eglSurface(EGL_NO_SURFACE) , m_eglContext(EGL_NO_CONTEXT) { ASSERT(m_eglDisplay != EGL_NO_DISPLAY); EGLDisplayOpenVG* displayManager = EGLDisplayOpenVG::forDisplay(m_eglDisplay); EGLConfig config = confPtr ? (*confPtr) : displayManager->defaultWindowConfig(); m_eglSurface = displayManager->surfaceForWindow(window, config); ASSERT(m_eglSurface != EGL_NO_SURFACE); // We can't really cache the size for window surfaces as they can // change size underneath us without any notification whatsoever. // So width() and height() will still query every time. m_eglContext = displayManager->contextForSurface(m_eglSurface); EGLDisplayOpenVG::registerPlatformSurface(this); }