Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_tool_polyline_base.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2009 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef KIS_TOOL_POLYLINE_BASE_H
8#define KIS_TOOL_POLYLINE_BASE_H
9
10#include <kis_tool_shape.h>
11#include <kis_cursor.h>
12
13class KRITAUI_EXPORT KisToolPolylineBase : public KisToolShape
14{
15Q_OBJECT
16public:
17 enum ToolType {
19 SELECT
20 };
21
22 KisToolPolylineBase(KoCanvasBase * canvas, KisToolPolylineBase::ToolType type, const QCursor & cursor=KisCursor::load("tool_polygon_cursor.png", 6, 6));
23
24 void beginPrimaryAction(KoPointerEvent *event) override;
25 void endPrimaryAction(KoPointerEvent *event) override;
27 void mouseMoveEvent(KoPointerEvent *event) override;
28 bool eventFilter(QObject *obj, QEvent *event) override;
29
30 void beginAlternateAction(KoPointerEvent *event, AlternateAction action) override;
31
32 void paint(QPainter& gc, const KoViewConverter &converter) override;
33
34 void activate(const QSet<KoShape*> &shapes) override;
35 void deactivate() override;
36 void requestStrokeEnd() override;
37 void requestStrokeCancellation() override;
39
40protected:
41 virtual void finishPolyline(const QVector<QPointF>& points) = 0;
42
43private:
44 void endStroke();
45 void cancelStroke();
46 void updateArea();
47 QRectF dragBoundingRect();
48
49private Q_SLOTS:
50 void undoSelection();
51 void undoSelectionOrCancel();
52
53private:
54
55 QPointF m_dragStart;
56 QPointF m_dragEnd;
61};
62
63#endif // KIS_TOOL_POLYLINE_BASE_H
static QCursor load(const QString &cursorName, int hotspotX=-1, int hotspotY=-1)
The PopupWidgetInterface abstract class defines the basic interface that will be used by all popup wi...
void deactivate() override
void paint(QPainter &gc, const KoViewConverter &converter) override
KisPopupWidgetInterface * popupWidget() override
void mouseMoveEvent(KoPointerEvent *event) override
void beginAlternateAction(KoPointerEvent *event, AlternateAction action) override
virtual void finishPolyline(const QVector< QPointF > &points)=0
void activate(const QSet< KoShape * > &shapes) override
virtual void requestStrokeCancellation()
virtual void requestStrokeEnd()
virtual void beginPrimaryAction(KoPointerEvent *event)
Definition kis_tool.cc:431
virtual void endPrimaryAction(KoPointerEvent *event)
Definition kis_tool.cc:446
virtual void beginPrimaryDoubleClickAction(KoPointerEvent *event)
Definition kis_tool.cc:436