2.25. V4L2 矩形辅助函数

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

复制宽度/高度值。

参数

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 应在 boundary 内。

参数

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。