19#include <QApplication>
65 setAutoFillBackground(
true);
67 setFocusPolicy(Qt::StrongFocus);
68 setAttribute(Qt::WA_InputMethodEnabled,
true);
69 setAttribute(Qt::WA_StaticContents);
70 setAttribute(Qt::WA_OpaquePaintEvent);
72 setAttribute(Qt::WA_AcceptTouchEvents,
false);
74 setAttribute(Qt::WA_AcceptTouchEvents,
true);
93 if (image == 0)
return;
95 setAutoFillBackground(
false);
98 gc.setClipRegion(ev->region());
104 gc.setCompositionMode(QPainter::CompositionMode_Source);
105 gc.fillRect(QRect(QPoint(0, 0), size()),
borderColor());
107 QTransform checkersTransform;
112 gc.setPen(Qt::NoPen);
114 gc.setBrushOrigin(brushOrigin);
115 gc.setTransform(checkersTransform);
116 gc.drawPolygon(polygon);
133 gc.setTransform(imageTransform);
134 gc.setRenderHint(QPainter::SmoothPixmapTransform,
true);
138 gc.setCompositionMode(QPainter::CompositionMode_SourceOver);
165 QWidget::hideEvent(e);
171 QWidget::showEvent(e);
206 dbgKrita <<
"Wrap around viewing mode not implemented in QPainter Canvas.";
218 dbgKrita <<
"Wrap around viewing mode not implemented in QPainter Canvas.";
246 if (isPPUpdateInfo) {
248 return info->dirtyViewportRect();
257 QSize size(e->size());
258 if (size.width() <= 0) {
261 if (size.height() <= 0) {
279 return focusNextPrevChild(next);
float value(const T *src, size_t ch)
void startUpdateInPatches(const QRect &imageRect)
KisImageWSP image() const
static KisConfigNotifier * instance()
bool scrollCheckers(bool defaultValue=false) const
QTransform viewportToWidgetTransform() const
_Private::Traits< T >::Result widgetToViewport(const T &obj) const
void getQPainterCheckersInfo(QTransform *transform, QPointF *brushOrigin, QPolygonF *polygon, const bool scrollCheckers) const
KisDisplayConfig This class keeps track of the color management configuration for image to display....
static constexpr char ENABLED_PROPERTY[]
QImage prescaledQImage() const
void notifyCanvasSizeChanged(const QSize &widgetSize)
void setChannelFlags(const QBitArray &channelFlags)
void slotImageSizeChanged(qint32 w, qint32 h)
void recalculateCache(KisUpdateInfoSP info)
void setDisplayConfig(const KisDisplayConfig &config)
KisUpdateInfoSP updateCache(const QRect &dirtyImageRect)
void setDisplayFilter(QSharedPointer< KisDisplayFilter > displayFilter)
KisPrescaledProjectionSP prescaledProjection
KisRepaintDebugger repaintDbg
KisQPainterCanvas(KisCanvas2 *canvas, KisCoordinatesConverter *coordinatesConverter, QWidget *parent)
void channelSelectionChanged(const QBitArray &channelFlags) override
void inputMethodEvent(QInputMethodEvent *event) override
void setWrapAroundViewingModeAxis(WrapAroundAxis value) override
~KisQPainterCanvas() override
WrapAroundAxis wrapAroundViewingModeAxis() const override
KisUpdateInfoSP startUpdateCanvasProjection(const QRect &rc) override
void setDisplayConfig(const KisDisplayConfig &config) override
void focusInEvent(QFocusEvent *event) 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
void paint(QPaintDevice *paintDevice, const QRect &widgetRect)