File indexing completed on 2024-12-22 04:13:00
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __KIS_TOOL_MULTIHAND_HELPER_H 0008 #define __KIS_TOOL_MULTIHAND_HELPER_H 0009 0010 #include "kis_tool_freehand_helper.h" 0011 0012 0013 class KRITAUI_EXPORT KisToolMultihandHelper : public KisToolFreehandHelper 0014 { 0015 Q_OBJECT 0016 0017 public: 0018 KisToolMultihandHelper(KisPaintingInformationBuilder *infoBuilder, 0019 KoCanvasResourceProvider *resourceManager, 0020 const KUndo2MagicString &transactionText); 0021 ~KisToolMultihandHelper() override; 0022 0023 void setupTransformations(const QVector<QTransform> &transformations); 0024 0025 protected: 0026 void createPainters(QVector<KisFreehandStrokeInfo*> &strokeInfos, 0027 const KisDistanceInformation &startDist) override; 0028 0029 void paintAt(const KisPaintInformation &pi) override; 0030 0031 void paintLine(const KisPaintInformation &pi1, 0032 const KisPaintInformation &pi2) override; 0033 0034 void paintBezierCurve(const KisPaintInformation &pi1, 0035 const QPointF &control1, 0036 const QPointF &control2, 0037 const KisPaintInformation &pi2) override; 0038 0039 using KisToolFreehandHelper::paintAt; 0040 using KisToolFreehandHelper::paintLine; 0041 using KisToolFreehandHelper::paintBezierCurve; 0042 0043 private: 0044 struct Private; 0045 Private * const d; 0046 }; 0047 0048 #endif /* __KIS_TOOL_MULTIHAND_HELPER_H */