1.24. V4L2 rect helper functions¶
-
void
v4l2_rect_set_size_to
(struct v4l2_rect *r, const struct v4l2_rect *size)¶ copy the width/height values.
Parameters
struct v4l2_rect *r
- rect whose width and height fields will be set
const struct v4l2_rect *size
- rect containing the width and height fields you need.
-
void
v4l2_rect_set_min_size
(struct v4l2_rect *r, const struct v4l2_rect *min_size)¶ width and height of r should be >= min_size.
Parameters
struct v4l2_rect *r
- rect whose width and height will be modified
const struct v4l2_rect *min_size
- rect containing the minimal width and height
-
void
v4l2_rect_set_max_size
(struct v4l2_rect *r, const struct v4l2_rect *max_size)¶ width and height of r should be <= max_size
Parameters
struct v4l2_rect *r
- rect whose width and height will be modified
const struct v4l2_rect *max_size
- rect containing the maximum width and height
-
void
v4l2_rect_map_inside
(struct v4l2_rect *r, const struct v4l2_rect *boundary)¶ r should be inside boundary.
Parameters
struct v4l2_rect *r
- rect that will be modified
const struct v4l2_rect *boundary
- rect containing the boundary for r
-
bool
v4l2_rect_same_size
(const struct v4l2_rect *r1, const struct v4l2_rect *r2)¶ return true if r1 has the same size as r2
Parameters
const struct v4l2_rect *r1
- rectangle.
const struct v4l2_rect *r2
- rectangle.
Description
Return true if both rectangles have the same size.
-
bool
v4l2_rect_same_position
(const struct v4l2_rect *r1, const struct v4l2_rect *r2)¶ return true if r1 has the same position as r2
Parameters
const struct v4l2_rect *r1
- rectangle.
const struct v4l2_rect *r2
- rectangle.
Description
Return true if both rectangles have the same position
-
bool
v4l2_rect_equal
(const struct v4l2_rect *r1, const struct v4l2_rect *r2)¶ return true if r1 equals r2
Parameters
const struct v4l2_rect *r1
- rectangle.
const struct v4l2_rect *r2
- rectangle.
Description
Return true if both rectangles have the same size and position.
-
void
v4l2_rect_intersect
(struct v4l2_rect *r, const struct v4l2_rect *r1, const struct v4l2_rect *r2)¶ calculate the intersection of two rects.
Parameters
struct v4l2_rect *r
- intersection of r1 and r2.
const struct v4l2_rect *r1
- rectangle.
const struct v4l2_rect *r2
- rectangle.
-
void
v4l2_rect_scale
(struct v4l2_rect *r, const struct v4l2_rect *from, const struct v4l2_rect *to)¶ scale rect r by to/from
Parameters
struct v4l2_rect *r
- rect to be scaled.
const struct v4l2_rect *from
- from rectangle.
const struct v4l2_rect *to
- to rectangle.
Description
This scales rectangle r horizontally by to->width / from->width and vertically by to->height / from->height.
Typically r is a rectangle inside from and you want the rectangle as it would appear after scaling from to to. So the resulting r will be the scaled rectangle inside to.
-
bool
v4l2_rect_overlap
(const struct v4l2_rect *r1, const struct v4l2_rect *r2)¶ do r1 and r2 overlap?
Parameters
const struct v4l2_rect *r1
- rectangle.
const struct v4l2_rect *r2
- rectangle.
Description
Returns true if r1 and r2 overlap.
-
bool
v4l2_rect_enclosed
(struct v4l2_rect *r1, struct v4l2_rect *r2)¶ is r1 enclosed in r2?
Parameters
struct v4l2_rect *r1
- rectangle.
struct v4l2_rect *r2
- rectangle.
Description
Returns true if r1 is enclosed in r2.