51    void updateAfterScreenChange();
 
   52    bool supportsWarping() 
const;
 
   53    void warp(
const QPointF &pos);
 
   63    bool areButtonsPressed() 
const;
 
   65    void setEffectsOverrideCursor(Qt::CursorShape shape);
 
   66    void removeEffectsOverrideCursor();
 
   67    void setWindowSelectionCursor(
const QByteArray &shape);
 
   68    void removeWindowSelectionCursor();
 
   70    void updatePointerConstraints();
 
   72    void setEnableConstraints(
bool set);
 
   76        return m_confined || m_locked;
 
 
   79    bool focusUpdatesBlocked() 
override;
 
   84    void processMotionAbsolute(
const QPointF &pos, std::chrono::microseconds time, 
InputDevice *device = 
nullptr);
 
   88    void processMotion(
const QPointF &delta, 
const QPointF &deltaNonAccelerated, std::chrono::microseconds time, 
InputDevice *device);
 
  100    void processSwipeGestureBegin(
int fingerCount, std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  104    void processSwipeGestureUpdate(
const QPointF &delta, std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  108    void processSwipeGestureEnd(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  112    void processSwipeGestureCancelled(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  116    void processPinchGestureBegin(
int fingerCount, std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  120    void processPinchGestureUpdate(qreal scale, qreal angleDelta, 
const QPointF &delta, std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  124    void processPinchGestureEnd(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  128    void processPinchGestureCancelled(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  132    void processHoldGestureBegin(
int fingerCount, std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  136    void processHoldGestureEnd(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  140    void processHoldGestureCancelled(std::chrono::microseconds time, 
KWin::InputDevice *device = 
nullptr);
 
  147    void processMotionInternal(
const QPointF &pos, 
const QPointF &delta, 
const QPointF &deltaNonAccelerated, std::chrono::microseconds time, 
InputDevice *device);
 
  150    void focusUpdate(
Window *focusOld, 
Window *focusNow) 
override;
 
  152    QPointF position() 
const override;
 
  154    void updateOnStartMoveResize();
 
  155    void updateToReset();
 
  156    void updatePosition(
const QPointF &pos);
 
  158    QPointF applyPointerConfinement(
const QPointF &pos) 
const;
 
  159    void disconnectConfinedPointerRegionConnection();
 
  160    void disconnectLockedPointerAboutToBeUnboundConnection();
 
  161    void disconnectPointerConstraintsConnection();
 
  165    QHash<uint32_t, InputRedirection::PointerButtonState> m_buttons;
 
  166    Qt::MouseButtons m_qtButtons;
 
  167    QMetaObject::Connection m_focusGeometryConnection;
 
  168    QMetaObject::Connection m_constraintsConnection;
 
  169    QMetaObject::Connection m_constraintsActivatedConnection;
 
  170    QMetaObject::Connection m_confinedPointerRegionConnection;
 
  171    QMetaObject::Connection m_lockedPointerAboutToBeUnboundConnection;
 
  172    QMetaObject::Connection m_decorationGeometryConnection;
 
  173    QMetaObject::Connection m_decorationDestroyedConnection;
 
  174    QMetaObject::Connection m_decorationClosedConnection;
 
  175    bool m_confined = 
false;
 
  176    bool m_locked = 
false;
 
  177    bool m_enableConstraints = 
true;
 
  178    bool m_lastOutputWasPlaceholder = 
true;
 
 
  222    void reevaluteSource();
 
  223    void updateServerCursor(
const std::variant<PointerSurfaceCursor *, QByteArray> &
cursor);
 
  224    void updateDecoration();
 
  225    void updateDecorationCursor();
 
  226    void updateMoveResize();
 
  228    void handleFocusedSurfaceChanged();
 
  234    std::unique_ptr<ShapeCursorSource> m_effectsCursor;
 
  235    std::unique_ptr<ShapeCursorSource> m_fallbackCursor;
 
  236    std::unique_ptr<ShapeCursorSource> m_moveResizeCursor;
 
  237    std::unique_ptr<ShapeCursorSource> m_windowSelectionCursor;
 
  241        std::unique_ptr<ShapeCursorSource> 
cursor;
 
  248        std::unique_ptr<ShapeCursorSource> 
shape;