File indexing completed on 2024-06-16 04:17:57

0001 /*
0002  *  kis_tool_polyline.h - part of Krita
0003  *
0004  *  SPDX-FileCopyrightText: 2004 Michael Thaler <michael Thaler@physik.tu-muenchen.de>
0005  *
0006  *  SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KIS_TOOL_POLYLINE_H_
0010 #define KIS_TOOL_POLYLINE_H_
0011 
0012 #include "kis_tool_polyline_base.h"
0013 //#include "flake/kis_node_shape.h"
0014 #include <kis_icon.h>
0015 
0016 class KisToolPolyline : public KisToolPolylineBase
0017 {
0018 
0019     Q_OBJECT
0020 
0021 public:
0022     KisToolPolyline(KoCanvasBase * canvas);
0023     ~KisToolPolyline() override;
0024 
0025 protected:
0026     QWidget* createOptionWidget() override;
0027     void finishPolyline(const QVector<QPointF>& points) override;
0028 
0029 protected Q_SLOTS:
0030     void resetCursorStyle() override;
0031 };
0032 
0033 
0034 #include "KoToolFactoryBase.h"
0035 
0036 class KisToolPolylineFactory : public KisToolPolyLineFactoryBase
0037 {
0038 
0039 public:
0040     KisToolPolylineFactory()
0041             : KisToolPolyLineFactoryBase("KisToolPolyline") {
0042         setToolTip(i18n("Polyline Tool: Shift-mouseclick ends the polyline."));
0043         setSection(ToolBoxSection::Shape);
0044         setActivationShapeId(KRITA_TOOL_ACTIVATION_ID);
0045         setIconName(koIconNameCStr("polyline"));
0046         setPriority(5);
0047     }
0048 
0049     ~KisToolPolylineFactory() override {}
0050 
0051     KoToolBase * createTool(KoCanvasBase *canvas) override {
0052         return new KisToolPolyline(canvas);
0053     }
0054 
0055 };
0056 
0057 
0058 #endif //__KIS_TOOL_POLYLINE_H__