CopperSpice API  1.7.2
QCameraExposureControl Class Referenceabstract

Allows controlling camera exposure parameters. More...

Inheritance diagram for QCameraExposureControl:
QMediaControl QObject

Public Types

enum  ExposureParameter
 

Public Signals

void actualValueChanged (int parameter)
 
void parameterRangeChanged (int parameter)
 
void requestedValueChanged (int parameter)
 
- Public Signals inherited from QObject
void destroyed (QObject *obj=nullptr)
 
void objectNameChanged (const QString &objectName)
 

Public Methods

 ~QCameraExposureControl ()
 
virtual QVariant actualValue (ExposureParameter parameter) const = 0
 
virtual bool isParameterSupported (ExposureParameter parameter) const = 0
 
virtual QVariant requestedValue (ExposureParameter parameter) const = 0
 
virtual bool setValue (ExposureParameter parameter, const QVariant &value) = 0
 
virtual QVariantList supportedParameterRange (ExposureParameter parameter, bool *continuous) const = 0
 
- Public Methods inherited from QMediaControl
 ~QMediaControl ()
 
- Public Methods inherited from QObject
 QObject (QObject *parent=nullptr)
 
 ~QObject ()
 
bool blockSignals (bool block)
 
const QList< QObject * > & children () const
 
bool connect (const QObject *sender, const QString &signalMethod, const QString &location, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
bool connect (const QObject *sender, const QString &signalMethod, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
bool disconnect (const QObject *receiver, const QString &slotMethod=QString ()) const
 
bool disconnect (const QString &signalMethod, const QString &location, const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const
 
bool disconnect (const QString &signalMethod=QString (), const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QStringdynamicPropertyNames () const
 
virtual bool event (QEvent *event)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
template<typename T >
findChild (const QString &childName=QString ()) const
 
template<class T >
QList< T > findChildren (const QRegularExpression &regExp, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 
template<class T >
QList< T > findChildren (const QString &objName=QString (), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 
bool inherits (const QString &className) const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const
 
bool isWindowType () const
 
void killTimer (int id)
 
const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const
 
QObject * parent () const
 
template<class T = QVariant>
property (const QString &name) const
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const QString &name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 
QThreadthread () const
 

Protected Methods

 QCameraExposureControl (QObject *parent=nullptr)
 
- Protected Methods inherited from QMediaControl
 QMediaControl (QObject *parent=nullptr)
 
- Protected Methods inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signalMethod) const
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signalMethod) const
 
bool isSignalConnected (const QMetaMethod &signalMethod) const
 
int receivers (const QString &signal) const
 
QObject * sender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 
- Static Public Methods inherited from QObject
static bool connect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool connect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection, const QString &location=QString ())
 
static bool connect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn >
static bool connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...), Qt::ConnectionType type=Qt::AutoConnection)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T >
static bool connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotLambda, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod)
 
static bool disconnect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod)
 
static bool disconnect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...))
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, std::nullptr_t slotMethod=nullptr)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotMethod)
 
static QMetaObjectstaticMetaObject ()
 
static QString tr (const char *text, const char *comment=nullptr, std::optional< int > numArg=std::optional< int >())
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The QCameraExposureControl class allows controlling camera exposure parameters. The QCameraExposure class is the usual method of adjusting exposure related parameters when using camera functionality. This class provides a more complete but less easy to use interface, and also forms the interface to implement when writing a new implementation of QCamera functionality.

You can adjust a number of parameters that will affect images and video taken with the corresponding QCamera object - see the ExposureParameter enumeration.

The interface name of QCameraExposureControl is "com.copperspice.CS.cameraExposureControl/1.0" as defined in QCameraExposureControl_iid.

See also
QCameraExposure, QCamera

Member Enumeration Documentation

This enum specifies parameters used by the camera when capturing an image.

Constant Value Description
QCameraExposureControl::ISO 0 Camera ISO sensitivity, specified as integer value.
QCameraExposureControl::Aperture 1 Lens aperture is specified as an qreal F number. The supported apertures list can change depending on the focal length, in such a case the exposureParameterRangeChanged() signal is emitted.
QCameraExposureControl::ShutterSpeed 2 Shutter speed in seconds, specified as qreal.
QCameraExposureControl::ExposureCompensation 3 Exposure compensation, specified as qreal EV value.
QCameraExposureControl::FlashPower 4 Manual flash power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no flash and 1.0 corresponds to full flash power. This value is only used in the manual flash mode.
QCameraExposureControl::TorchPower 6 Manual torch power, specified as qreal value. Accepted power range is [0..1.0], with 0 value means no light and 1.0 corresponds to full torch power. This value is only used in the torch flash mode.
QCameraExposureControl::FlashCompensation 5 Flash compensation, specified as qreal EV value.
QCameraExposureControl::SpotMeteringPoint 7 The relative frame coordinate of the point to use for exposure metering in spot metering mode, specified as a QPointF.
QCameraExposureControl::ExposureMode 8 Camera exposure mode.
QCameraExposureControl::MeteringMode 9 Camera metering mode.
QCameraExposureControl::ExtendedExposureParameter 1000 Base value for platform specific extended parameters. For these parameters the sequential values starting from ExtendedExposureParameter should be used.
See also
QCameraExposure::FlashMode

Constructor & Destructor Documentation

QCameraExposureControl::~QCameraExposureControl ( )

Destroys the camera exposure control object.

QCameraExposureControl::QCameraExposureControl ( QObject parent = nullptr)
explicitprotected

Constructs a camera exposure control object with parent.

Method Documentation

QVariant QCameraExposureControl::actualValue ( ExposureParameter  parameter) const
pure virtual

Returns the actual exposure parameter value, or invalid QVariant() if the value is unknown or not supported.

The actual parameter value may differ for the requested one if automatic mode is selected or camera supports only limited set of values within the supported range.

void QCameraExposureControl::actualValueChanged ( int  parameter)
signal

Signal emitted when the actual exposure parameter value has changed, usually in result of auto exposure algorithms or manual exposure parameter applied.

bool QCameraExposureControl::isParameterSupported ( ExposureParameter  parameter) const
pure virtual

Returns true is exposure parameter is supported by backend.

void QCameraExposureControl::parameterRangeChanged ( int  parameter)
signal

Signal emitted when the supported range of exposure parameter values has changed.

QVariant QCameraExposureControl::requestedValue ( ExposureParameter  parameter) const
pure virtual

Returns the requested exposure parameter value.

void QCameraExposureControl::requestedValueChanged ( int  parameter)
signal

Signal emitted when the requested exposure parameter value has changed, usually in result of setValue() call.

bool QCameraExposureControl::setValue ( ExposureParameter  parameter,
const QVariant value 
)
pure virtual

Set the exposure parameter to value. If a null or invalid QVariant is passed, backend should choose the value automatically, and if possible report the actual value to user with QCameraExposureControl::actualValue().

Returns true if parameter is supported and value is correct.

Set the exposure parameter to value. If a null or invalid QVariant is passed, backend should choose the value automatically, and if possible report the actual value to user with QCameraExposureControl::actualValue().

Returns true if parameter is supported and value is correct.

QVariantList QCameraExposureControl::supportedParameterRange ( ExposureParameter  parameter,
bool *  continuous 
) const
pure virtual

Returns the list of supported parameter values.

If the camera supports arbitrary exposure parameter value within the supported range, continuous is set to true, otherwise continuous is set to false.

Returns the list of supported parameter values. If the camera supports arbitrary exposure parameter value within the supported range, continuous is set to true, otherwise continuous is set to false.