45 explicit ImageZoomSettings(
const QSize& imageSize,
const QSize& originalSize = QSize());
54 void setImageSize(
const QSize& size,
const QSize& originalSize = QSize());
59 void setDisplayWidget(QWidget*
const widget);
64 double zoomFactor()
const;
69 double realZoomFactor()
const;
74 QSizeF imageSize()
const;
79 QSizeF originalImageSize()
const;
85 QSizeF zoomedSize()
const;
87 bool isFitToSize(
const QSizeF& frameSize)
const;
92 void setZoomFactor(
double zoom);
101 void fitToSize(
const QSizeF& frameSize,
FitToSizeMode = AlwaysFit);
107 QRectF sourceRect(
const QRectF& imageRect)
const;
109 QRectF mapZoomToImage(
const QRectF& imageRect)
const;
115 QRectF mapImageToZoom(
const QRectF& imagePoint)
const;
121 QPointF mapZoomToImage(
const QPointF& zoomedPoint)
const;
127 QPointF mapImageToZoom(
const QPointF& imagePoint)
const;
133 double fitToSizeZoomFactor(
const QSizeF& frameSize,
FitToSizeMode = AlwaysFit)
const;
140 double snappedZoomStep(
double nextZoom,
const QSizeF& frameSize)
const;
147 double snappedZoomFactor(
double newZoom,
const QSizeF& frameSize)
const;
152 static void setImageSmoothScale(
bool enable);
153 static bool getImageSmoothScale();
157 double displayRatio()
const;
163 double m_zoomConst = 1.0;
165 QWidget* m_displayWidget =
nullptr;
Definition imagezoomsettings.h:32
FitToSizeMode
Definition imagezoomsettings.h:37
@ AlwaysFit
Definition imagezoomsettings.h:38
QSizeF m_size
Definition imagezoomsettings.h:161
ImageZoomSettings()=default
Definition datefolderview.cpp:34