blob: c1c7daed725904587c06e0f51da95ce197734bae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* geometry.cpp - Geometry-related structures
*/
#include <sstream>
#include <libcamera/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 Size
* \brief Describe a two-dimensional size
*
* The Size structure defines a two-dimensional size with integer precision.
*/
/**
* \fn Size::Size()
* \brief Construct a Size with width and height set to 0
*/
/**
* \fn Size::Size(unsigned int width, unsigned int height)
* \brief Construct a Size with given \a width and \a height
* \param width The Size width
* \param height The Size height
*/
/**
* \var Size::width
* \brief The Size width
*/
/**
* \var Size::height
* \brief The Size height
*/
/**
* \struct SizeRange
* \brief Describe a range of sizes
*
* SizeRange describes a range of sizes included in the [min, max]
* interval for both the width and the height. If the minimum and
* maximum sizes are identical it represents a single size.
*/
/**
* \fn SizeRange::SizeRange()
* \brief Construct a size range initialized to 0
*/
/**
* \fn SizeRange::SizeRange(unsigned int minW, unsigned int minH, unsigned int maxW, unsigned int maxH)
* \brief Construct an initialized size range
* \param minW The minimum width
* \param minH The minimum height
* \param maxW The maximum width
* \param maxH The maximum height
*/
/**
* \var SizeRange::min
* \brief The minimum size
*/
/**
* \var SizeRange::max
* \brief The maximum size
*/
} /* namespace libcamera */
|