Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_warp_transform_strategy.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_WARP_TRANSFORM_STRATEGY_H
8#define __KIS_WARP_TRANSFORM_STRATEGY_H
9
10#include <QObject>
11#include <QScopedPointer>
12
14
15class QPointF;
16class QPainter;
20class QCursor;
21class QImage;
22
28
30{
31 Q_OBJECT
32public:
34 KoSnapGuide *snapGuide,
35 ToolTransformArgs &currentArgs,
38
39 void setTransformFunction(const QPointF &mousePos, bool perspectiveModifierActive, bool shiftModifierActive, bool altModifierActive) override;
41
42 void paint(QPainter &gc) override;
43 QCursor getCurrentCursor() const override;
44
45 void externalConfigChanged() override;
46
50
51 bool beginPrimaryAction(const QPointF &pt) override;
52 void continuePrimaryAction(const QPointF &pt, bool shiftModifierActive, bool altModifierActive) override;
53 bool endPrimaryAction() override;
54
55 bool acceptsClicks() const override;
56
57private:
58 Q_PRIVATE_SLOT(m_d, void recalculateTransformations());
59
60Q_SIGNALS:
63
64protected:
65 // default is true
67
68 // default is false
70
72 bool drawOrigPoints,
73 bool drawTransfPoints);
74
75 virtual void drawConnectionLines(QPainter &gc,
76 const QVector<QPointF> &origPoints,
77 const QVector<QPointF> &transfPoints,
78 bool isEditingPoints);
79
80 virtual QImage calculateTransformedImage(ToolTransformArgs &currentArgs,
81 const QImage &srcImage,
82 const QVector<QPointF> &origPoints,
83 const QVector<QPointF> &transfPoints,
84 const QPointF &srcOffset,
85 QPointF *dstOffset);
86private:
87 struct Private;
88 const QScopedPointer<Private> m_d;
89};
90
91#endif /* __KIS_WARP_TRANSFORM_STRATEGY_H */
float value(const T *src, size_t ch)
virtual void continuePrimaryAction(KoPointerEvent *event)=0
virtual bool endPrimaryAction(KoPointerEvent *event)=0
virtual bool beginPrimaryAction(KoPointerEvent *event)=0
Q_PRIVATE_SLOT(m_d, void recalculateTransformations())
void continuePrimaryAction(const QPointF &pt, bool shiftModifierActive, bool altModifierActive) override
virtual void drawConnectionLines(QPainter &gc, const QVector< QPointF > &origPoints, const QVector< QPointF > &transfPoints, bool isEditingPoints)
void setTransformType(TransformType type)
KisWarpTransformStrategy(const KisCoordinatesConverter *converter, KoSnapGuide *snapGuide, ToolTransformArgs &currentArgs, TransformTransactionProperties &transaction)
virtual QImage calculateTransformedImage(ToolTransformArgs &currentArgs, const QImage &srcImage, const QVector< QPointF > &origPoints, const QVector< QPointF > &transfPoints, const QPointF &srcOffset, QPointF *dstOffset)
const QScopedPointer< Private > m_d
bool beginPrimaryAction(const QPointF &pt) override
void paint(QPainter &gc) override
void overrideDrawingItems(bool drawConnectionLines, bool drawOrigPoints, bool drawTransfPoints)
QCursor getCurrentCursor() const override
void setTransformFunction(const QPointF &mousePos, bool perspectiveModifierActive, bool shiftModifierActive, bool altModifierActive) override