File indexing completed on 2024-05-12 15:58:40
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_SAFE_TRANSFORM_H 0008 #define __KIS_SAFE_TRANSFORM_H 0009 0010 #include <QScopedPointer> 0011 0012 #include "kritaimage_export.h" 0013 0014 class QTransform; 0015 class QRect; 0016 class QRectF; 0017 class QPolygonF; 0018 0019 0020 class KRITAIMAGE_EXPORT KisSafeTransform 0021 { 0022 public: 0023 KisSafeTransform(const QTransform &transform, 0024 const QRect &bounds, 0025 const QRect &srcInterestRect); 0026 0027 ~KisSafeTransform(); 0028 0029 QPolygonF srcClipPolygon() const; 0030 QPolygonF dstClipPolygon() const; 0031 0032 QPolygonF mapForward(const QPolygonF &p); 0033 QPolygonF mapBackward(const QPolygonF &p); 0034 0035 QRectF mapRectForward(const QRectF &rc); 0036 QRectF mapRectBackward(const QRectF &rc); 0037 0038 QRect mapRectForward(const QRect &rc); 0039 QRect mapRectBackward(const QRect &rc); 0040 0041 private: 0042 struct Private; 0043 const QScopedPointer<Private> m_d; 0044 }; 0045 0046 #endif /* __KIS_SAFE_TRANSFORM_H */