kwin/plugins/platforms/drm
Martin Flöser 4bfeeb3084 [platforms/drm] Fix cursor hotspot for inverted landscape rotation
Summary:
This change fixes the hotspot calculation by introducing a dedicated
matrix to map the hotspot.

To better test the hotspot a small test application is added. The app
renders a red point at the cursor position and uses a cross for cursor
with the hotspot position being transparent. So if KWin renders the
cursor at the correct position a red point is visible in the center of
the cross. The test app supports several cursor hotspot positions:
 * center (default)
 * top left
 * top right
 * bottom right
 * bottom left

To switch between the variants press the space key.

Test Plan:
Rotated screen, used test app to verify the hotspot is
correct. Also scaled display, still correct

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D8668
2017-11-06 16:48:44 +01:00
..
CMakeLists.txt Merge branch 'Plasma/5.11' 2017-10-09 21:04:41 +02:00
drm.json SVN_SILENT made messages (.desktop file) - always resolve ours 2017-08-30 08:05:15 +02:00
drm_backend.cpp [platforms/drm] Move cursor dumb buffers to Output 2017-11-06 16:48:02 +01:00
drm_backend.h [platforms/drm] Move cursor dumb buffers to Output 2017-11-06 16:48:02 +01:00
drm_buffer.cpp [DRM plugin] Reorganize DrmBuffer 2017-05-09 21:00:33 +02:00
drm_buffer.h [DRM plugin] Reorganize DrmBuffer 2017-05-09 21:00:33 +02:00
drm_buffer_gbm.cpp [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
drm_buffer_gbm.h [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
drm_inputeventfilter.cpp Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
drm_inputeventfilter.h Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
drm_object.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_connector.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_connector.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_crtc.cpp [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_crtc.h [DRM plugin] Correct Atomic Mode Setting 2017-05-09 21:29:10 +02:00
drm_object_plane.cpp [platforms/drm] Restore previous mode if an atomic test fails 2017-11-05 09:21:24 +01:00
drm_object_plane.h [platforms/drm] Restore previous mode if an atomic test fails 2017-11-05 09:21:24 +01:00
drm_output.cpp [platforms/drm] Fix cursor hotspot for inverted landscape rotation 2017-11-06 16:48:44 +01:00
drm_output.h [platforms/drm] Move cursor dumb buffers to Output 2017-11-06 16:48:02 +01:00
drm_pointer.h Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
egl_gbm_backend.cpp [platforms/drm] Fix typo in cleanup of eglSurface 2017-10-31 17:05:26 +01:00
egl_gbm_backend.h [drm] Implement changing of modes 2017-10-31 12:45:38 +01:00
gbm_surface.cpp [platforms/drm] Use a shared pointer for gbm_surface 2017-10-05 21:32:46 +02:00
gbm_surface.h Fix DRM EGL crash regression 2017-10-12 10:12:24 +02:00
logging.cpp Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
logging.h Move backends/ to plugins/platforms/ 2016-04-12 08:01:27 +02:00
scene_qpainter_drm_backend.cpp [drm] Implement changing of modes 2017-10-31 12:45:38 +01:00
scene_qpainter_drm_backend.h Move QPainter compositor into plugin 2017-09-01 17:44:49 +02:00
screens_drm.cpp Add physicalSize to the Screens API 2017-10-19 18:02:32 +02:00
screens_drm.h Add physicalSize to the Screens API 2017-10-19 18:02:32 +02:00