ea52ef9e57
Summary: There are several effects (screenshot, zoom) which need access to the cursor image and cursor hotspot. So far these effects used X11 unconditionally to get the cursor which obviously does not work on Wayland. This change adds a new class PlatformCursorImage to kwinglobals which wraps what a cursor is (image and hotspot) and adds a new virtual method to Platform to provide such a PlatformCursorImage. By default it's the cursor image the Platform tracks. On X11/standalone platform this new virtual method is overriden and provides a PlatformCursorImage from X11 using the code previously used in screenshot effect. Screenshot effect and zoom are adjusted to use the new API instead of X11. Test Plan: Zoom effect tested on Wayland, now gets the proper cursor icon. X11 functionality not yet tested. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D3093 |
||
---|---|---|
.. | ||
integration | ||
libinput | ||
libkwineffects | ||
libxrenderutils | ||
tabbox | ||
abstract_client.h | ||
client.h | ||
CMakeLists.txt | ||
fakeeffectplugin.cpp | ||
fakeeffectplugin.json | ||
fakeeffectplugin_version.cpp | ||
fakeeffectplugin_version.json | ||
mock_abstract_client.cpp | ||
mock_abstract_client.h | ||
mock_client.cpp | ||
mock_client.h | ||
mock_effectshandler.cpp | ||
mock_effectshandler.h | ||
mock_screens.cpp | ||
mock_screens.h | ||
mock_workspace.cpp | ||
mock_workspace.h | ||
test_builtin_effectloader.cpp | ||
test_client_machine.cpp | ||
test_plugin_effectloader.cpp | ||
test_screen_edges.cpp | ||
test_screen_paint_data.cpp | ||
test_screens.cpp | ||
test_scripted_effectloader.cpp | ||
test_virtual_desktops.cpp | ||
test_window_paint_data.cpp | ||
test_xcb_size_hints.cpp | ||
test_xcb_window.cpp | ||
test_xcb_wrapper.cpp | ||
test_xrandr_screens.cpp | ||
testutils.h | ||
workspace.h |