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 toggleSelectionVisibility();
43 bool selectionVisible();
44
45protected:
46 void drawDecoration(QPainter& gc, const QRectF& updateRect, const KisCoordinatesConverter *converter,KisCanvas2* canvas) override;
47
48private Q_SLOTS:
49 void slotStartUpdateSelection();
50 void slotConfigChanged();
51 void slotCanvasResourcesChanged(int key, const QVariant &v);
52 void initializePens();
53
54public Q_SLOTS:
55 void selectionChanged();
56 void antsAttackEvent();
57private:
58 bool selectionIsActive();
59
60private:
61
63 QPainterPath m_outlinePath;
66 QTimer* m_antsTimer;
68
72
73 qreal m_opacity;
74
78
80};
81
82#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