Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_simplified_action_policy_strategy.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_SIMPLIFIED_ACTION_POLICY_STRATEGY_H
8#define __KIS_SIMPLIFIED_ACTION_POLICY_STRATEGY_H
9
10#include <QScopedPointer>
11
13
14
15class KoPointerEvent;
17class KoSnapGuide;
18
20{
21public:
24
25 void activatePrimaryAction() override;
26
27 bool beginPrimaryAction(KoPointerEvent *event) override;
28 void continuePrimaryAction(KoPointerEvent *event) override;
29 bool endPrimaryAction(KoPointerEvent *event) override;
30 void hoverActionCommon(KoPointerEvent *event) override;
31
32 virtual QPointF handleSnapPoint(const QPointF &imagePos);
33
36
40
41private:
42 QPointF snapDocPoint(const QPointF &point, Qt::KeyboardModifiers modifiers) const;
43
44protected:
45
46 virtual void setTransformFunction(const QPointF &mousePos, bool perspectiveModifierActive, bool shiftModifierActive, bool altModifierActive) = 0;
47 virtual bool shiftModifierIsUsed() const;
48
49 virtual bool beginPrimaryAction(const QPointF &pt) = 0;
50 virtual void continuePrimaryAction(const QPointF &pt, bool shiftModifierActive, bool altModifierActive) = 0;
51 virtual bool endPrimaryAction() = 0;
52 virtual void hoverActionCommon(const QPointF &pt);
53
54private:
55 struct Private;
56 const QScopedPointer<Private> m_d;
57};
58
59#endif /* __KIS_SIMPLIFIED_ACTION_POLICY_STRATEGY_H */
void deactivateAlternateAction(KisTool::AlternateAction action) override
void continueAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action) override
virtual void continuePrimaryAction(const QPointF &pt, bool shiftModifierActive, bool altModifierActive)=0
virtual void setTransformFunction(const QPointF &mousePos, bool perspectiveModifierActive, bool shiftModifierActive, bool altModifierActive)=0
virtual QPointF handleSnapPoint(const QPointF &imagePos)
bool beginPrimaryAction(KoPointerEvent *event) override
void activateAlternateAction(KisTool::AlternateAction action) override
bool beginAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action) override
bool endAlternateAction(KoPointerEvent *event, KisTool::AlternateAction action) override
void continuePrimaryAction(KoPointerEvent *event) override
virtual bool beginPrimaryAction(const QPointF &pt)=0
void hoverActionCommon(KoPointerEvent *event) override
QPointF snapDocPoint(const QPointF &point, Qt::KeyboardModifiers modifiers) const
KisSimplifiedActionPolicyStrategy(const KisCoordinatesConverter *_converter, KoSnapGuide *snapGuide=0)
AlternateAction
Definition kis_tool.h:134