/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2019, Google Inc. * * geometry.cpp - Geometry-related structures */ #include #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 */ /** * \brief Assemble and return a string describing the rectangle * * \return A string describing the Rectangle */ const std::string Rectangle::toString() const { std::stringstream ss; ss << "(" << x << "x" << y << ")/" << w << "x" << h; return ss.str(); } /** * \struct SizeRange * \brief Describe a range of image sizes * * SizeRange describes a range of image sizes included in the (minWidth, * minHeight) - (maxWidth, maxHeight) interval. If the minimum and * maximum sizes are identical it represents a single image resolution. */ /** * \fn SizeRange::SizeRange() * \brief Construct a size range */ /** * \var SizeRange::minWidth * \brief The minimum image width */ /** * \var SizeRange::minHeight * \brief The minimum image height */ /** * \var SizeRange::maxWidth * \brief The maximum image width */ /** * \var SizeRange::maxHeight * \brief The maximum image height */ } /* namespace libcamera */