1. 介绍
lv_line 线条简单来说是由多个点连接而成的对象,它可以通过 lv_obj_set_size 接口来设置固定的大小,也可以通lv_line_set_auto_size(line,true)接口来设置线条对象的大小自适应,它会根据其内部所有点中最大的 x 和 y 坐标来算出自身的大小,默认情况下,大小自适应功能是被使能了的,对于线条对象来说,其内部的所有点坐标默认情况下都是以其左上角为参考原点的,当然了,你可以通过 lv_line_set_y_invert(line, true)接口来反转 y 轴,从而使左下角变为参考原点。
2. lv_line 的 API 接口
2.1 API 接口
2.1.1 创建对象
lv_obj_t * lv_line_create(lv_obj_t * par, const lv_obj_t * copy);
参数:
par: 父对象
copy: 拷贝的对象,如果无拷贝的话,传 NULL 值
返回值:
返回创建出来的对象,如果返回 NULL 的话,说明堆空间不够了
2.1.2 设置坐标点集合
void lv_line_set_points(lv_obj_t * line, const lv_point_t point_a[], uint16_t point_num);
参数:
line: 线条对象
point_a: 坐标点集合,数组的形式,如下所示:
const lv_point_t line_points[] = { {20, 30}, {70, 70}, {120, 10}};
point_num: 坐标点的个数
线是由点构成的,这里传入 point_num 个坐标点,就可以绘制出 point_num-1 条线。
2.1.3 是否使能大小自适应
void lv_line_set_auto_size(lv_obj_t * line, bool en);
参数:
line: 线条对象
en: 是否使能
默认情况下,线条对象的大小自适应功能是被使能了的,它会根据其内部所有点中最大的x 和 y 坐标来算出自身的大小,这个大小计算的过程其实是在lv_line_set_points 接口内部完成的。
2.1.4 是否设置 y 轴反转
void lv_line_set_y_invert(lv_obj_t * line, bool en);
参数:
line: 线条对象
en: 是否使能
默认情况下是以 lv_line 对象的左上角为参考原点的,如果你调用了 lv_line_set_y_invert接口来反转 y 轴的话,那么参考原点就会变为左下角。
2.1.5 设置样式
static inline void lv_line_set_style(lv_obj_t * line, lv_line_style_t type, const lv_style_t * style);
参数:
line: 线条对象
type: 设置哪一个部件的样式,目前就只有 LV_LINE_STYLE_MAIN 一个可选值
style: 样式