lvgl.draw_mask_radius_param_t()
创建一个lv_draw_mask_radius_param_t
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
lv_draw_mask_radius_param_t指针 |
例子
local radius = lvgl.draw_mask_radius_param_t()
lvgl.draw_mask_radius_param_t_free(radius)
释放一个lv_draw_mask_radius_param_t
参数
无
返回值
无
例子
local lvgl.draw_mask_radius_param_t_free(radius)
lvgl.draw_mask_line_param_t()
创建一个lv_draw_mask_line_param_t
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
lv_draw_mask_line_param_t指针 |
例子
local line = lvgl.draw_mask_line_param_t()
lvgl.draw_mask_line_param_t_free(line)
释放一个lv_draw_mask_line_param_t
参数
无
返回值
无
例子
local lvgl.draw_mask_line_param_t_free(line)
lvgl.draw_mask_fade_param_t()
创建一个lv_draw_mask_fade_param_t
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
lv_draw_mask_fade_param_t指针 |
例子
local fade = lvgl.draw_mask_fade_param_t()
lvgl.draw_mask_fade_param_t_free(fade)
释放一个lv_draw_mask_fade_param_t
参数
无
返回值
无
例子
local lvgl.draw_mask_fade_param_t_free(fade)
lvgl.font_get(name)
获取内置字体
参数
传入值类型 |
解释 |
---|---|
string |
字体名称+字号, 例如 opposans_m_10 |
返回值
返回值类型 |
解释 |
---|---|
userdata |
字体指针 |
例子
local font = lvgl.font_get("opposans_m_12")
lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en)
从文件系统加载字体
参数
传入值类型 |
解释 |
---|---|
string/userdata |
字体路径/spi_device (spi_device为使用外置高通矢量字库芯片) |
number |
size 可选,字号 16-192 默认16(使用高通矢量字库) |
number |
bpp 可选 深度 默认4(使用高通矢量字库) |
number |
thickness 可选 粗细值 默认size * bpp(使用高通矢量字库) |
number |
cache_size 可选 默认0(使用高通矢量字库) |
number |
sty_zh 可选 选择字体 默认1(使用高通矢量字库) |
number |
sty_en 可选 选择字体 默认3(使用高通矢量字库) |
返回值
返回值类型 |
解释 |
---|---|
userdata |
字体指针 |
例子
local font = lvgl.font_load("/font_32.bin") --local font = lvgl.font_load(spi_device,16)(高通矢量字库)
lvgl.font_free(font)
释放字体,慎用!!!仅通过font_load加载的字体允许卸载,通过font_get获取的字体不允许卸载
参数
传入值类型 |
解释 |
---|---|
string |
字体路径 |
返回值
返回值类型 |
解释 |
---|---|
userdata |
字体指针 |
例子
local font = lvgl.font_load("/font_32.bin") -- N N N N 操作 -- 确定字体不被使用,不被引用,且内存紧张需要释放 lvgl.font_free(font)
lvgl.obj_set_event_cb(obj, func)
设置组件的事件回调
参数
传入值类型 |
解释 |
---|---|
userdata |
lvgl组件指针 |
func |
lua函数, 参数有2个 (obj, event), 其中obj是当前对象, event是事件类型, 为整型 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.obj_set_signal_cb(obj, func)
设置组件的信号回调
参数
传入值类型 |
解释 |
---|---|
userdata |
lvgl组件指针 |
func |
lua函数, 参数有2个 (obj, signal), 其中obj是当前对象, signa服务器托管网l是信号类型, 为整型 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.anim_set_exec_cb(anim, func)
设置动画回调
参数
传入值类型 |
解释 |
---|---|
userdata |
动画指针 |
userdata |
lvgl组件指针 |
func |
lua函数, 参数有2个 (obj, value服务器托管网), 其中obj是当前对象, signal是信号类型, 为整型 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.anim_set_ready_cb(anim, func)
设置动画回调
参数
传入值类型 |
解释 |
---|---|
userdata |
动画指针 |
userdata |
lvgl组件指针 |
func |
lua函数, 参数有1个 (anim), 其中anim是当前对象 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.anim_path_set_cb(path, func)
设置动画回调
参数
传入值类型 |
解释 |
---|---|
userdata |
动画指针 |
userdata |
lvgl组件指针 |
func |
lua函数, 参数有1个 (path), 其中path是当前对象 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.event_send(obj, ent)
发送事件给组件
参数
传入值类型 |
解释 |
---|---|
userdata |
组件指针 |
int |
事件id, 例如 lvgl.EVENT_PRESSED |
返回值
返回值类型 |
解释 |
---|---|
bool |
成功返回true, 对象已被删除的话返回false或者nil |
int |
底层返回值,如果obj为nil就返回nil |
例子
无
lvgl.scr_act()
获取当前活跃的screen对象
参数
无
返回值
返回值类型 |
解释 |
---|---|
指针 |
screen指针 |
例子
local scr = lvgl.scr_act()
lvgl.layer_top()
获取layer_top
参数
无
返回值
返回值类型 |
解释 |
---|---|
指针 |
layer指针 |
例子
无
lvgl.layer_sys()
获取layer_sys
参数
无
返回值
返回值类型 |
解释 |
---|---|
指针 |
layer指针 |
例子
无
lvgl.scr_load(scr)
载入指定的screen
参数
传入值类型 |
解释 |
---|---|
userdata |
screen指针 |
返回值
无
例子
local scr = lvgl.obj_create(nil, nil) local btn = lvgl.btn_create(scr) lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) local label = lvgl.label_create(btn) lvgl.label_set_text(label, "LuatOS!") lvgl.scr_load(scr)
lvgl.scr_load_anim(scr)
载入指定的screen并使用指定的转场动画
参数
传入值类型 |
解释 |
---|---|
userdata |
screen指针 |
返回值
无
例子
local scr = lvgl.obj_create(nil, nil) local btn = lvgl.btn_create(scr) lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) local label = lvgl.label_create(btn) lvgl.label_set_text(label, "LuatOS!") local scr2 = lvgl.obj_create(nil,nil) local btn2 = lvgl.btn_create(scr2) lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20) local label2 = lvgl.label_create(btn2) lvgl.label_set_text(label2, "Btn2") lvgl.scr_load(scr) --sys.wait(1000); lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false) 原函数:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)
lvgl.theme_set_act(name)
设置主题
参数
传入值类型 |
解释 |
---|---|
string |
主题名称,可选值有 default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus |
返回值
返回值类型 |
解释 |
---|---|
bool |
成功返回true,否则返回nil |
例子
-- 黑白主题 lvgl.theme_set_act("mono") -- 空白主题 lvgl.theme_set_act("empty")
lvgl.sleep(enable)
LVGL休眠控制,暂停/恢复刷新定时器,目前只有105和EC618可以用
参数
传入值类型 |
解释 |
---|---|
boolean |
true暂停 false恢复 |
返回值
无
例子
lvgl.sleep(true) --暂停刷新,系统可以休眠 lvgl.sleep(false) --恢复刷新,系统不休眠
lvgl.init(w, h, lcd, buff_size, buff_mode)
初始化LVGL
参数
传入值类型 |
解释 |
---|---|
int |
屏幕宽,可选,默认从lcd取 |
int |
屏幕高,可选,默认从lcd取 |
userdata |
lcd指针,可选,lcd初始化后有默认值,预留的多屏入口 |
int |
缓冲区大小,默认宽*10, 不含色深. |
int |
缓冲模式,默认0, 单buff模式, 可选1,双buff模式 |
返回值
返回值类型 |
解释 |
---|---|
bool |
成功返回true,否则返回false |
例子
无
lvgl.anim_create()
创建并初始化一个anim
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
anim指针 |
例子
local anim = lvgl.anim_create()
lvgl.anim_free(anim)
释放一个anim
参数
无
返回值
无
例子
local lvgl.anim_free(anim)
lvgl.anim_path_t()
创建一个lv_anim_path_t
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
lv_anim_path_t指针 |
例子
local anim_path_t = lvgl.anim_path_t()
lvgl.anim_path_t_free(anim_path_t)
释放一个lv_anim_path_t
参数
无
返回值
无
例子
local lvgl.anim_path_t_free(anim_path_t)
lvgl.anim_set_path_str(anim, tp)
设置动画路径方式
参数
传入值类型 |
解释 |
---|---|
userdata |
动画指针 |
string |
类型, 支持 linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.qrcode_create(parent, size, dark_color, light_color)
创建qrcode组件
参数
传入值类型 |
解释 |
---|---|
userdata |
父组件 |
int |
长度,因为qrcode是正方形 |
int |
二维码中数据点的颜色, RGB颜色, 默认 0x3333ff |
int |
二维码中背景点的颜色, RGB颜色, 默认 0xeeeeff |
返回值
返回值类型 |
解释 |
---|---|
userdata |
qrcode组件 |
例子
-- 创建并显示qrcode local qrcode = lvgl.qrcode_create(scr, 100) lvgl.qrcode_update(qrcode, "https://luatos.com") lvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100)
lvgl.qrcode_update(qrcode, cnt)
设置qrcode组件的二维码内容,配合qrcode_create使用
参数
传入值类型 |
解释 |
---|---|
userdata |
qrcode组件,由qrcode_create创建 |
string |
二维码的内容数据 |
返回值
返回值类型 |
解释 |
---|---|
bool |
更新成功返回true,否则返回false. 通常只有数据太长无法容纳才会返回false |
例子
无
lvgl.qrcode_delete(qrcode)
删除qrcode组件
参数
传入值类型 |
解释 |
---|---|
userdata |
qrcode组件,由qrcode_create创建 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.style_t()
创建一个style
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
style指针 |
例子
local style = lvgl.style_t() lvgl.style_init(style)
lvgl.style_create()
创建一个style并初始化
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
style指针 |
例子
local style = lvgl.style_create()
lvgl.style_list_create()
创建一个style_list
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
style指针 |
例子
local style_list = lvgl.style_list_create()
lvgl.style_list_t()
创建一个style_list
参数
无
返回值
返回值类型 |
解释 |
---|---|
userdata |
style指针 |
例子
local style = lvgl.style_list_t()
lvgl.style_delete(style)
删除style,慎用,通常不会执行删除操作
参数
传入值类型 |
解释 |
---|---|
userdata |
style指针 |
返回值
无
例子
local style = lvgl.style_create() -- ... -- ... -- lvgl.style_delete(style)
lvgl.style_list_delete(style)
删除style_list,慎用,通常不会执行删除操作
参数
传入值类型 |
解释 |
---|---|
userdata |
style指针 |
返回值
无
例子
local style_list = lvgl.style_list_create() -- ... -- ... -- lvgl.style_list_delete(style_list)
lvgl.demo_benchmark()
lvgl benchmark demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_benchmark()
lvgl.demo_keypad_encoder()
lvgl keypad_encoder demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_keypad_encoder()
lvgl.demo_music()
lvgl music demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_music()
lvgl.demo_printer()
lvgl printer demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_printer()
lvgl.demo_stress()
lvgl stress demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_stress()
lvgl.demo_widgets()
lvgl widgets demo
参数
无
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
lvgl.init() lvgl.demo_widgets()
lvgl.indev_drv_register(tp, dtp)
注册输入设备驱动
参数
传入值类型 |
解释 |
---|---|
string |
设备类型,当前支持”pointer”,指针类/触摸类均可,”keyboard”,键盘类型 |
string |
设备型号,当前支持”emulator”,模拟器类型 |
返回值
返回值类型 |
解释 |
---|---|
bool |
成功返回true,否则返回false |
例子
lvgl.indev_drv_register("pointer", "emulator")
lvgl.indev_point_emulator_update(x, y, state)
更新模拟输入设备的坐标数据
参数
传入值类型 |
解释 |
---|---|
int |
x坐标,以左上角为0,右下角为最大值 |
int |
y坐标,以左上角为0,右下角为最大值 |
int |
状态, 0 为 释放, 1 为按下 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
-- 模拟在屏幕上的点击,通过timeout模拟长按和短按 sys.taskInit(function(x, y, timeout) lvgl.indev_point_emulator_update(x, y, 1) sys.wait(timeout) lvgl.indev_point_emulator_update(x, y, 0) end, 240, 120, 50)
lvgl.indev_kb_update(key)
更新键盘输入设备的按键值
参数
传入值类型 |
解释 |
---|---|
int |
按键值,默认为0,按键抬起 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
无
lvgl.gif_create(parent, path)
创建gif组件
参数
传入值类型 |
解释 |
---|---|
userdata |
父组件,可以是nil,但通常不会是nil |
string |
文件路径 |
返回值
返回值类型 |
解释 |
---|---|
userdata |
组件指针,若失败会返回nil,建议检查 |
例子
local gif = lvgl.gif_create(scr, "S/emtry.gif") if gif then log.info("gif", "create ok") end
lvgl.gif_restart(gif)
重新播放gif组件
参数
传入值类型 |
解释 |
---|---|
userdata |
gif组件支持, 由gif_create方法返回 |
返回值
返回值类型 |
解释 |
---|---|
nil |
无返回值 |
例子
local gif = lvgl.gif_create(scr, "S/emtry.gif") if gif then log.info("gif", "create ok") end
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
引言 在设计QQ这道面试题时,我们需要避免进入面试误区。这意味着我们不应该盲目地开展头脑风暴,提出一些不切实际的想法,因为这些想法可能无法经受面试官的深入追问。因此,我们需要站在前人的基础上,思考如何解决这类面试题。我们可以设计一个实际可行的QQ系统,而不是离…