// SPDX-FileCopyrightText: 2024 Luis Büchi // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include namespace KWin { class EffectTouchBorderState : public QObject { Q_OBJECT public: EffectTouchBorderState(Effect *parent); bool inProgress() const; void setInProgress(bool inProgress); QAction *activateAction() const { return m_activateAction.get(); } Q_SIGNALS: void inProgressChanged(); private: bool m_inProgress = false; std::unique_ptr m_activateAction; }; class EffectTouchBorder : public QObject { Q_OBJECT public: EffectTouchBorder(EffectTouchBorderState *state); ~EffectTouchBorder(); void setBorders(const QList &borders); Q_SIGNALS: void touchPositionChanged(qreal primaryPosition, qreal orthogonalPosition); private: QList m_touchBorderActivate; EffectTouchBorderState *m_state; }; }