Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abstract_canvas_widget.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org>, (C)
3 * SPDX-FileCopyrightText: 2015 Michael Abrahams <miabraha@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef _KIS_ABSTRACT_CANVAS_WIDGET_
8#define _KIS_ABSTRACT_CANVAS_WIDGET_
9
10class QWidget;
11class QRect;
12class QPainter;
13class QRect;
14
15class KoToolProxy;
16
18
20class QBitArray;
21class KoColorSpace;
23
24#include "kis_types.h"
25#include "kis_ui_types.h"
26#include "KisWraparoundAxis.h"
27
29{
30public:
31 enum class BitDepthMode {
32 Depth8Bit = 0,
34 };
35
36public:
37
39
41
42 virtual QWidget * widget() = 0;
43
44 virtual KoToolProxy * toolProxy() const = 0;
45
47 virtual void drawDecorations(QPainter & gc, const QRect &updateWidgetRect) const = 0;
48
49 virtual void addDecoration(KisCanvasDecorationSP deco) = 0;
50 virtual void removeDecoration(const QString& id) = 0;
51
52 virtual KisCanvasDecorationSP decoration(const QString& id) const = 0;
53
55
57
59 virtual void setDisplayFilter(QSharedPointer<KisDisplayFilter> displayFilter) = 0;
60
62 virtual void notifyImageColorSpaceChanged(const KoColorSpace *cs) = 0;
63
64 virtual void setWrapAroundViewingMode(bool value) = 0;
65 virtual bool wrapAroundViewingMode() const = 0;
66
69
70 // Called from KisCanvas2::channelSelectionChanged
71 virtual void channelSelectionChanged(const QBitArray &channelFlags) = 0;
72
73 virtual void setDisplayConfig(const KisDisplayConfig &config) = 0;
74
75 // Called from KisCanvas2::finishResizingImage
76 virtual void finishResizingImage(qint32 w, qint32 h) = 0;
77
78 // Called from KisCanvas2::startUpdateProjection
79 virtual KisUpdateInfoSP startUpdateCanvasProjection(const QRect & rc) = 0;
80
81 // Called from KisCanvas2::updateCanvasProjection
82 virtual QRect updateCanvasProjection(KisUpdateInfoSP info) = 0;
84
85 virtual void updateCanvasImage(const QRect &imageUpdateRect) = 0;
86 virtual void updateCanvasDecorations(const QRect &decoUpdateRect) = 0;
87
94 virtual bool isBusy() const = 0;
95
96 virtual void setLodResetInProgress(bool value) = 0;
97
98 virtual BitDepthMode currentBitDepthMode() const = 0;
99
100 virtual QString currentBitDepthUserReport() const = 0;
101};
102
103#endif // _KIS_ABSTRACT_CANVAS_WIDGET_
float value(const T *src, size_t ch)
WrapAroundAxis
virtual void setLodResetInProgress(bool value)=0
virtual bool wrapAroundViewingMode() const =0
virtual void channelSelectionChanged(const QBitArray &channelFlags)=0
virtual void removeDecoration(const QString &id)=0
virtual void setDisplayFilter(QSharedPointer< KisDisplayFilter > displayFilter)=0
set the specified display filter on the canvas
virtual void updateCanvasDecorations(const QRect &decoUpdateRect)=0
virtual void setWrapAroundViewingMode(bool value)=0
virtual void notifyImageColorSpaceChanged(const KoColorSpace *cs)=0
set/update the color space of the attached image
virtual KisUpdateInfoSP startUpdateCanvasProjection(const QRect &rc)=0
virtual bool isBusy() const =0
virtual BitDepthMode currentBitDepthMode() const =0
virtual QVector< QRect > updateCanvasProjection(const QVector< KisUpdateInfoSP > &infoObjects)=0
virtual KoToolProxy * toolProxy() const =0
virtual void finishResizingImage(qint32 w, qint32 h)=0
virtual void setDecorations(const QList< KisCanvasDecorationSP > &)=0
virtual QList< KisCanvasDecorationSP > decorations() const =0
virtual WrapAroundAxis wrapAroundViewingModeAxis() const =0
virtual KisCanvasDecorationSP decoration(const QString &id) const =0
virtual void setWrapAroundViewingModeAxis(WrapAroundAxis value)=0
virtual void addDecoration(KisCanvasDecorationSP deco)=0
virtual QWidget * widget()=0
virtual QString currentBitDepthUserReport() const =0
virtual QRect updateCanvasProjection(KisUpdateInfoSP info)=0
virtual void drawDecorations(QPainter &gc, const QRect &updateWidgetRect) const =0
Draw the specified decorations on the view.
virtual void updateCanvasImage(const QRect &imageUpdateRect)=0
virtual void setDisplayConfig(const KisDisplayConfig &config)=0
KisDisplayConfig This class keeps track of the color management configuration for image to display....
The KisDisplayFilter class is the base class for filters that are applied by the canvas to the projec...