Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_canvas_decoration.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef _KIS_CANVAS_DECORATION_H_
8#define _KIS_CANVAS_DECORATION_H_
9
10#include <QObject>
11#include <QPointer>
12
13#include <kritaui_export.h>
14#include <kis_image.h>
15#include "KisView.h"
16#include <kis_shared.h>
17
18class KisCanvas2;
19class QRectF;
20class QPainter;
22
25
30class KRITAUI_EXPORT KisCanvasDecoration : public QObject, public KisShared
31{
32 Q_OBJECT
33public:
34 KisCanvasDecoration(const QString& id, QPointer<KisView>parent);
35
36 ~KisCanvasDecoration() override;
37
38 void setView(QPointer<KisView> imageView);
39
40 const QString& id() const;
41
45 bool visible() const;
46
55 void paint(QPainter& gc, const QRectF& updateRect, const KisCoordinatesConverter *converter,KisCanvas2* canvas);
56
61 int priority() const;
62
63 static bool comparePriority(KisCanvasDecorationSP decoration1, KisCanvasDecorationSP decoration2);
64
65 virtual void notifyWindowMinimized(bool minimized);
66
67public Q_SLOTS:
71 virtual void setVisible(bool v);
75 void toggleVisibility();
76protected:
77 virtual void drawDecoration(QPainter& gc, const QRectF& updateArea, const KisCoordinatesConverter *converter,KisCanvas2* canvas) = 0;
78
82 QPointer<KisView> view() const;
83
88 void setPriority(int value);
89
90 // returns the minimum decoration thickness, somewhat equivalent to the display scaling.
91 int decorationThickness() const;
92
93private:
94 struct Private;
95 Private* const d;
96};
97
98#endif
float value(const T *src, size_t ch)
qreal v
virtual void drawDecoration(QPainter &gc, const QRectF &updateArea, const KisCoordinatesConverter *converter, KisCanvas2 *canvas)=0
KisSharedPtr< KisCanvasDecoration > KisCanvasDecorationSP