Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_selection_decoration.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef _KIS_SELECTION_DECORATION_H_
8#define _KIS_SELECTION_DECORATION_H_
9
10#include <QPainterPath>
11#include <QTimer>
12#include <QPolygon>
13#include <QPen>
14
18
19class KisView;
20class QWindow;
21class QScreen;
22
23class KRITAUI_EXPORT KisSelectionDecoration : public KisCanvasDecoration
24{
25 Q_OBJECT
26public:
28 ~KisSelectionDecoration() override;
29
30 enum Mode {
32 Mask
33 };
34
35 Mode mode() const;
36 void setMode(Mode mode);
37 void setVisible(bool v) override;
38
39 void notifyWindowMinimized(bool minimized) override;
40 void setCanvasWidget(KisCanvasWidgetBase* canvas) override;
41
42 void toggleSlectionVisibility();
43
44protected:
45 void drawDecoration(QPainter& gc, const QRectF& updateRect, const KisCoordinatesConverter *converter,KisCanvas2* canvas) override;
46
47private Q_SLOTS:
48 void slotStartUpdateSelection();
49 void slotConfigChanged();
50 void slotCanvasResourcesChanged(int key, const QVariant &v);
51 void initializePens();
52
53public Q_SLOTS:
54 void selectionChanged();
55 void antsAttackEvent();
56private:
57 bool selectionIsActive();
58
59private:
60
62 QPainterPath m_outlinePath;
65 QTimer* m_antsTimer;
67
71
72 qreal m_opacity;
73
77
79};
80
81#endif
qreal v
virtual void setCanvasWidget(KisCanvasWidgetBase *canvas)
virtual void setVisible(bool v)
virtual void drawDecoration(QPainter &gc, const QRectF &updateArea, const KisCoordinatesConverter *converter, KisCanvas2 *canvas)=0
virtual void notifyWindowMinimized(bool minimized)
KisSignalCompressor m_signalCompressor
KisSelectionActionsPanel * m_selectionActionsPanel