libcamera  v0.4.0
Supporting cameras in Linux since 2019
Public Member Functions | List of all members
libcamera::ControlInfo Class Reference

Describe the limits of valid values for a Control. More...

Public Member Functions

 ControlInfo (const ControlValue &min={}, const ControlValue &max={}, const ControlValue &def={})
 Construct a ControlInfo with minimum and maximum range parameters. More...
 
 ControlInfo (Span< const ControlValue > values, const ControlValue &def={})
 Construct a ControlInfo from the list of valid values. More...
 
 ControlInfo (std::set< bool > values, bool def)
 Construct a boolean ControlInfo with both boolean values. More...
 
 ControlInfo (bool value)
 Construct a boolean ControlInfo with only one valid value. More...
 
const ControlValuemin () const
 Retrieve the minimum value of the control. More...
 
const ControlValuemax () const
 Retrieve the maximum value of the control. More...
 
const ControlValuedef () const
 Retrieve the default value of the control. More...
 
const std::vector< ControlValue > & values () const
 Retrieve the list of valid values. More...
 
std::string toString () const
 Provide a string representation of the ControlInfo.
 
bool operator== (const ControlInfo &other) const
 Compare ControlInfo instances for equality. More...
 
bool operator!= (const ControlInfo &other) const
 Compare ControlInfo instances for non equality. More...
 

Detailed Description

Describe the limits of valid values for a Control.

The ControlInfo expresses the constraints on valid values for a control. The constraints depend on the object the control applies to, and are constant for the lifetime of that object. They are typically constructed by pipeline handlers to describe the controls they support.

Constructor & Destructor Documentation

◆ ControlInfo() [1/4]

libcamera::ControlInfo::ControlInfo ( const ControlValue min = {},
const ControlValue max = {},
const ControlValue def = {} 
)
explicit

Construct a ControlInfo with minimum and maximum range parameters.

Parameters
[in]minThe control minimum value
[in]maxThe control maximum value
[in]defThe control default value

◆ ControlInfo() [2/4]

libcamera::ControlInfo::ControlInfo ( Span< const ControlValue values,
const ControlValue def = {} 
)
explicit

Construct a ControlInfo from the list of valid values.

Parameters
[in]valuesThe control valid values
[in]defThe control default value

Construct a ControlInfo from a list of valid values. The ControlInfo minimum and maximum values are set to the first and last members of the values list respectively. The default value is set to def if provided, or to the minimum value otherwise.

◆ ControlInfo() [3/4]

libcamera::ControlInfo::ControlInfo ( std::set< bool >  values,
bool  def 
)
explicit

Construct a boolean ControlInfo with both boolean values.

Parameters
[in]valuesThe control valid boolean values (both true and false)
[in]defThe control default boolean value

Construct a ControlInfo for a boolean control, where both true and false are valid values. values must be { false, true } (the order is irrelevant). The minimum value will always be false, and the maximum always true. The default value is def.

◆ ControlInfo() [4/4]

libcamera::ControlInfo::ControlInfo ( bool  value)
explicit

Construct a boolean ControlInfo with only one valid value.

Parameters
[in]valueThe control valid boolean value

Construct a ControlInfo for a boolean control, where there is only valid value. The minimum, maximum, and default values will all be value.

Member Function Documentation

◆ def()

libcamera::ControlInfo::def ( ) const
inline

Retrieve the default value of the control.

Returns
A ControlValue with the default value for the control

◆ max()

libcamera::ControlInfo::max ( ) const
inline

Retrieve the maximum value of the control.

For string controls, this is the maximum length of the string, not counting the terminating '\0'. For all other control types, this is the maximum value of each element.

Returns
A ControlValue with the maximum value for the control

◆ min()

libcamera::ControlInfo::min ( ) const
inline

Retrieve the minimum value of the control.

For string controls, this is the minimum length of the string, not counting the terminating '\0'. For all other control types, this is the minimum value of each element.

Returns
A ControlValue with the minimum value for the control

◆ operator!=()

bool libcamera::ControlInfo::operator!= ( const ControlInfo other) const
inline

Compare ControlInfo instances for non equality.

Returns
True if the constraints have different min and max, false otherwise

◆ operator==()

bool libcamera::ControlInfo::operator== ( const ControlInfo other) const
inline

Compare ControlInfo instances for equality.

Returns
True if the constraints have identical min and max, false otherwise

◆ values()

libcamera::ControlInfo::values ( ) const
inline

Retrieve the list of valid values.

For controls that support a pre-defined number of values, the enumeration of those is reported through a vector of ControlValue instances accessible with this function.

Returns
A vector of ControlValue representing the control valid values

The documentation for this class was generated from the following files: