57 {
60
61 qreal devicePixelRatioF =
q->
view()->devicePixelRatioF();
64 const QRectF boundingWidgetRect =
q->
view()->viewConverter()->imageToWidget(boundingImageRect);
65 widgetRect = boundingWidgetRect.intersected(
q->
view()->rect());
66
67 if (widgetRect.isNull()) return;
68
70
71
73 buffer.
image = QImage((widgetRect.size()*devicePixelRatioF).toSize(), QImage::Format_ARGB32);
75 buffer.
image.setDevicePixelRatio(devicePixelRatioF);
76
77 imageRect =
q->
view()->viewConverter()->widgetToImage(widgetRect);
78
79 }
80
82
84 gc.setTransform(transform, true);
85
86 gc.save();
87 gc.setCompositionMode(QPainter::CompositionMode_Source);
88 gc.fillRect(imageRect, Qt::transparent);
89 gc.restore();
90
91
92
93 gc.setClipRect(QRectF(imageRect.topLeft(), imageRect.size()*devicePixelRatioF));
95 }
QPointer< KisView > view() const
QTransform imageToWidgetTransform() const
void paintReferences(QPainter &painter)
QRectF boundingImageRect() const
QPointF position
Top left corner of the buffer relative to the viewport.
KisWeakSharedPtr< KisReferenceImagesLayer > layer