Added workable QScreen API on top of QPlatformScreen.
authorSamuel Rødal <samuel.rodal@nokia.com>
Thu, 21 Jul 2011 11:50:28 +0000 (13:50 +0200)
committerJørgen Lind <jorgen.lind@nokia.com>
Mon, 25 Jul 2011 11:52:09 +0000 (13:52 +0200)
commitc3da77798b876716ce038a30e9aa8517ec158c47
tree99ac6cf5ce37fcb626a12857bb18cf9b444b27f2
parente80b6619524a3720efb5fbe4c2307bec25a12ab8
Added workable QScreen API on top of QPlatformScreen.

QPlatformIntegration::screens() no longer has to be implemented,
implementations should call QPlatformIntegration::screenAdded() for each
screen instead. This is for being able to support adding screens at
run-time later on, by connecting it to a signal in QGuiApplication.

The QGuiGLContext API has changed a bit, by not sending in all the
parameters in the constructor but instead having a create() function.
The createPlatformGLContext() factory in QPlatformIntegration takes a
QGuiGLContext * instead of a QSurfaceFormat and a share context, similar
to how the window and backing store factory functions work.

The XCB plugin has experimental support for connecting to multiple X
displays simultaneously, creating one or more QScreen for each.

Change-Id: I248a22a4fd3481280710110272c04a30a8021e8f
Reviewed-on: http://codereview.qt.nokia.com/2103
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
50 files changed:
examples/opengl/hellowindow/hellowindow.cpp
examples/qpa/windows/main.cpp
examples/qpa/windows/window.cpp
examples/qpa/windows/window.h
src/gui/image/qbitmap.cpp
src/gui/image/qnativeimage.cpp
src/gui/image/qpixmap_blitter.cpp
src/gui/image/qpixmap_qpa.cpp
src/gui/kernel/kernel.pri
src/gui/kernel/qdnd_p.h
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qguiapplication.h
src/gui/kernel/qguiapplication_p.h
src/gui/kernel/qguiglcontext_qpa.cpp
src/gui/kernel/qguiglcontext_qpa.h
src/gui/kernel/qplatformintegration_qpa.cpp
src/gui/kernel/qplatformintegration_qpa.h
src/gui/kernel/qplatformscreen_qpa.cpp
src/gui/kernel/qplatformscreen_qpa.h
src/gui/kernel/qscreen.h [new file with mode: 0644]
src/gui/kernel/qwindow.cpp
src/gui/kernel/qwindow.h
src/gui/kernel/qwindow_p.h
src/gui/painting/qbackingstore.cpp
src/gui/painting/qcolormap_qpa.cpp
src/gui/text/qfont.cpp
src/opengl/qgl_qpa.cpp
src/platformsupport/eventdispatchers/qeventdispatcher_qpa.cpp
src/plugins/platforms/cocoa/qcocoaintegration.h
src/plugins/platforms/cocoa/qcocoaintegration.mm
src/plugins/platforms/minimal/qminimalbackingstore.cpp
src/plugins/platforms/minimal/qminimalintegration.cpp
src/plugins/platforms/minimal/qminimalintegration.h
src/plugins/platforms/wayland/qwaylandintegration.cpp
src/plugins/platforms/wayland/qwaylandintegration.h
src/plugins/platforms/wayland/qwaylandnativeinterface.cpp
src/plugins/platforms/wayland/qwaylandscreen.cpp
src/plugins/platforms/xcb/main.cpp
src/plugins/platforms/xcb/qxcbbackingstore.cpp
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbintegration.cpp
src/plugins/platforms/xcb/qxcbintegration.h
src/plugins/platforms/xcb/qxcbnativeinterface.cpp
src/plugins/platforms/xcb/qxcbscreen.cpp
src/plugins/platforms/xcb/qxcbscreen.h
src/plugins/platforms/xcb/qxcbwindow.cpp
src/widgets/kernel/qapplication_qpa.cpp
src/widgets/kernel/qdesktopwidget_qpa.cpp
src/widgets/kernel/qwidget.cpp
src/widgets/kernel/qwidget_qpa.cpp