Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_cage_transform_worker.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_CAGE_TRANSFORM_WORKER_H
8#define __KIS_CAGE_TRANSFORM_WORKER_H
9
10#include <QScopedPointer>
11#include <kritaimage_export.h>
12#include <kis_types.h>
13
14class QImage;
15
16class KRITAIMAGE_EXPORT KisCageTransformWorker
17{
18public:
19 KisCageTransformWorker(const QRect &deviceNonDefaultRegion,
20 const QVector<QPointF> &origCage,
21 KoUpdater *progress,
22 int pixelPrecision = 8);
23
24 KisCageTransformWorker(const QImage &srcImage,
25 const QPointF &srcImageOffset,
26 const QVector<QPointF> &origCage,
27 KoUpdater *progress,
28 int pixelPrecision = 8);
29
31
32 void prepareTransform();
33 void setTransformedCage(const QVector<QPointF> &transformedCage);
34 void run(KisPaintDeviceSP srcDevice, KisPaintDeviceSP dstDevice);
35
36 QRect approxChangeRect(const QRect &rc);
37 QRect approxNeedRect(const QRect &rc, const QRect &fullBounds);
38
39 QImage runOnQImage(QPointF *newOffset);
40
41private:
42 struct Private;
43 const QScopedPointer<Private> m_d;
44};
45
46#endif /* __KIS_CAGE_TRANSFORM_WORKER_H */
const QScopedPointer< Private > m_d