File indexing completed on 2024-06-23 04:28:26
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_LIQUIFY_PAINT_HELPER_H 0008 #define __KIS_LIQUIFY_PAINT_HELPER_H 0009 0010 #include <QScopedPointer> 0011 0012 class KisLiquifyTransformWorker; 0013 class KisCoordinatesConverter; 0014 class KoPointerEvent; 0015 class KisLiquifyProperties; 0016 class QPainterPath; 0017 class KoCanvasResourceProvider; 0018 0019 class KisLiquifyPaintHelper 0020 { 0021 public: 0022 KisLiquifyPaintHelper(const KisCoordinatesConverter *converter); 0023 ~KisLiquifyPaintHelper(); 0024 0025 void configurePaintOp(const KisLiquifyProperties &_props, 0026 KisLiquifyTransformWorker *worker); 0027 0028 void startPaint(KoPointerEvent *event, const KoCanvasResourceProvider *manager); 0029 void continuePaint(KoPointerEvent *event); 0030 bool endPaint(KoPointerEvent *event); 0031 0032 void hoverPaint(KoPointerEvent *event); 0033 0034 QPainterPath brushOutline(const KisLiquifyProperties &props); 0035 0036 private: 0037 struct Private; 0038 const QScopedPointer<Private> m_d; 0039 }; 0040 0041 #endif /* __KIS_LIQUIFY_PAINT_HELPER_H */