文章目录
- 调试宏
- 结构体部分
- 函数部分
- lv_scr_act:获取当前活动屏幕对象
- lv_label_create:创建一个标签对象
- lv_label_set_long_mode:设置标签对象的长文本显示模式
- lv_label_set_recolor:设置标签对象的颜色重映射模式
- lv_label_set_text:设置标签对象的文本内容
- lv_obj_set_style_text_align:设置对象的文本对齐样式
- lv_obj_align:对象对齐功能
- lv_obj_set_pos:设置对象的位置
- lv_obj_set_size:设置对象的尺寸
- lv_obj_set_width:设置对象的宽度
- lv_obj_set_height:设置对象的高度
- lv_obj_get_width:获取对象的当前宽度
- lv_obj_get_height:获取对象的当前高度
- lv_style_init:初始化样式
- lv_style_set_bg_color:设置样式的背景颜色
- lv_style_set_bg_opa:设置样式的背景不透明度
- lv_style_set_border_width:设置样式的边框宽度
- lv_style_set_border_color:设置样式的边框颜色
- lv_obj_add_style:为对象添加样式
- lv_style_reset:重置样式
- lv_obj_remove_style_all:移除对象上的所有样式
- lv_obj_move_foreground:将对象移至前景
- lv_obj_move_background:将对象移至背景
- lv_obj_set_parent:设置对象的父级对象
- lv_obj_add_event_cb:给对象添加事件回调函数
- lv_event_get_target:获取事件的目标对象
调试宏
LV_LOG_USER(…)
#define LV_LOG_USER(...) _lv_log_add(LV_LOG_LEVEL_USER, __FILE__, __LINE__, __func__, __VA_ARGS__);
结构体部分
lv_obj_t
typedef struct _lv_obj_t {
const lv_obj_class_t * class_p; // 指向对象类的指针
struct _lv_obj_t * parent; // 指向父级对象的指针
_lv_obj_spec_attr_t * spec_attr; // 特殊属性指针
_lv_obj_style_t * styles; // 样式集合指针
#if LV_USE_USER_DATA
void * user_data; // 用户自定义数据指针
#endif
lv_area_t coords; // 对象在屏幕上占用的区域
lv_obj_flag_t flags; // 对象标志位字段
lv_state_t state; // 对象当前状态
uint16_t layout_inv :1; // 布局是否需要更新标志位
uint16_t scr_layout_inv :1; // 屏幕布局是否需要更新标志位
uint16_t skip_trans :1; // 是否跳过过渡动画标志位
uint16_t style_cnt :6; // 样式数量字段
uint16_t h_layout :1; // 水平布局字段
uint16_t w_layout :1; // 垂直布局字段
}lv_obj_t;
lv_label_long_mode_t
/** 长文本模式行为。在'lv_label_ext_t'中使用 */
enum {
LV_LABEL_LONG_WRAP, /**< 保持对象宽度,换行过长的行并扩展对象高度 */
LV_LABEL_LONG_DOT, /**< 保持大小,并在文本过长时在末尾添加省略号 */
LV_LABEL_LONG_SCROLL, /**< 保持大小并滚动文本来回 */
LV_LABEL_LONG_SCROLL_CIRCULAR, /**< 保持大小并循环滚动文本 */
LV_LABEL_LONG_CLIP, /**< 保持大小并裁剪超出范围的文本 */
};
typedef uint8_t lv_label_long_mode_t;
lv_text_align_t
enum {
LV_TEXT_ALIGN_AUTO, /**< 自动对齐文本 */
LV_TEXT_ALIGN_LEFT, /**< 左对齐文本 */
LV_TEXT_ALIGN_CENTER, /**< 居中对齐文本 */
LV_TEXT_ALIGN_RIGHT, /**< 右对齐文本 */
};
typedef uint8_t lv_text_align_t;
lv_style_t
/**
* 样式的描述(属性和值的集合)
*/
typedef struct {
#if LV_USE_ASSERT_STYLE
uint32_t sentinel; /**< 断言用标志 */
#endif
/* 如果只有一个属性,直接存储它
* 对于更多的属性,分配一个数组 */
union {
lv_style_value_t value1; /**< 第一个属性值 */
uint8_t * values_and_props; /**< 属性和值的数组 */
const lv_style_const_prop_t * const_props; /**< 常量属性指针 */
} v_p;
uint16_t prop1 : 15; /**< 第一个属性 */
uint16_t is_const : 1; /**< 是否为常量样式标志位 */
uint8_t has_group; /**< 是否具有组标志位 */
uint8_t prop_cnt; /**< 属性数量 */
} lv_style_t;
lv_palette_t
typedef enum {
LV_PALETTE_RED, /**< 红色调色板 */
LV_PALETTE_PINK, /**< 粉红色调色板 */
LV_PALETTE_PURPLE, /**< 紫色调色板 */
LV_PALETTE_DEEP_PURPLE, /**< 深紫色调色板 */
LV_PALETTE_INDIGO, /**< 靛蓝色调色板 */
LV_PALETTE_BLUE, /**< 蓝色调色板 */
LV_PALETTE_LIGHT_BLUE, /**< 亮蓝色调色板 */
LV_PALETTE_CYAN, /**< 青绿色调色板 */
LV_PALETTE_TEAL, /**< 蓝绿色调色板 */
LV_PALETTE_GREEN, /**< 绿色调色板 */
LV_PALETTE_LIGHT_GREEN, /**< 亮绿色调色板 */
LV_PALETTE_LIME, /**< 酸橙绿调色板 */
LV_PALETTE_YELLOW, /**< 黄色调色板 */
LV_PALETTE_AMBER, /**< 琥珀黄调色板 */
LV_PALETTE_ORANGE, /**< 橙红调色板 */
LV_PALETTE_DEEP_ORANGE, /**< 深橙红调色板 */
LV_PALETTE_BROWN, /**< 棕褐调色板 */
LV_PALETTE_BLUE_GREY, /**< 蓝灰调色板 */
LV_PALETTE_GREY, /**< 灰度调色板 */
_LV_PALETTE_LAST, /**< 最后一个调色板 */
LV_PALETTE_NONE = 0xff, /**< 来自调色板的无颜色 */
} lv_palette_t;
Opacity percentages.
/**
* 不透明度百分比。
*/
enum {
LV_OPA_TRANSP = 0, /**< 完全透明 */
LV_OPA_0 = 0, /**< 0% 不透明度 */
LV_OPA_10 = 25, /**< 10% 不透明度 */
LV_OPA_20 = 51, /**< 20% 不透明度 */
LV_OPA_30 = 76, /**< 30% 不透明度 */
LV_OPA_40 = 102,/**< 40% 不透明度 */
LV_OPA_50 = 127,/**< 50% 不透明度 */
LV_OPA_60 = 153,/**< 60% 不透明度 */
LV_OPA_70 = 178,/**< 70% 不透明度 */
LV_OPA_80 = 204,/**< 80% 不透明度 */
LV_OPA_90 =229, /**<90%不透明度**/
LV_OPA_100 =255,/*100%不透明*/
LV_OPA_COVER=255 /*覆盖*/
};
组件状态
/**
* Widget 的可能状态。
* 可以进行"或"运算组合多个值
*/
enum {
LV_STATE_DEFAULT = 0x0000, /**< 默认状态 */
LV_STATE_CHECKED = 0x0001, /**< 选中状态 */
LV_STATE_FOCUSED = 0x0002, /**< 焦点状态 */
LV_STATE_FOCUS_KEY = 0x0004, /**< 键盘焦点状态 */
LV_STATE_EDITED = 0x0008, /**< 编辑状态 */
LV_STATE_HOVERED = 0x0010, /**< 悬停状态 */
LV_STATE_PRESSED = 0x0020, /**< 按下状态 */
LV_STATE_SCROLLED = 0x0040, /**< 滚动状态 */
LV_STATE_DISABLED = 0x0080, /**< 禁用状态 */
LV_STATE_USER_1 = 0x1000, /**< 用户自定义状态1 */
LV_STATE_USER_2 = 0x2000, /**< 用户自定义状态2 */
LV_STATE_USER_3 = 0x4000, /**< 用户自定义状态3 */
*可以在某些函数中使用特殊值以针对所有状态*/
};
lv_event_code_t
/**
* 发送给对象的事件类型。
*/
typedef enum {
LV_EVENT_ALL = 0, /**< 所有事件 */
/** 输入设备事件*/
LV_EVENT_PRESSED, /**< 对象被按下 */
LV_EVENT_PRESSING, /**< 对象正在被按住(在按住期间连续调用) */
LV_EVENT_PRESS_LOST, /**< 对象仍然被按住,但是光标/手指滑出了对象 */
LV_EVENT_SHORT_CLICKED, /**< 对象被短时间按下,然后释放。如果发生滚动,则不调用。*/
LV_EVENT_LONG_PRESSED, /**< 对象被按住至少 `long_press_time` 时间。如果发生滚动,则不调用。*/
LV_EVENT_LONG_PRESSED_REPEAT, /**< 在每个 `long_press_repeat_time` ms 后调用。 如果发生滚动,则不调用。*/
LV_EVENT_CLICKED, /**< 如果未发生滚动,则在释放时调用(与长按无关) */
LV_EVENT_RELEASED, /**< 在对象释放时调用的情况下 */
LV_EVENT_SCROLL_BEGIN, /**< 滚动开始 */
LV_EVENT_SCROLL_END, /**< 滚动结束 */
LV_EVENT_SCROLL, /**< 滚动中 */
LV_EVENT_GESTURE, /**< 检测到手势。使用 `lv_indev_get_gesture_dir(lv_indev_get_act())` 获取手势方向 */
LV_EVENT_KEY, /**< 向对象发送按键事件。 使用 `lv_indev_get_key(lv_indev_get_act())` 获取按键 */
LV_EVENT_FOCUSED, /**< 对象获得焦点 */
LV_EVENT_DEFOCUSED, /**< 对象失去焦点 */
LV_EVENT_LEAVE, /**< 对象失去焦点但仍被选择 */
LV_EVENT_HIT_TEST, /**< 执行高级命中测试 */
/** 绘图事件 */
LV_EVENT_COVER_CHECK, /**< 检查对象是否完全覆盖某个区域。事件参数是 `lv_cover_check_info_t *` 类型的指针 */
LV_EVENT_REFR_EXT_DRAW_SIZE, /**< 获取对象周围需要额外绘制的区域大小(例如阴影)。事件参数是 `lv_coord_t *` 类型用于存储大小的指针 */
LV_EVENT_DRAW_MAIN_BEGIN, /**< 开始主绘图阶段 */
LV_EVENT_DRAW_MAIN, /**< 执行主绘图 */
LV_EVENT_DRAW_MAIN_END, /**< 结束主绘图阶段 */
LV_EVENT_DRAW_POST_BEGIN, /**< 开始后期绘图阶段(当所有子对象被绘制时) */
LV_EVENT_DRAW_POST, /**< 执行后期绘图阶段(当所有子对象被绘制时) */
LV_EVENT_DRAW_POST_END, /**< 结束后期绘图阶段(当所有子对象被绘制时) */
LV_EVENT_DRAW_PART_BEGIN, /**< 开始绘制部分。事件参数是 `lv_obj_draw_dsc_t *` 类型的指针 */
LV_EVENT_DRAW_PART_END, /**< 结束绘制部分。事件参数是 `lv_obj_draw_dsc_t *` 类型的指针 */
/** 特殊事件 */
LV_EVENT_VALUE_CHANGED, /**< 对象的值已更改(例如滑块移动) */
LV_EVENT_INSERT, /**< 一个文本被插入到对象中。事件数据是 `char *` 类型被插入的文本 */
LV_EVENT_REFRESH, /**< 通知对象刷新其上的某些内容(用户可见) */
LV_EVENT_READY, /**< 进程已完成 */
LV_EVENT_CANCEL, /**< 进程被取消 */
/** 其他事件 */
LV_EVENT_DELETE, /**< 对象正在被删除 */
LV_EVENT_CHILD_CHANGED, /**< 子对象被移除/添加 */
LV_EVENT_SIZE_CHANGED, /**< 对象坐标/大小发生变化 */
LV_EVENT_STYLE_CHANGED, /**< 对象的样式已更改 */
LV_EVENT_LAYOUT_CHANGED, /**< 由于布局重新计算,子对象位置发生了变化 */
LV_EVENT_GET_SELF_SIZE, /**< 获取小部件的内部大小 */
_LV_EVENT_LAST /**< 默认事件数量 */
} lv_event_code_t;
函数部分
lv_scr_act:获取当前活动屏幕对象
/**
* @Fun_dec static inline lv_obj_t * lv_scr_act(void)
*
* @brief 获取当前活动屏幕对象(scr_act)的指针
*
* 此函数用于获取当前活动屏幕对象(也称为scr_act)的指针。活动屏幕是当前显示在屏幕上的最顶层对象。
*
* @param 无参数
*
* @return 返回类型为lv_obj_t*的指针,指向当前活动屏幕对象的地址
*
* @note 使用该函数前需要确保存在一个显示设备(disp),并且已经设置了默认显示设备(default_disp)
*/
lv_label_create:创建一个标签对象
/**
* @Fun_dec lv_obj_t * lv_label_create(lv_obj_t * parent)
*
* @brief 创建一个标签对象
*
* 此函数用于在指定的父对象下创建一个标签对象。标签对象可以用于显示文本信息。
*
* @param parent 父对象,表示将要创建的标签对象的父对象
*
* @return 返回类型为lv_obj_t*的指针,指向新创建的标签对象的地址
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)和已设置默认显示设备(default_disp)
*/
lv_label_set_long_mode:设置标签对象的长文本显示模式
/**
* @Fun_dec void lv_label_set_long_mode(lv_obj_t * obj, lv_label_long_mode_t long_mode)
*
* @brief 设置标签对象的长文本显示模式
*
* 此函数用于设置标签对象的长文本显示模式。长文本显示模式决定了当标签对象的内容超出其可见区域时如何进行处理。
*
* @param obj 标签对象,表示要设置长文本显示模式的目标标签对象
* @param long_mode 长文本显示模式,表示要设置的长文本显示模式,可选值为:
* - LV_LABEL_LONG_EXPAND:缩放以适应所有文本内容
* - LV_LABEL_LONG_SCROLL:滚动以显示完整的文本内容
* - LV_LABEL_LONG_SCROLL_CIRCULAR:循环滚动以连续显示文本内容
* - LV_LABEL_LONG_CLIP:裁剪超出边界的部分
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_label_set_recolor:设置标签对象的颜色重映射模式
/**
* @Fun_dec void lv_label_set_recolor(lv_obj_t * obj, bool en)
*
* @brief 设置标签对象的颜色重映射模式
*
* 此函数用于设置标签对象的颜色重映射模式,即是否启用对标签文本中可能存在的颜色代码进行重新映射。
*
* @param obj 标签对象,表示要设置颜色重映射模式的目标标签对象
* @param en 颜色重映射模式,表示要设置的颜色重映射模式开关:
* - false:禁用颜色重映射
* - true:启用颜色重映射
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并
lv_label_set_text:设置标签对象的文本内容
/**
* @Fun_dec void lv_label_set_text(lv_obj_t * obj, const char * text)
*
* @brief 设置标签对象的文本内容
*
* 此函数用于设置标签对象的文本内容。传入的text参数将覆盖当前标签对象的文本内容。
*
* @param obj 标签对象,表示要设置文本内容的目标标签对象
* @param text 文本内容,表示要设置的新文本内容,以NULL结尾的字符串形式表示
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_obj_set_style_text_align:设置对象的文本对齐样式
/**
* @Fun_dec void lv_obj_set_style_text_align(struct _lv_obj_t * obj, lv_text_align_t value, lv_style_selector_t selector)
*
* @brief 设置对象的文本对齐样式
*
* 此函数用于设置对象的文本对齐样式。传入的value参数将覆盖当前对象的文本对齐样式设置。
*
* @param obj 对象,表示要设置文本对齐样式的目标对象
* @param value 文本对齐样式,表示要设置的新文本对齐方式值
* @param selector 样式选择器,表示要设置哪个选择器下的样式(例如普通状态、按下状态等)
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_obj_align:对象对齐功能
/**
* @Fun_dec void lv_obj_align(lv_obj_t * obj, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs)
*
* @brief 对象对齐功能
*
* 此函数用于设置对象的对齐方式和位置偏移。传入的align参数表示对象的对齐方式,x_ofs和y_ofs分别表示对象在水平和垂直方向上的偏移量。
*
* @param obj 对象,表示要设置对齐方式的目标对象
* @param align 对齐方式,表示要设置的新对齐方式值
* @param x_ofs 水平偏移量,表示要设置的水平方向上的偏移量
* @param y_ofs 垂直偏移量,表示要设置的垂直方向上的偏移量
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_obj_set_pos:设置对象的位置
/**
* @Fun_dec void lv_obj_set_pos(lv_obj_t * obj, lv_coord_t x, lv_coord_t y)
*
* @brief 设置对象的位置
*
* 此函数用于设置对象的位置。传入的x和y参数分别表示对象在水平和垂直方向上的坐标值。
*
* @param obj 对象,表示要设置位置的目标对象
* @param x 水平坐标,表示要设置的新水平坐标值
* @param y 垂直坐标,表示要设置的新垂直坐标值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_obj_set_size:设置对象的尺寸
/**
* @Fun_dec void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h)
*
* @brief 设置对象的尺寸
*
* 此函数用于设置对象的尺寸。传入的w和h参数分别表示对象的宽度和高度值。
*
* @param obj 对象,表示要设置尺寸的目标对象
* @param w 宽度,表示要设置的新宽度值
* @param h 高度,表示要设置的新高度值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经设置了默认显示设备(default_disp)
*/
lv_obj_set_width:设置对象的宽度
/**
* @Fun_dec void lv_obj_set_width(lv_obj_t * obj, lv_coord_t w)
*
* @brief 设置对象的宽度
*
* 此函数用于设置对象的宽度。传入的w参数将覆盖当前对象的宽度设置。
*
* @param obj 对象,表示要设置宽度的目标对象
* @param w 宽度,表示要设置的新宽度值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经为默认显示设备(default_disp)设置了样式。
*/
lv_obj_set_height:设置对象的高度
/**
* @Fun_dec void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h)
*
* @brief 设置对象的高度
*
* 此函数用于设置对象的高度。传入的h参数将覆盖当前对象的高度设置。
*
* @param obj 对象,表示要设置高度的目标对象
* @param h 高度,表示要设置的新高度值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经为默认显示设备(default_disp)设置了样式。
*/
lv_obj_get_width:获取对象的当前宽度
/**
* @Fun_dec lv_coord_t lv_obj_get_width(const lv_obj_t * obj)
*
* @brief 获取对象的当前宽度
*
* 此函数用于获取对象的当前宽度值。
*
* @param obj 对象,表示要获取宽度的目标对象
*
* @return 返回对象的当前宽度值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经为默认显示设备(default_disp)设置了样式。
*/
lv_obj_get_height:获取对象的当前高度
/**
* @Fun_dec lv_coord_t lv_obj_get_height(const lv_obj_t * obj)
*
* @brief 获取对象的当前高度
*
* 此函数用于获取对象的当前高度值。
*
* @param obj 对象,表示要获取高度的目标对象
*
* @return 返回对象的当前高度值
*
* @note 在调用此函数之前,需要确保已经存在一个有效的显示设备(disp)并且已经为默认显示设备(default_disp)设置了样式。
*/
lv_style_init:初始化样式
/**
* @Fun_dec void lv_style_init(lv_style_t * style)
*
* @brief 初始化样式
*
* 此函数用于初始化一个新的样式。传入的style参数为要初始化的样式对象。
*
* @param style 样式对象,表示要初始化的样式
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且已经定义了宏LV_USE_ASSERT_STYLE(用于开启样式断言)和宏LV_STYLE_SENTINEL_VALUE(用于样式断言的sentinel值)。
*/
lv_style_set_bg_color:设置样式的背景颜色
/**
* @Fun_dec void lv_style_set_bg_color(lv_style_t * style, lv_color_t value)
*
* @brief 设置样式的背景颜色
*
* 此函数用于设置样式的背景颜色。传入的value参数表示要设置的新背景颜色值。
*
* @param style 样式对象,表示要设置背景颜色的样式
* @param value 背景颜色,表示要设置的新背景颜色值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_STYLE_BG_COLOR(用于样式背景颜色),宏LV_STYLE_PROP_HEIGHT(用于样式属性高度)和宏LV_STYLE_PROP_NONE(用于表示无效的属性值)。
*/
lv_style_set_bg_opa:设置样式的背景不透明度
/**
* @Fun_dec void lv_style_set_bg_opa(lv_style_t * style, lv_opa_t value)
*
* @brief 设置样式的背景不透明度
*
* 此函数用于设置样式的背景不透明度。传入的value参数表示要设置的新背景不透明度值。
*
* @param style 样式对象,表示要设置背景不透明度的样式
* @param value 背景不透明度,表示要设置的新背景不透明度值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_STYLE_BG_OPA(用于样式背景不透明度)、宏LV_STYLE_PROP_NUM(用于样式属性数值)和宏LV_STYLE_PROP_NONE(用于表示无效的属性值)。
*/
lv_style_set_border_width:设置样式的边框宽度
/**
* @Fun_dec void lv_style_set_border_width(lv_style_t * style, lv_coord_t value)
*
* @brief 设置样式的边框宽度
*
* 此函数用于设置样式的边框宽度。传入的value参数表示要设置的新边框宽度值。
*
* @param style 样式对象,表示要设置边框宽度的样式
* @param value 边框宽度,表示要设置的新边框宽度值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_STYLE_BORDER_WIDTH(用于样式边框宽度)、宏LV_STYLE_PROP_NUM(用于样式属性数值)和宏LV_STYLE_PROP_NONE(用于表示无效的属性值)。
*/
lv_style_set_border_color:设置样式的边框颜色
/**
* @Fun_dec void lv_style_set_border_color(lv_style_t * style, lv_color_t value)
*
* @brief 设置样式的边框颜色
*
* 此函数用于设置样式的边框颜色。传入的value参数表示要设置的新边框颜色值。
*
* @param style 样式对象,表示要设置边框颜色的样式
* @param value 边框颜色,表示要设置的新边框颜色值
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_STYLE_BORDER_COLOR(用于样式边框颜色)、宏LV_STYLE_PROP_COLOR(用于样式属性颜色)和宏LV_STYLE_PROP_NONE(用于表示无效的属性值)。
*/
lv_obj_add_style:为对象添加样式
/**
* @Fun_dec void lv_obj_add_style(lv_obj_t * obj, lv_style_t * style, lv_style_selector_t selector)
*
* @brief 为对象添加样式
*
* 此函数用于为指定对象添加样式。传入的obj参数表示要添加样式的对象,style参数表示要添加的样式对象,selector参数表示要添加样式的选择器。
*
* @param obj 对象,表示要添加样式的目标对象
* @param style 样式对象,表示要添加的样式
* @param selector 选择器,表示要添加样式的选择器
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_STYLE_PROP_ANY(用于表示任意属性)、宏_lv_obj_style_t(用于对象内部使用的样式结构体)和宏lv_mem_realloc(用于重新分配内存)。
*/
lv_style_reset:重置样式
/**
* @Fun_dec void lv_style_reset(lv_style_t * style)
*
* @brief 重置样式
*
* 此函数用于重置样式对象为默认值。传入的style参数表示要重置的样式对象。
*
* @param style 样式对象,表示要重置的样式
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_ASSERT_STYLE(用于样式断言)、宏LV_STYLE_SENTINEL_VALUE(用于样式断言的sentinel值)和宏LV_USE_ASSERT_STYLE(用于开启样式断言)。
*/
lv_obj_remove_style_all:移除对象上的所有样式
/**
* @Fun_dec static inline void lv_obj_remove_style_all(struct _lv_obj_t * obj)
*
* @brief 移除对象上的所有样式
*
* 此函数用于从指定对象上移除所有的样式。传入的obj参数表示目标对象。
*
* @param obj 对象,表示要移除样式的目标对象
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_PART_ANY(用于表示任意部分)和宏LV_STATE_ANY(用于表示任意状态)。
*/
lv_obj_move_foreground:将对象移至前景
/**
* @Fun_dec void lv_obj_move_foreground(lv_obj_t * obj)
*
* @brief 将对象移至前景
*
* 此函数用于将指定对象移至其父级对象的前景。传入的obj参数表示目标对象。
*
* @param obj 对象,表示要移至前景的目标对象
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_ASSERT_OBJ(用于对象断言)和宏MY_CLASS(用于自定义类)。
*/
lv_obj_move_background:将对象移至背景
/**
* @Fun_dec void lv_obj_move_background(lv_obj_t * obj)
*
* @brief 将对象移至背景
*
* 此函数用于将指定对象移至其父级对象的背景。传入的obj参数表示目标对象。
*
* @param obj 对象,表示要移至背景的目标对象
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_ASSERT_OBJ(用于对象断言)和宏MY_CLASS(用于自定义类)。
*/
lv_obj_set_parent:设置对象的父级对象
/**
* @Fun_dec void lv_obj_set_parent(lv_obj_t * obj, lv_obj_t * parent)
*
* @brief 设置对象的父级对象
*
* 此函数用于将指定对象设置为指定父级对象的子对象。传入的obj参数表示要设置父级对象的目标对象,parent参数表示要设置为父级对象的目标父级对象。
* 简单来说,就是用于将一个对象设置为另一个对象的子对象,即改变了对象的父级关系。
*
* @param obj 对象,表示要设置父级对象的目标对象
* @param parent 父级对象,表示要设置为父级对象的目标父级对象
*
* @return 无返回值
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_ASSERT_OBJ(用于对象断言)和宏MY_CLASS(用于自定义类)。
*/
lv_obj_add_event_cb:给对象添加事件回调函数
/**
* @Fun_dec struct _lv_event_dsc_t * lv_obj_add_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb, lv_event_code_t filter, void * user_data)
*
* @brief 给对象添加事件回调函数
*
* 此函数用于给指定对象添加一个事件回调函数。传入的obj参数表示目标对象,event_cb参数为要添加的事件回调函数,filter参数用于过滤特定的事件代码,user_data参数是用户自定义的数据。
*
* @param obj 对象,表示要为其添加事件回调函数的目标对象
* @param event_cb 事件回调函数,表示要添加的事件回调函数
* @param filter 事件过滤器,用于过滤特定的事件代码
* @param user_data 用户自定义数据,将会在回调函数中传递给它
*
* @return 返回指向刚添加的事件回调结构体的指针
*
* @note 在调用此函数之前,需要确保已经包含了相应的标头文件,并且定义了宏LV_ASSERT_OBJ(用于对象断言)和宏MY_CLASS(用于自定义类)。
*/
lv_event_get_target:获取事件的目标对象
/**
* @Fun_dec lv_obj_t * lv_event_get_target(lv_event_t * e)
*
* @brief 获取事件的目标对象
*
* 此函数用于获取事件的目标对象,即事件所针对的对象。传入的参数e是事件结构体指针。
*
* @param e 事件结构体指针
*
* @return 返回事件的目标对象指针
*/