libcamera
v0.3.2+188-9fc86dc0
Supporting cameras in Linux since 2019
|
Framework to manage controls related to an object. More...
#include <assert.h>
#include <map>
#include <optional>
#include <set>
#include <stdint.h>
#include <string>
#include <unordered_map>
#include <vector>
#include <libcamera/base/class.h>
#include <libcamera/base/span.h>
#include <libcamera/geometry.h>
Go to the source code of this file.
Classes | |
class | libcamera::ControlValue |
Abstract type representing the value of a control. More... | |
class | libcamera::ControlId |
Control static metadata. More... | |
class | libcamera::Control< T > |
Describe a control and its intrinsic properties. More... | |
class | libcamera::ControlInfo |
Describe the limits of valid values for a Control. More... | |
class | libcamera::ControlInfoMap |
A map of ControlId to ControlInfo. More... | |
class | libcamera::ControlList |
Associate a list of ControlId with their values for an object. More... | |
Namespaces | |
libcamera | |
Top-level libcamera namespace. | |
Typedefs | |
using | libcamera::ControlIdMap = std::unordered_map< unsigned int, const ControlId * > |
A map of numerical control ID to ControlId. More... | |
Enumerations | |
enum | libcamera::ControlType { libcamera::ControlTypeNone, libcamera::ControlTypeBool, libcamera::ControlTypeByte, libcamera::ControlTypeUnsigned16, libcamera::ControlTypeUnsigned32, libcamera::ControlTypeInteger32, libcamera::ControlTypeInteger64, libcamera::ControlTypeFloat, libcamera::ControlTypeString } |
Define the data type of a Control. More... | |
Framework to manage controls related to an object.
A control is a mean to govern or influence the operation of an object, and in particular of a camera. Every control is defined by a unique numerical ID, a name string and the data type of the value it stores. The libcamera API defines a set of standard controls in the libcamera::controls namespace, as a set of instances of the Control class.
The main way for applications to interact with controls is through the ControlList stored in the Request class:
The ControlList::get() and ControlList::set() functions automatically deduce the data type based on the control.