Krita Source Code Documentation
Loading...
Searching...
No Matches
ShapeShearStrategy.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2006-2007 Thomas Zander <zander@kde.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef SHAPESHEARSTRATEGY_H
8#define SHAPESHEARSTRATEGY_H
9
11#include <KoFlake.h>
12
13#include <QPointF>
14#include <QSizeF>
15#include <QTransform>
16
17class KoToolBase;
18class KoShape;
19class KoSelection;
20
27{
28public:
35 ShapeShearStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked, KoFlake::SelectionHandle direction);
36 ~ShapeShearStrategy() override {}
37
38 void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override;
39 KUndo2Command *createCommand() override;
40 void finishInteraction(Qt::KeyboardModifiers modifiers) override
41 {
42 Q_UNUSED(modifiers);
43 }
44 void paint(QPainter &painter, const KoViewConverter &converter) override;
45
46private:
47 QPointF m_start;
48 QPointF m_solidPoint;
50 bool m_top {false};
51 bool m_left {false};
52 bool m_bottom {false};
53 bool m_right {false};
55 QTransform m_shearMatrix;
56 bool m_isMirrored {false};
59};
60
61#endif
62
ShapeShearStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked, KoFlake::SelectionHandle direction)
QList< KoShape * > m_transformedShapesAndSelection
KUndo2Command * createCommand() override
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
QList< QTransform > m_oldTransforms
void paint(QPainter &painter, const KoViewConverter &converter) override
void finishInteraction(Qt::KeyboardModifiers modifiers) override
SelectionHandle
Enum determining which handle is meant, used in KoInteractionTool.
Definition KoFlake.h:55