From d4680c8ca2b5cac4f723ec869b297099000b1100 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 29 Feb 2020 03:39:46 +0200 Subject: libcamera: controls: Add rectangle and size control types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add two control types to store rectangles and sizes. These will be useful for the properties related to the pixel array. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund Reviewed-by: Jacopo Mondi --- src/libcamera/controls.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/libcamera/controls.cpp') diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp index 540cc026..08df7f29 100644 --- a/src/libcamera/controls.cpp +++ b/src/libcamera/controls.cpp @@ -58,6 +58,8 @@ static constexpr size_t ControlValueSize[] = { [ControlTypeInteger64] = sizeof(int64_t), [ControlTypeFloat] = sizeof(float), [ControlTypeString] = sizeof(char), + [ControlTypeRectangle] = sizeof(Rectangle), + [ControlTypeSize] = sizeof(Size), }; } /* namespace */ @@ -242,6 +244,16 @@ std::string ControlValue::toString() const str += std::to_string(*value); break; } + case ControlTypeRectangle: { + const Rectangle *value = reinterpret_cast(data); + str += value->toString(); + break; + } + case ControlTypeSize: { + const Size *value = reinterpret_cast(data); + str += value->toString(); + break; + } case ControlTypeNone: case ControlTypeString: break; -- cgit v1.2.1