Skip to content
  • Martin Flöser's avatar
    Add a PlatformCursorImage to Platform and EffectsHandler · ea52ef9e
    Martin Flöser authored
    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
    ea52ef9e