2.25. V4L2 矩形辅助函数

void v4l2_rect_set_size_to(struct v4l2_rect *r, const struct v4l2_rect *size)

复制 width/height 值。

参数

struct v4l2_rect *r

将设置其宽度和高度字段的矩形

const struct v4l2_rect *size

包含您需要的宽度和高度字段的矩形。

void v4l2_rect_set_min_size(struct v4l2_rect *r, const struct v4l2_rect *min_size)

r 的宽度和高度应 >= min_size。

参数

struct v4l2_rect *r

将修改其宽度和高度的矩形

const struct v4l2_rect *min_size

包含最小宽度和高度的矩形

void v4l2_rect_set_max_size(struct v4l2_rect *r, const struct v4l2_rect *max_size)

r 的宽度和高度应 <= max_size

参数

struct v4l2_rect *r

将修改其宽度和高度的矩形

const struct v4l2_rect *max_size

包含最大宽度和高度的矩形

void v4l2_rect_map_inside(struct v4l2_rect *r, const struct v4l2_rect *boundary)

r 应位于边界内。

参数

struct v4l2_rect *r

将被修改的矩形

const struct v4l2_rect *boundary

包含 r 的边界的矩形

bool v4l2_rect_same_size(const struct v4l2_rect *r1, const struct v4l2_rect *r2)

如果 r1 与 r2 具有相同的大小,则返回 true

参数

const struct v4l2_rect *r1

矩形。

const struct v4l2_rect *r2

矩形。

描述

如果两个矩形的大小相同,则返回 true。

bool v4l2_rect_same_position(const struct v4l2_rect *r1, const struct v4l2_rect *r2)

如果 r1 与 r2 具有相同的位置,则返回 true

参数

const struct v4l2_rect *r1

矩形。

const struct v4l2_rect *r2

矩形。

描述

如果两个矩形具有相同的位置,则返回 true

bool v4l2_rect_equal(const struct v4l2_rect *r1, const struct v4l2_rect *r2)

如果 r1 等于 r2,则返回 true

参数

const struct v4l2_rect *r1

矩形。

const struct v4l2_rect *r2

矩形。

描述

如果两个矩形具有相同的大小和位置,则返回 true。

void v4l2_rect_intersect(struct v4l2_rect *r, const struct v4l2_rect *r1, const struct v4l2_rect *r2)

计算两个矩形的交集。

参数

struct v4l2_rect *r

r1r2 的交集。

const struct v4l2_rect *r1

矩形。

const struct v4l2_rect *r2

矩形。

void v4l2_rect_scale(struct v4l2_rect *r, const struct v4l2_rect *from, const struct v4l2_rect *to)

按 to/from 缩放矩形 r

参数

struct v4l2_rect *r

要缩放的矩形。

const struct v4l2_rect *from

来自矩形。

const struct v4l2_rect *to

到矩形。

描述

这会水平缩放矩形 r ,比例为 to->width / from->width,垂直缩放比例为 to->height / from->height

通常,rfrom 中的一个矩形,您希望在将 from 缩放到 to 之后显示该矩形。 因此,生成的 r 将是 to 中的缩放矩形。

bool v4l2_rect_overlap(const struct v4l2_rect *r1, const struct v4l2_rect *r2)

r1 和 r2 是否重叠?

参数

const struct v4l2_rect *r1

矩形。

const struct v4l2_rect *r2

矩形。

描述

如果 r1r2 重叠,则返回 true。

bool v4l2_rect_enclosed(struct v4l2_rect *r1, struct v4l2_rect *r2)

r1 是否包含在 r2 中?

参数

struct v4l2_rect *r1

矩形。

struct v4l2_rect *r2

矩形。

描述

如果 r1 包含在 r2 中,则返回 true。