QWindowContext / QWindowFormat refactor.
authorSamuel Rødal <samuel.rodal@nokia.com>
Tue, 7 Jun 2011 15:25:22 +0000 (17:25 +0200)
committerSamuel Rødal <samuel.rodal@nokia.com>
Fri, 10 Jun 2011 07:24:56 +0000 (09:24 +0200)
commit4a189c188ccd2fb5f8d1d5ddadf06cbd6bc0916f
tree99bff9f015e869b5521836ea5667590939b22a53
parent4d10e64f2a78e32418a98e1c80c6579ae0779dfc
QWindowContext / QWindowFormat refactor.

To enable having a single GL context used for multiple drawables we need
to de-couple the context class a bit more from the window class in the
plugin API. Now contexts are created stand-alone based on a GL format
and a share context, and when calling makeCurrent() a desired surface
is specified. This maps well to GLX, EGL, Cocoa, AGL, and WGL, which all
support this use case.

QWindowContext is renamed to QGuiGLContext, and QWindowFormat is renamed
to QGuiGLFormat. We have the ability to introduce a pbuffer or similar
other offscreen GL drawable abstraction in the future.
77 files changed:
examples/opengl/hellowindow/hellowindow.cpp
examples/opengl/hellowindow/hellowindow.h
examples/opengl/hellowindow/main.cpp
src/corelib/kernel/qcoreapplication.cpp
src/corelib/kernel/qcoreapplication_p.h
src/gui/kernel/kernel.pri
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qguiglcontext_qpa.cpp [new file with mode: 0644]
src/gui/kernel/qguiglcontext_qpa.h [moved from src/gui/kernel/qwindowcontext_qpa.h with 77% similarity]
src/gui/kernel/qguiglformat_qpa.cpp [moved from src/gui/kernel/qwindowformat_qpa.cpp with 67% similarity]
src/gui/kernel/qguiglformat_qpa.h [moved from src/gui/kernel/qwindowformat_qpa.h with 68% similarity]
src/gui/kernel/qplatformglcontext_qpa.h
src/gui/kernel/qplatformintegration_qpa.cpp
src/gui/kernel/qplatformintegration_qpa.h
src/gui/kernel/qplatformwindow_qpa.cpp
src/gui/kernel/qplatformwindow_qpa.h
src/gui/kernel/qwindow.cpp
src/gui/kernel/qwindow.h
src/gui/kernel/qwindow_p.h
src/gui/kernel/qwindowcontext_qpa.cpp [deleted file]
src/gui/painting/qwindowsurface_p.h
src/opengl/qgl.cpp
src/opengl/qgl.h
src/opengl/qgl_p.h
src/opengl/qgl_qpa.cpp
src/plugins/platforms/cocoa/qcocoaglcontext.h
src/plugins/platforms/cocoa/qcocoaglcontext.mm
src/plugins/platforms/cocoa/qcocoaintegration.h
src/plugins/platforms/cocoa/qcocoaintegration.mm
src/plugins/platforms/cocoa/qcocoanativeinterface.mm
src/plugins/platforms/cocoa/qcocoawindow.h
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/cocoa/qnswindowdelegate.h
src/plugins/platforms/cocoa/qnswindowdelegate.mm
src/plugins/platforms/eglconvenience/qeglconvenience.cpp
src/plugins/platforms/eglconvenience/qeglconvenience.h
src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp
src/plugins/platforms/eglconvenience/qeglplatformcontext.h
src/plugins/platforms/glxconvenience/qglxconvenience.cpp
src/plugins/platforms/glxconvenience/qglxconvenience.h
src/plugins/platforms/wayland/gl_integration/qwaylandglintegration.h
src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.cpp
src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.h
src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglintegration.cpp
src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglintegration.h
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxcontext.cpp
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxcontext.h
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxintegration.cpp
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxintegration.h
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxwindow.cpp
src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxwindow.h
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.h
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglintegration.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglintegration.h
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h
src/plugins/platforms/wayland/gl_integration/xcomposite_egl/xcomposite_egl.pri
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxcontext.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxcontext.h
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxintegration.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxintegration.h
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxwindow.cpp
src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxwindow.h
src/plugins/platforms/wayland/qwaylandintegration.cpp
src/plugins/platforms/wayland/qwaylandintegration.h
src/plugins/platforms/wayland/qwaylandshmwindow.cpp
src/plugins/platforms/wayland/qwaylandshmwindow.h
src/plugins/platforms/xcb/qglxintegration.cpp
src/plugins/platforms/xcb/qglxintegration.h
src/plugins/platforms/xcb/qxcbintegration.cpp
src/plugins/platforms/xcb/qxcbintegration.h
src/plugins/platforms/xcb/qxcbnativeinterface.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/plugins/platforms/xcb/qxcbwindow.h
src/widgets/kernel/qwidget.h
src/widgets/kernel/qwidget_qpa.cpp