12#include <kwin_export.h> 
   25static const qreal DEFAULT_UNIT_SCALE_DELTA = .2; 
 
   34    explicit Gesture(QObject *parent);
 
 
  106    bool m_minimumFingerCountRelevant = 
false;
 
  107    uint m_minimumFingerCount = 0;
 
  108    bool m_maximumFingerCountRelevant = 
false;
 
  109    uint m_maximumFingerCount = 0;
 
  111    bool m_minimumXRelevant = 
false;
 
  113    bool m_minimumYRelevant = 
false;
 
  115    bool m_maximumXRelevant = 
false;
 
  117    bool m_maximumYRelevant = 
false;
 
  119    bool m_minimumDeltaRelevant = 
false;
 
  120    QPointF m_minimumDelta;
 
 
  161    bool m_minimumFingerCountRelevant = 
false;
 
  162    uint m_minimumFingerCount = 0;
 
  163    bool m_maximumFingerCountRelevant = 
false;
 
  164    uint m_maximumFingerCount = 0;
 
  166    bool m_minimumScaleDeltaRelevant = 
false;
 
  167    qreal m_minimumScaleDelta = DEFAULT_UNIT_SCALE_DELTA;
 
 
  182    int startSwipeGesture(uint fingerCount);
 
  183    int startSwipeGesture(
const QPointF &startPos);
 
  185    void updateSwipeGesture(
const QPointF &delta);
 
  186    void cancelSwipeGesture();
 
  187    void endSwipeGesture();
 
  189    int startPinchGesture(uint fingerCount);
 
  190    void updatePinchGesture(qreal scale, qreal angleDelta, 
const QPointF &posDelta);
 
  191    void cancelPinchGesture();
 
  192    void endPinchGesture();
 
  195    void cancelActiveGestures();
 
  196    enum class StartPositionBehavior {
 
  205    int startSwipeGesture(uint fingerCount, 
const QPointF &startPos, StartPositionBehavior startPosBehavior);
 
  206    QList<SwipeGesture *> m_swipeGestures;
 
  207    QList<PinchGesture *> m_pinchGestures;
 
  208    QList<SwipeGesture *> m_activeSwipeGestures;
 
  209    QList<PinchGesture *> m_activePinchGestures;
 
  210    QMap<Gesture *, QMetaObject::Connection> m_destroyConnections;
 
  212    QPointF m_currentDelta = QPointF(0, 0);
 
  213    qreal m_currentScale = 1; 
 
  214    uint m_currentFingerCount = 0;
 
  215    Axis m_currentSwipeAxis = Axis::None;
 
 
~GestureRecognizer() override
void setMinimumScaleDelta(const qreal &scaleDelta)
void setDirection(PinchDirection direction)
uint minimumFingerCount() const
PinchGesture(QObject *parent=nullptr)
bool minimumScaleDeltaReached(const qreal &scaleDelta) const
bool minimumFingerCountIsRelevant() const
bool isMinimumScaleDeltaRelevant() const
PinchDirection direction() const
void setMinimumFingerCount(uint count)
bool maximumFingerCountIsRelevant() const
qreal scaleDeltaToProgress(const qreal &scaleDelta) const
void setMaximumFingerCount(uint count)
uint maximumFingerCount() const
qreal minimumScaleDelta() const
void setDirection(SwipeDirection direction)
SwipeDirection direction() const
qreal deltaToProgress(const QPointF &delta) const
bool maximumFingerCountIsRelevant() const
bool isMinimumDeltaRelevant() const
bool maximumYIsRelevant() const
uint minimumFingerCount() const
QPointF minimumDelta() const
bool maximumXIsRelevant() const
uint maximumFingerCount() const
SwipeGesture(QObject *parent=nullptr)
void setMinimumFingerCount(uint count)
void setMinimumDelta(const QPointF &delta)
bool minimumDeltaReached(const QPointF &delta) const
void setMaximumFingerCount(uint count)
bool minimumYIsRelevant() const
void setStartGeometry(const QRect &geometry)
bool minimumFingerCountIsRelevant() const
bool minimumXIsRelevant() const
void deltaProgress(const QPointF &delta)
SwipeDirection
Directions for swipe gestures.