54 QSizeF getCanvasWidgetSize()
const;
55 QSize viewportDevicePixelSize()
const;
57 void setCanvasWidgetSize(QSizeF size);
58 void setDevicePixelRatio(qreal
value);
60 void setExtraReferencesBounds(
const QRect &imageRect);
61 void setImageBounds(
const QRect &
rect,
const QPointF oldImageStillPoint,
const QPointF newImageStillPoint);
62 void setImageResolution(qreal xRes, qreal yRes);
63 void setDocumentOffset(
const QPointF &offset);
65 qreal devicePixelRatio()
const;
66 QPoint documentOffset()
const;
67 QPointF documentOffsetF()
const;
68 qreal rotationAngle()
const;
89 QPointF preferredTransformationCenter()
const;
96 void enableNatureGestureFlag();
103 void rotate(
const std::optional<KoViewTransformStillPoint> &stillPoint, qreal angle);
110 void mirror(
const std::optional<KoViewTransformStillPoint> &stillPoint,
bool mirrorXAxis,
bool mirrorYAxis);
112 bool xAxisMirrored()
const;
113 bool yAxisMirrored()
const;
120 void resetRotation(
const std::optional<KoViewTransformStillPoint> &stillPoint);
122 void setZoom(qreal zoom)
override;
124 void zoomTo(
const QRectF &widgetRect);
146 void setZoom(
KoZoomMode::Mode mode, qreal zoom, qreal resolutionX, qreal resolutionY,
const std::optional<KoViewTransformStillPoint> &stillPoint);
148 void setCanvasWidgetSizeKeepZoom(
const QSizeF &size);
153 qreal effectiveZoom()
const;
154 qreal effectivePhysicalZoom()
const;
191 QTransform imageToWidgetTransform()
const;
192 QTransform imageToDocumentTransform()
const;
193 QTransform documentToFlakeTransform()
const;
194 QTransform imageToViewportTransform()
const;
195 QTransform viewportToWidgetTransform()
const;
196 QTransform flakeToWidgetTransform()
const;
197 QTransform documentToWidgetTransform()
const;
199 void getQPainterCheckersInfo(QTransform *transform,
200 QPointF *brushOrigin,
202 const bool scrollCheckers)
const;
204 void getOpenGLCheckersInfo(
const QRectF &viewportRect,
205 QTransform *textureTransform,
206 QTransform *modelTransform,
209 const bool scrollCheckers)
const;
211 QPointF imageCenterInWidgetPixel()
const;
212 QRectF imageRectInWidgetPixels()
const;
213 QRectF imageRectInViewportPixels()
const;
214 QSizeF imageSizeInFlakePixels()
const;
215 QRectF widgetRectInFlakePixels()
const;
216 QRectF widgetRectInImagePixels()
const;
217 QRect imageRectInImagePixels()
const;
218 QRectF imageRectInDocumentPixels()
const;
220 QPointF flakeCenterPoint()
const;
221 QPointF widgetCenterPoint()
const;
223 void imageScale(qreal *scaleX, qreal *scaleY)
const;
224 void imagePhysicalScale(qreal *scaleX, qreal *scaleY)
const;
226 QPointF snapToDevicePixel(
const QPointF &point)
const;
227 QSizeF snapWidgetSizeToDevicePixel(
const QSizeF &size)
const;
229 QPoint minimumOffset()
const;
230 QPoint maximumOffset()
const;
232 qreal minZoom()
const;
233 qreal maxZoom()
const;
234 qreal clampZoom(qreal zoom)
const;
237 static qreal findNextZoom(qreal currentZoom,
const QVector<qreal> &zoomLevels);
238 static qreal findPrevZoom(qreal currentZoom,
const QVector<qreal> &zoomLevels);
249 friend class KisZoomAndPanTest;
250 friend class KisCoordinatesConverterTest;
252 QPointF centeringCorrection()
const;
253 void correctOffsetToTransformationAndSnap();
254 void correctTransformationToOffset();
255 void resetPreferredTransformationCenter();
256 void recalculateTransformations();
257 void recalculateZoomLevelLimits();
258 void recalculateOffsetBoundsAndCrop();