diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/controls.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index 4b2e7e9c..80944efc 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -13,6 +13,7 @@ #include <string> #include <unordered_map> +#include <libcamera/geometry.h> #include <libcamera/span.h> namespace libcamera { @@ -27,6 +28,8 @@ enum ControlType { ControlTypeInteger64, ControlTypeFloat, ControlTypeString, + ControlTypeRectangle, + ControlTypeSize, }; namespace details { @@ -70,6 +73,16 @@ struct control_type<std::string> { static constexpr ControlType value = ControlTypeString; }; +template<> +struct control_type<Rectangle> { + static constexpr ControlType value = ControlTypeRectangle; +}; + +template<> +struct control_type<Size> { + static constexpr ControlType value = ControlTypeSize; +}; + template<typename T, std::size_t N> struct control_type<Span<T, N>> : public control_type<std::remove_cv_t<T>> { }; |