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
18#include <memory>
19
20class KoToolBase;
21class KoShape;
23class KoSelection;
24
31{
32public:
36 ShapeResizeStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked, KoFlake::SelectionHandle direction, bool forceUniformScalingMode);
37 ~ShapeResizeStrategy() override;
38
39 void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override;
40 KUndo2Command *createCommand() override;
41 void finishInteraction(Qt::KeyboardModifiers modifiers) override;
42 void paint(QPainter &painter, const KoViewConverter &converter, const KoColorDisplayRendererInterface *displayRendererInterface) override;
43private:
44 void resizeBy(const QPointF &stillPoint, qreal zoomX, qreal zoomY);
45
46 QPointF m_start;
48
51 QTransform m_unwindMatrix;
52 bool m_top {false};
53 bool m_left{false};
54 bool m_bottom {false};
55 bool m_right {false};
56
59 std::unique_ptr<KoShapeResizeCommand> m_executedCommand;
60
62};
63
64#endif
65
KUndo2Command * createCommand() override
QList< KoShape * > m_selectedShapes
void paint(QPainter &painter, const KoViewConverter &converter, const KoColorDisplayRendererInterface *displayRendererInterface) override
void finishInteraction(Qt::KeyboardModifiers modifiers) override
void resizeBy(const QPointF &stillPoint, qreal zoomX, qreal zoomY)
QTransform m_postScalingCoveringTransform
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
std::unique_ptr< KoShapeResizeCommand > m_executedCommand
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