Krita Source Code Documentation
Loading...
Searching...
No Matches
KoInteractionStrategy.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2
3 SPDX-FileCopyrightText: 2006 Thorsten Zachmann <zachmann@kde.org>
4 SPDX-FileCopyrightText: 2006-2007, 2009 Thomas Zander <zander@kde.org>
5 SPDX-FileCopyrightText: 2011 Jan Hambrecht <jaham@gmx.net>
6
7 SPDX-License-Identifier: LGPL-2.0-or-later
8*/
9
10#ifndef KOINTERACTIONSTRATEGY_H
11#define KOINTERACTIONSTRATEGY_H
12
13#include "kritaflake_export.h"
14
15#include <Qt>
16
17class KoPointerEvent;
18class KoViewConverter;
20class KoToolBase;
21class KUndo2Command;
22class QPointF;
23class QPainter;
24
37class KRITAFLAKE_EXPORT KoInteractionStrategy
38{
39public:
41 explicit KoInteractionStrategy(KoToolBase *parent);
43 virtual ~KoInteractionStrategy();
44
49 virtual void paint(QPainter &painter, const KoViewConverter &converter);
56 virtual void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) = 0;
57
68 virtual void cancelInteraction();
72 virtual void finishInteraction(Qt::KeyboardModifiers modifiers) = 0;
73
74 KoToolBase *tool() const;
75
76protected:
79
81
83 uint handleRadius() const;
84
85 uint decorationThickness() const;
86
88 uint grabSensitivity() const;
89
90private:
91 Q_DECLARE_PRIVATE(KoInteractionStrategy)
92};
93
94#endif
unsigned int uint
virtual void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers)=0
KoInteractionStrategyPrivate * d_ptr
virtual KUndo2Command * createCommand()=0
virtual void finishInteraction(Qt::KeyboardModifiers modifiers)=0