QCursor: Associate cursor with screen.
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>
Mon, 5 Mar 2012 13:42:42 +0000 (14:42 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 7 Mar 2012 21:43:43 +0000 (22:43 +0100)
commitb319d44798fe4c5aa8b859966d64f28b08be28dd
treefc24d20ebff32b89f02e0390950fc33f38f7e972
parentb7915a4d0d97a60fc30e55eb4cc1b10e7fe9ce2f
QCursor: Associate cursor with screen.

- Introduce cursor() accessor to QPlatformScreen.
- Remove screen member of QPlatformCursor (a
  cursor can be shared by multiple screens
  of a virtual desktop).
- Add QCursor::pos()/ QCursor::setPos() taking
  a QScreen-parameter, use primaryScreen() for
  old overloads.  QCursor::pos() can then query
  the platform cursor for the position and return
  the position even if the mouse position is outside
  the windows owned by the Qt application.
- Fix tests

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Task-number: QTBUG-22457
Task-number: QTBUG-22565
Task-number: QTBUG-20753
Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
34 files changed:
src/gui/kernel/qcursor.cpp
src/gui/kernel/qcursor.h
src/gui/kernel/qcursor_qpa.cpp
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qplatformcursor_qpa.cpp
src/gui/kernel/qplatformcursor_qpa.h
src/gui/kernel/qplatformscreen_qpa.cpp
src/gui/kernel/qplatformscreen_qpa.h
src/plugins/platforms/cocoa/qcocoacursor.h
src/plugins/platforms/cocoa/qcocoacursor.mm
src/plugins/platforms/cocoa/qcocoaintegration.h
src/plugins/platforms/cocoa/qcocoaintegration.mm
src/plugins/platforms/directfb/qdirectfbcursor.cpp
src/plugins/platforms/directfb/qdirectfbcursor.h
src/plugins/platforms/directfb/qdirectfbscreen.h
src/plugins/platforms/kms/qkmscursor.cpp
src/plugins/platforms/kms/qkmsscreen.cpp
src/plugins/platforms/kms/qkmsscreen.h
src/plugins/platforms/windows/qwindowscursor.cpp
src/plugins/platforms/windows/qwindowscursor.h
src/plugins/platforms/windows/qwindowsscreen.cpp
src/plugins/platforms/windows/qwindowsscreen.h
src/plugins/platforms/windows/qwindowswindow.cpp
src/plugins/platforms/xcb/qxcbcursor.cpp
src/plugins/platforms/xcb/qxcbscreen.cpp
src/plugins/platforms/xcb/qxcbscreen.h
src/plugins/platforms/xlib/qxlibcursor.cpp
src/plugins/platforms/xlib/qxlibcursor.h
src/plugins/platforms/xlib/qxlibscreen.cpp
src/plugins/platforms/xlib/qxlibscreen.h
src/widgets/kernel/qwidget_qpa.cpp
tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
tests/auto/widgets/graphicsview/qgraphicswidget/tst_qgraphicswidget.cpp
tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp