1// qcameraexposure.sip generated by MetaSIP
2//
3// This file is part of the QtMultimedia Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QCameraExposure : QObject
24{
25%TypeHeaderCode
26#include <qcameraexposure.h>
27%End
28
29public:
30    enum FlashMode
31    {
32        FlashAuto,
33        FlashOff,
34        FlashOn,
35        FlashRedEyeReduction,
36        FlashFill,
37        FlashTorch,
38        FlashVideoLight,
39        FlashSlowSyncFrontCurtain,
40        FlashSlowSyncRearCurtain,
41        FlashManual,
42    };
43
44    typedef QFlags<QCameraExposure::FlashMode> FlashModes;
45
46    enum ExposureMode
47    {
48        ExposureAuto,
49        ExposureManual,
50        ExposurePortrait,
51        ExposureNight,
52        ExposureBacklight,
53        ExposureSpotlight,
54        ExposureSports,
55        ExposureSnow,
56        ExposureBeach,
57        ExposureLargeAperture,
58        ExposureSmallAperture,
59%If (Qt_5_5_0 -)
60        ExposureAction,
61%End
62%If (Qt_5_5_0 -)
63        ExposureLandscape,
64%End
65%If (Qt_5_5_0 -)
66        ExposureNightPortrait,
67%End
68%If (Qt_5_5_0 -)
69        ExposureTheatre,
70%End
71%If (Qt_5_5_0 -)
72        ExposureSunset,
73%End
74%If (Qt_5_5_0 -)
75        ExposureSteadyPhoto,
76%End
77%If (Qt_5_5_0 -)
78        ExposureFireworks,
79%End
80%If (Qt_5_5_0 -)
81        ExposureParty,
82%End
83%If (Qt_5_5_0 -)
84        ExposureCandlelight,
85%End
86%If (Qt_5_5_0 -)
87        ExposureBarcode,
88%End
89        ExposureModeVendor,
90    };
91
92    enum MeteringMode
93    {
94        MeteringMatrix,
95        MeteringAverage,
96        MeteringSpot,
97    };
98
99    bool isAvailable() const;
100    QCameraExposure::FlashModes flashMode() const;
101    bool isFlashModeSupported(QCameraExposure::FlashModes mode) const;
102    bool isFlashReady() const;
103    QCameraExposure::ExposureMode exposureMode() const;
104    bool isExposureModeSupported(QCameraExposure::ExposureMode mode) const;
105    qreal exposureCompensation() const;
106    QCameraExposure::MeteringMode meteringMode() const;
107    bool isMeteringModeSupported(QCameraExposure::MeteringMode mode) const;
108    QPointF spotMeteringPoint() const;
109    void setSpotMeteringPoint(const QPointF &point);
110    int isoSensitivity() const;
111    qreal aperture() const;
112    qreal shutterSpeed() const;
113    int requestedIsoSensitivity() const;
114    qreal requestedAperture() const;
115    qreal requestedShutterSpeed() const;
116    QList<int> supportedIsoSensitivities(bool *continuous = 0) const;
117    QList<qreal> supportedApertures(bool *continuous = 0) const;
118    QList<qreal> supportedShutterSpeeds(bool *continuous = 0) const;
119
120public slots:
121    void setFlashMode(QCameraExposure::FlashModes mode);
122    void setExposureMode(QCameraExposure::ExposureMode mode);
123    void setMeteringMode(QCameraExposure::MeteringMode mode);
124    void setExposureCompensation(qreal ev);
125    void setManualIsoSensitivity(int iso);
126    void setAutoIsoSensitivity();
127    void setManualAperture(qreal aperture);
128    void setAutoAperture();
129    void setManualShutterSpeed(qreal seconds);
130    void setAutoShutterSpeed();
131
132signals:
133    void flashReady(bool);
134    void apertureChanged(qreal);
135    void apertureRangeChanged();
136    void shutterSpeedChanged(qreal);
137    void shutterSpeedRangeChanged();
138    void isoSensitivityChanged(int);
139    void exposureCompensationChanged(qreal);
140
141private:
142    explicit QCameraExposure(QCamera *parent /TransferThis/ = 0);
143
144protected:
145%If (Qt_5_14_0 -)
146    virtual ~QCameraExposure();
147%End
148
149private:
150%If (- Qt_5_14_0)
151    virtual ~QCameraExposure();
152%End
153};
154
155QFlags<QCameraExposure::FlashMode> operator|(QCameraExposure::FlashMode f1, QFlags<QCameraExposure::FlashMode> f2);
156