diff options
-rw-r--r-- | src/libcamera/geometry.cpp | 49 | ||||
-rw-r--r-- | src/libcamera/include/geometry.h | 22 | ||||
-rw-r--r-- | src/libcamera/meson.build | 1 |
3 files changed, 72 insertions, 0 deletions
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', |