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;
25
38class KRITAFLAKE_EXPORT KoInteractionStrategy
39{
40public:
42 explicit KoInteractionStrategy(KoToolBase *parent);
44 virtual ~KoInteractionStrategy();
45
50 virtual void paint(QPainter &painter, const KoViewConverter &converter, const KoColorDisplayRendererInterface *displayRendererInterface);
57 virtual void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) = 0;
58
69 virtual void cancelInteraction();
73 virtual void finishInteraction(Qt::KeyboardModifiers modifiers) = 0;
74
75 KoToolBase *tool() const;
76
77protected:
80
82
84 uint handleRadius() const;
85
86 uint decorationThickness() const;
87
89 uint grabSensitivity() const;
90
91private:
92 Q_DECLARE_PRIVATE(KoInteractionStrategy)
93};
94
95#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