LuatOS-SOC接口文档(air780E)--lvgl - LVGL图像库

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是当前对象, signal是信号类型, 为整型

返回值

返回值类型

解释

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DE1-SoC是一款由英特尔公司开发的强大而灵活的系统级开发平台。它集成了一系列功能强大的硬件和软件,用于实现高性能和多功能的嵌入式系统设计。 首先,在硬件方面,DE1-SoC配备了一颗高性能的Cyclone V SoC FPGA芯片。这个芯片基于ARM架构,集成了双核ARM Cortex-A9处理器,可以提供高性能的计算能力和低功耗的处理效率。同时,它还集成了一个丰富的外设,例如HDMI接口、SD卡插槽、以太网接口等,这些外设可以满足各种不同应用的需求。 其次,在软件方面,DE1-SoC提供了丰富的软件开发工具和支持。它支持使用Quartus Prime软件进行FPGA设计和编程,以及使用ARM开发工具链进行软件开发。这些工具可以帮助开发者进行FPGA逻辑设计和ARM软件开发,并提供了丰富的开发资源和示例代码。 此外,DE1-SoC还提供了大量的配套资料,用于帮助用户更好地了解和使用这个开发平台。配套资料包括用户手册、技术规格、设计例程、实验指导等,这些资料详细介绍了DE1-SoC的硬件和软件配置,以及如何进行基本的开发和调试。 总的来说,DE1-SoC是一款功能强大的嵌入式系统开发平台,它提供了高性能的硬件和丰富的软件开发工具,以及详细的配套资料,可以帮助开发者快速进行FPGA和ARM的开发。无论是学习嵌入式系统设计还是进行商业项目开发,DE1-SoC都是一个理想的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值