diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-02-07 16:00:13 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-02-09 19:04:36 +0000 |
commit | c9207426ec8f44bf766180631890a5ba6f4925d6 (patch) | |
tree | 4b5540b577943642e85ebc924df68c12f67f5a30 /src/multimedia/controls | |
parent | ff25f700c87a308702f4dfdd8b2ab145a75ef5e4 (diff) |
Clean up zooming API
There is very little point these days in having properties
for both optical and digital zoom. Most mobile cameras don't
have a real optical zoom, but instead combine different cameras
with different focal lengths.
Change-Id: Icac48d949e767d7f3105c4d330e15273fe715fbe
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Doris Verria <doris.verria@qt.io>
Diffstat (limited to 'src/multimedia/controls')
-rw-r--r-- | src/multimedia/controls/qcamerafocuscontrol.h | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/multimedia/controls/qcamerafocuscontrol.h b/src/multimedia/controls/qcamerafocuscontrol.h index 871f240da..cf5c391bd 100644 --- a/src/multimedia/controls/qcamerafocuscontrol.h +++ b/src/multimedia/controls/qcamerafocuscontrol.h @@ -67,15 +67,14 @@ public: virtual QCameraFocusZoneList focusZones() const = 0; - virtual qreal maximumOpticalZoom() const = 0; - virtual qreal maximumDigitalZoom() const = 0; + struct ZoomRange { + float min; + float max; + }; - virtual qreal requestedOpticalZoom() const = 0; - virtual qreal requestedDigitalZoom() const = 0; - virtual qreal currentOpticalZoom() const = 0; - virtual qreal currentDigitalZoom() const = 0; - - virtual void zoomTo(qreal optical, qreal digital) = 0; + virtual ZoomRange zoomFactorRange() const = 0; + // smaller 0: zoom instantly, rate in power-of-two/sec + virtual void zoomTo(float newZoomFactor, float rate = -1.) = 0; Q_SIGNALS: void focusModeChanged(QCameraFocus::FocusModes mode); @@ -84,13 +83,6 @@ Q_SIGNALS: void focusZonesChanged(); - void maximumOpticalZoomChanged(qreal); - void maximumDigitalZoomChanged(qreal); - - void requestedOpticalZoomChanged(qreal opticalZoom); - void requestedDigitalZoomChanged(qreal digitalZoom); - void currentOpticalZoomChanged(qreal opticalZoom); - void currentDigitalZoomChanged(qreal digitalZoom); protected: explicit QCameraFocusControl(QObject *parent = nullptr); |