Krita Source Code Documentation
Loading...
Searching...
No Matches
ShapeResizeStrategy.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 SHAPERESIZESTRATEGY_H
8#define SHAPERESIZESTRATEGY_H
9
11#include <KoFlake.h>
12
13#include <QScopedPointer>
14#include <QPointF>
15#include <QList>
16#include <QTransform>
17
18class KoToolBase;
19class KoShape;
21class KoSelection;
22
29{
30public:
34 ShapeResizeStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked, KoFlake::SelectionHandle direction, bool forceUniformScalingMode);
35 ~ShapeResizeStrategy() override;
36
37 void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override;
38 KUndo2Command *createCommand() override;
39 void finishInteraction(Qt::KeyboardModifiers modifiers) override;
40 void paint(QPainter &painter, const KoViewConverter &converter) override;
41private:
42 void resizeBy(const QPointF &stillPoint, qreal zoomX, qreal zoomY);
43
44 QPointF m_start;
46
49 QTransform m_unwindMatrix;
50 bool m_top {false};
51 bool m_left{false};
52 bool m_bottom {false};
53 bool m_right {false};
54
57 QScopedPointer<KoShapeResizeCommand> m_executedCommand;
58
60};
61
62#endif
63
KUndo2Command * createCommand() override
QList< KoShape * > m_selectedShapes
void finishInteraction(Qt::KeyboardModifiers modifiers) override
void resizeBy(const QPointF &stillPoint, qreal zoomX, qreal zoomY)
void paint(QPainter &painter, const KoViewConverter &converter) override
QTransform m_postScalingCoveringTransform
QScopedPointer< KoShapeResizeCommand > m_executedCommand
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
ShapeResizeStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked, KoFlake::SelectionHandle direction, bool forceUniformScalingMode)
SelectionHandle
Enum determining which handle is meant, used in KoInteractionTool.
Definition KoFlake.h:55