summaryrefslogtreecommitdiffstats
path: root/src/multimedia/controls
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-02-07 16:00:13 +0100
committerLars Knoll <lars.knoll@qt.io>2021-02-09 19:04:36 +0000
commitc9207426ec8f44bf766180631890a5ba6f4925d6 (patch)
tree4b5540b577943642e85ebc924df68c12f67f5a30 /src/multimedia/controls
parentff25f700c87a308702f4dfdd8b2ab145a75ef5e4 (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.h22
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);