Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_qpainter_canvas.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2006 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2009 Lukáš Tvrdý <lukast.dev@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef KIS_QPAINTER_CANVAS_H
8#define KIS_QPAINTER_CANVAS_H
9
10#include <QWidget>
11
13#include "kis_ui_types.h"
14
15class QPaintEvent;
16class KisCanvas2;
17
27class KisQPainterCanvas : public QWidget, public KisCanvasWidgetBase
28{
29
30 Q_OBJECT
31
32public:
33
35
36 ~KisQPainterCanvas() override;
37
38 void setPrescaledProjection(KisPrescaledProjectionSP prescaledProjection);
39
40public: // QWidget overrides
41
42 void paintEvent(QPaintEvent * ev) override;
43
44 void resizeEvent(QResizeEvent *e) override;
45
46 QVariant inputMethodQuery(Qt::InputMethodQuery query) const override;
47 void inputMethodEvent(QInputMethodEvent *event) override;
48
49 void focusInEvent(QFocusEvent *event) override;
50 void focusOutEvent(QFocusEvent *event) override;
51
52 void hideEvent(QHideEvent *event) override;
53 void showEvent(QShowEvent *event) override;
54
55public: // Implement kis_abstract_canvas_widget interface
56 void setDisplayFilter(QSharedPointer<KisDisplayFilter> displayFilter) override;
57 void notifyImageColorSpaceChanged(const KoColorSpace *cs) override;
58 void setWrapAroundViewingMode(bool value) override;
59 bool wrapAroundViewingMode() const override;
62 void channelSelectionChanged(const QBitArray &channelFlags) override;
63 void setDisplayConfig(const KisDisplayConfig &config) override;
64 void finishResizingImage(qint32 w, qint32 h) override;
65 KisUpdateInfoSP startUpdateCanvasProjection(const QRect & rc) override;
66 QRect updateCanvasProjection(KisUpdateInfoSP info) override;
68
69 QWidget * widget() override {
70 return this;
71 }
72
73 bool isBusy() const override {
74 return false;
75 }
76
77 void setLodResetInProgress(bool value) override {
78 Q_UNUSED(value);
79 }
80
81 void updateCanvasImage(const QRect &imageUpdateRect) override {
82 update(imageUpdateRect);
83 }
84
85 void updateCanvasDecorations(const QRect &decoUpdateRect) override {
86 update(decoUpdateRect);
87 }
88
89protected: // KisCanvasWidgetBase
90
91 bool callFocusNextPrevChild(bool next) override;
92
93protected:
94 virtual void drawImage(QPainter & gc, const QRect &updateWidgetRect) const;
95
96private Q_SLOTS:
97 void slotConfigChanged();
98
99private:
100 class Private;
101 Private * const m_d;
102};
103
104#endif
float value(const T *src, size_t ch)
WrapAroundAxis
KisCoordinatesConverter * coordinatesConverter() const
KisCanvas2 * canvas() const
QVector< QRect > updateCanvasProjection(const QVector< KisUpdateInfoSP > &infoObjects) override
KisDisplayConfig This class keeps track of the color management configuration for image to display....
KisQPainterCanvas(KisCanvas2 *canvas, KisCoordinatesConverter *coordinatesConverter, QWidget *parent)
void channelSelectionChanged(const QBitArray &channelFlags) override
void inputMethodEvent(QInputMethodEvent *event) override
void setWrapAroundViewingModeAxis(WrapAroundAxis value) override
void updateCanvasDecorations(const QRect &decoUpdateRect) override
void updateCanvasImage(const QRect &imageUpdateRect) override
WrapAroundAxis wrapAroundViewingModeAxis() const override
QWidget * widget() override
bool isBusy() const override
KisUpdateInfoSP startUpdateCanvasProjection(const QRect &rc) override
void setDisplayConfig(const KisDisplayConfig &config) override
void focusInEvent(QFocusEvent *event) override
void setLodResetInProgress(bool value) override
void resizeEvent(QResizeEvent *e) override
void setWrapAroundViewingMode(bool value) override
void setPrescaledProjection(KisPrescaledProjectionSP prescaledProjection)
void hideEvent(QHideEvent *event) override
void notifyImageColorSpaceChanged(const KoColorSpace *cs) override
set/update the color space of the attached image
void finishResizingImage(qint32 w, qint32 h) override
QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
virtual void drawImage(QPainter &gc, const QRect &updateWidgetRect) const
QRect updateCanvasProjection(KisUpdateInfoSP info) override
bool callFocusNextPrevChild(bool next) override
To be implemented by the derived canvas.
void showEvent(QShowEvent *event) override
bool wrapAroundViewingMode() const override
void focusOutEvent(QFocusEvent *event) override
void paintEvent(QPaintEvent *ev) override
void setDisplayFilter(QSharedPointer< KisDisplayFilter > displayFilter) override
set the specified display filter on the canvas