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
42protected:
43 void drawDecoration(QPainter& gc, const QRectF& updateRect, const KisCoordinatesConverter *converter,KisCanvas2* canvas) override;
44
45private Q_SLOTS:
46 void slotStartUpdateSelection();
47 void slotConfigChanged();
48 void slotCanvasResourcesChanged(int key, const QVariant &v);
49 void initializePens();
50
51public Q_SLOTS:
52 void selectionChanged();
53 void antsAttackEvent();
54private:
55 bool selectionIsActive();
56
57private:
58
60 QPainterPath m_outlinePath;
63 QTimer* m_antsTimer;
65
69
70 qreal m_opacity;
71
75};
76
77#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