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 */