Krita Source Code Documentation
Loading...
Searching...
No Matches
KisCanvasNavigationActionStrategy.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2026 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISCANVASNAVIGATIONACTIONSTRATEGY_H
8#define KISCANVASNAVIGATIONACTIONSTRATEGY_H
9
10#include <QtGlobal>
11#include <QFlags>
12
13class QEvent;
14
16{
17public:
18 enum Flag {
19 None = 0x0,
25 };
26 Q_DECLARE_FLAGS(Flags, Flag)
27
28public:
31
32 virtual bool supportsEvent(QEvent* event) const = 0;
33 virtual void inputEvent(QEvent* event) = 0;
34
35 Flags flags() const;
36
37public:
39 qreal previousAngle {0.0};
41 qreal accumRotationAngle {0.0};
42 };
43
44 static qreal canvasRotationAngleContinuous(qreal currentRotationOffset, qreal currectCanvasRotation, SnappedRotationData &data);
45 static qreal canvasRotationAngleDescrete(qreal currentRotationOffset, SnappedRotationData &data);
46private:
47 Flags m_flags {None};
48};
49
50Q_DECLARE_OPERATORS_FOR_FLAGS(KisCanvasNavigationActionStrategy::Flags);
51
52#endif // KISCANVASNAVIGATIONACTIONSTRATEGY_H
Q_DECLARE_OPERATORS_FOR_FLAGS(KisCanvasNavigationActionStrategy::Flags)
Q_DECLARE_FLAGS(KisUpdaterContextSnapshotEx, KisUpdaterContextSnapshotExTag)
static qreal canvasRotationAngleContinuous(qreal currentRotationOffset, qreal currectCanvasRotation, SnappedRotationData &data)
virtual bool supportsEvent(QEvent *event) const =0
static qreal canvasRotationAngleDescrete(qreal currentRotationOffset, SnappedRotationData &data)
virtual ~KisCanvasNavigationActionStrategy()=default
virtual void inputEvent(QEvent *event)=0