SUMMARY Canvas already has methods for getting / setting of rotation & scale(zoom) of transformation, only thing missing is translate of transformation. # new methods Canvas.transform() -> QTransform Canvas.setTransform(transform: QTransform) Canvas.translation() -> float, float Canvas.setTranslation(x: float, y: float) # existing rotation & scale methods Canvas.rotation() -> float Canvas.setRotation(angle: float) Canvas.zoomLevel() -> float Canvas.setZoomLevel(value: float) # additionally signal for canvas transform change would be really useful. Canvas.transformChanged = pyqtSignal(QTransform) # or Notifier.canvasTransformChanged = pyqtSignal(Canvas, QTransform) references: https://doc.qt.io/qt-5/qtransform.html https://api.kde.org/appscomplete-api/krita-apidocs/libs/libkis/html/classCanvas.html https://krita-artists.org/t/pyqt-document-inside-the-canvas-distances-and-pan/25960/11 /AkiR
Do you mean for panning?
(In reply to Halla Rempt from comment #1) > Do you mean for panning? Yes, panning is another word for it. QTransform.translate() ≈ Canvas.pan() QTransform.rotate() ≈ Canvas.rotation() QTransform.scale() ≈ Canvas.zoomLevel() /AkiR