19#include <QApplication>
62 setAutoFillBackground(
true);
64 setFocusPolicy(Qt::StrongFocus);
65 setAttribute(Qt::WA_InputMethodEnabled,
true);
66 setAttribute(Qt::WA_StaticContents);
67 setAttribute(Qt::WA_OpaquePaintEvent);
69 setAttribute(Qt::WA_AcceptTouchEvents,
false);
71 setAttribute(Qt::WA_AcceptTouchEvents,
true);
90 if (image == 0)
return;
92 setAutoFillBackground(
false);
95 gc.setClipRegion(ev->region());
101 gc.setCompositionMode(QPainter::CompositionMode_Source);
102 gc.fillRect(QRect(QPoint(0, 0), size()),
borderColor());
104 QTransform checkersTransform;
109 gc.setPen(Qt::NoPen);
111 gc.setBrushOrigin(brushOrigin);
112 gc.setTransform(checkersTransform);
113 gc.drawPolygon(polygon);
130 gc.setTransform(imageTransform);
131 gc.setRenderHint(QPainter::SmoothPixmapTransform,
true);
135 gc.setCompositionMode(QPainter::CompositionMode_SourceOver);
162 QWidget::hideEvent(e);
168 QWidget::showEvent(e);
203 dbgKrita <<
"Wrap around viewing mode not implemented in QPainter Canvas.";
215 dbgKrita <<
"Wrap around viewing mode not implemented in QPainter Canvas.";
243 if (isPPUpdateInfo) {
245 return info->dirtyViewportRect();
254 QSize size(e->size());
255 if (size.width() <= 0) {
258 if (size.height() <= 0) {
276 return focusNextPrevChild(next);
float value(const T *src, size_t ch)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
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....
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)