From 8dbc203bb22c4616a6a2660798715fdbb9cfe25b Mon Sep 17 00:00:00 2001 From: Jacopo Mondi Date: Tue, 5 Feb 2019 18:00:09 +0100 Subject: libcamera: Add geometry.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add geometry-related definitions in the geometry.h internal header. Signed-off-by: Jacopo Mondi Reviewed-by: Niklas Söderlund Reviewed-by: Kieran Bingham Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- src/libcamera/geometry.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ src/libcamera/include/geometry.h | 22 ++++++++++++++++++ src/libcamera/meson.build | 1 + 3 files changed, 72 insertions(+) create mode 100644 src/libcamera/geometry.cpp create mode 100644 src/libcamera/include/geometry.h (limited to 'src') diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp new file mode 100644 index 00000000..57f4fc77 --- /dev/null +++ b/src/libcamera/geometry.cpp @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * geometry.cpp - Geometry-related structures + */ + +#include "geometry.h" + +/** + * \file geometry.h + * \brief Data structures related to geometric objects + */ + +namespace libcamera { + +/** + * \struct Rectangle + * \brief Describe a rectangle's position and dimensions + * + * Rectangles are used to identify an area of an image. They are specified by + * the coordinates of top-left corner and their horizontal and vertical size. + * + * The measure unit of the rectangle coordinates and size, as well as the + * reference point from which the Rectangle::x and Rectangle::y displacements + * refers to, are defined by the context were rectangle is used. + */ + +/** + * \var Rectangle::x + * \brief The horizontal coordinate of the rectangle's top-left corner + */ + +/** + * \var Rectangle::y + * \brief The vertical coordinate of the rectangle's top-left corner + */ + +/** + * \var Rectangle::w + * \brief The distance between the left and right sides + */ + +/** + * \var Rectangle::h + * \brief The distance between the top and bottom sides + */ + +} /* namespace libcamera */ diff --git a/src/libcamera/include/geometry.h b/src/libcamera/include/geometry.h new file mode 100644 index 00000000..cc146da7 --- /dev/null +++ b/src/libcamera/include/geometry.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * geometry.h - Geometry-related structure + */ + +#ifndef __LIBCAMERA_GEOMETRY_H__ +#define __LIBCAMERA_GEOMETRY_H__ + +namespace libcamera { + +struct Rectangle { + int x; + int y; + unsigned int w; + unsigned int h; +}; + +} /* namespace libcamera */ + +#endif /* __LIBCAMERA_GEOMETRY_H__ */ diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build index a4e9cc8f..8b33c4b2 100644 --- a/src/libcamera/meson.build +++ b/src/libcamera/meson.build @@ -6,6 +6,7 @@ libcamera_sources = files([ 'event_dispatcher.cpp', 'event_dispatcher_poll.cpp', 'event_notifier.cpp', + 'geometry.cpp', 'log.cpp', 'media_device.cpp', 'media_object.cpp', -- cgit v1.2.1