Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgMoveTextStrategy.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2023 Alvin Wong <alvin@alvinhc.com>
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
9
10#include "KoSvgText.h"
11#include "KoSvgTextShape.h"
12
13#include "KoCanvasBase.h"
14#include "KoSnapGuide.h"
15#include "KoToolBase.h"
16#include "kis_algebra_2d.h"
17
20 , m_shape(shape)
21 , m_dragStart(clicked)
22 , m_initialPosition(shape->absolutePosition())
23 , m_finalPosition(m_initialPosition)
24 , m_anchorOffset(m_shape->absoluteTransformation().map(QPointF()) - m_initialPosition)
25{
27}
28
29void SvgMoveTextStrategy::handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers)
30{
31 const QPointF delta = mouseLocation - m_dragStart;
32
33 if (modifiers & Qt::ShiftModifier) {
35 } else {
38 }
39
42}
43
52
58
59void SvgMoveTextStrategy::finishInteraction(Qt::KeyboardModifiers /*modifiers*/)
60{
61}
KoSnapGuide * snapGuide
static QList< KoShape * > linearizeSubtree(const QList< KoShape * > &shapes)
Definition KoShape.cpp:1381
void reset()
Resets the snap guide.
QPointF snap(const QPointF &mousePosition, Qt::KeyboardModifiers modifiers)
snaps the mouse position, returns if mouse was snapped
void setIgnoredShapes(const QList< KoShape * > &ignoredShapes)
Sets list of ignored shapes.
KoCanvasBase * canvas() const
Returns the canvas the tool is working on.
virtual void repaintDecorations()
SvgMoveTextStrategy(KoToolBase *tool, KoSvgTextShape *shape, const QPointF &clicked)
KUndo2Command * createCommand() override
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
KoSvgTextShape * m_shape
void cancelInteraction() override
void finishInteraction(Qt::KeyboardModifiers modifiers) override
PointType snapToClosestAxis(PointType P)
Definition kis_global.h:199
bool fuzzyPointCompare(const QPointF &p1, const QPointF &p2)