Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgInlineSizeChangeStrategy.h
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
7#ifndef SVG_INLINE_SIZE_CHANGE_STRATEGY_H
8#define SVG_INLINE_SIZE_CHANGE_STRATEGY_H
9
11
12#include <QPointF>
13
14class KoSvgTextShape;
15
17{
18enum class VisualAnchor;
19enum class Side;
20} // namespace SvgInlineSizeHelper
21
22
24{
25public:
26 SvgInlineSizeChangeStrategy(KoToolBase *tool, KoSvgTextShape *shape, const QPointF &clicked, bool start);
27 ~SvgInlineSizeChangeStrategy() override = default;
28
29 void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override;
30 KUndo2Command *createCommand() override;
31 void cancelInteraction() override;
32 void finishInteraction(Qt::KeyboardModifiers modifiers) override;
33
34private:
38 QPointF m_dragStart;
42 QPointF m_finalPos;
44 QPointF m_snapDelta;
48};
49
50#endif /* SVG_INLINE_SIZE_CHANGE_STRATEGY_H */
SvgInlineSizeHelper::VisualAnchor m_anchor
void finishInteraction(Qt::KeyboardModifiers modifiers) override
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
SvgInlineSizeChangeStrategy(KoToolBase *tool, KoSvgTextShape *shape, const QPointF &clicked, bool start)
SvgInlineSizeHelper::Side m_handleSide
~SvgInlineSizeChangeStrategy() override=default