当前位置: 首页 > news >正文

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 thenlog.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 thenlog.info("gif", "create ok")
end

相关文章:

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_d…...

LuatOS-SOC接口文档(air780E)--lora2 - lora2驱动模块(支持多挂)

常量 常量 类型 解释 lora2.SLEEP number SLEEP模式 lora2.STANDBY number STANDBY模式 lora2.init(ic, loraconfig,spiconfig) lora初始化 参数 传入值类型 解释 string lora 型号,当前支持: llcc68 sx1268 table lora配置参数,与具体…...

WKWebView iOS17设置UserAgent

WKWebView 设置 user-agent 参考文档 之前设置 user-agent 都是通过设置NSUserDefaults来实现的,不过升级到了iOS17之后这个方式不好用了。 老的设置方式: [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];目前看通过设置 we…...

持续集成部署-k8s-服务发现-Service

持续集成部署-k8s-服务发现-Service:配置讲解及基础命令 1. Service 简介2. 基础命令3. 基于 Service 访问外部服务4. 代理外部域名5. Endpoints 常用类型1. Service 简介 在K8s中,Service 是一种可以暴露一个或多个Pod的稳定的网络终点,从而形成逻辑上的应用服务单元,为服…...

RocksDB基本架构与原理详解

Rocksdb Flink提供基于流的有状态计算,除了提供实时数据流的处理能力,还需要将计算产生的状态存储起来。 为了满足状态存取需求,提供了memory、flie system、rocksdb三种类型的状态存储机制。 memory存取高效单空间有限,且可用…...

ArcGIS笔记12_ArcGIS搜索工具没法用?ArcGIS运行很慢很卡?

本文目录 前言Step 1 ArcGIS搜索工具没法用Step 2 ArcGIS运行很慢很卡 前言 这是笔者最近遇到的两个小问题,新换了台式机,安装上ArcGIS后发现搜索工具没法用,而且感觉还不如原来笔记本运行的流畅,加载图层很慢,编辑要…...

【VictoriaMetrics】单机版配置

为方便查看,释义都已翻译成中文,本文配置基于VictoriaMetrics 1.87.1版本 bigMergeConcurrencyint用于大合并的最大 CPU 核数。设置为 0 时使用默认值cacheExpireDuration30m0s...

【C语言】strcpy()函数

🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.strcpy()函数简介 1.函数功能 2.函数参数 1>.char * destination 2>.const char * source 3.函数返回值 4.函数头文件 二.strcpy()函数的具体使用 1.使用s…...

C++基础算法⑦——信奥一本通递归算法(放苹果、求最大公约数问题、2的幂次方表示、分数求和、因子分解、判断元素是否存在)

递归算法 1206:放苹果1207:求最大公约数问题1208:2的幂次方表示1209:分数求和1210:因子分解1211:判断元素是否存在 1206:放苹果 这道题还是有些难度的,我们要考虑几种放苹果的情况。…...

uni-app医院智能导诊系统源码

随着科技的迅速发展,人工智能已经逐渐渗透到我们生活的各个领域。在医疗行业中,智能导诊系统成为了一个备受关注的应用。本文将详细介绍智能导诊系统的概念、技术原理以及在医疗领域中的应用,分析其优势和未来发展趋势。 智能导诊系统通过人工…...

启动jar时指定nacos配置

背景 由于需要在不同服务上部署应用,避免频繁打包,需要在jar启动时灵活配置naocs配置 启动命令 java -Xms256m -Xmx512m -Dfile.encodingutf-8 -jar mes-gateway-1.0.1.jar --spring.cloud.nacos.discovery.server-addrhttp://127.0.0.1:8848 --spri…...

linux安装vscode vscode使用 创建项目并运行

下载 https://code.visualstudio.com/ 下载.deb文件 安装 假如文件被下载到了 /opt目录下 进入Opt目录,右键从当前目录打开终端。 输入下面的安装命令。 sudo apt-get install ./code_1.83.1-1696982868_amd64.deb 安装成功。 安装插件 使用c,必…...

如何解决数据倾斜

星光下的赶路人star的个人主页 臣书刷字墨淋漓,舒卷烟云势最奇 文章目录 1、数据倾斜的现象2、解决办法2.1 单表聚合(group bysum())2.2 多表关联(join) 3、倾斜原因 1、数据倾斜的现象 部分Reduce一直运行&#xff0…...

宏定义实现offsetof

在C语言中,有这样一个特殊的宏,叫offsetof,它的功能是啥呢? 我们来看看它的介绍 它的功能是:返回一个结构体的成员的大小(相较于起始地址的偏移量) 引用代码:http://t.csdnimg.cn…...

YOLOv5— Fruit Detection

🍨 本文为[🔗365天深度学习训练营学习记录博客 🍦 参考文章:365天深度学习训练营-第7周:咖啡豆识别(训练营内部成员可读) 🍖 原作者:[K同学啊 | 接辅导、项目定制](https…...

(PyTorch)PyTorch中的常见运算(*、@、Mul、Matmul)

1. 矩阵与标量 矩阵(张量)每一个元素与标量进行操作。 import torch a torch.tensor([1,2]) print(a1) >>> tensor([2, 3]) 2. 哈达玛积(Mul) 两个相同尺寸的张量相乘,然后对应元素的相乘就是这个哈达玛…...

cmd 命令关闭占用端口

工作中还是偶尔会遇到端口号被占用的情况,之前也有写过另一种关闭方式,但是发现没有命令方便,所以记录一下。 1、 查看 8081 端口占用的 pid 。 命令:netstat -ano |findstr 8081 由上图可知,占用 8081 端口的进程 id…...

PG14启动报错“max_stack_depth“ must not exceed 7680kB

问题描述 PG14编译安装后启动报错"max_stack_depth" must not exceed 7680kB [roottop132:/pgdb/data]$ systemctl start postgres Job for postgres.service failed because the control process exited with error code. See "systemctl status postgres.se…...

BES2700 蓝牙协议之RFCOMM通道使用方法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务 BES2700 RFCOMM通道使用方法 RFCOMM_CHANNEL_NUM 枚举定义了一系列的通道号码,并为每个通道号码指定了一个具体的名称。以下是其中一些通道的中文含义: RFCOMM_CHAN…...

简单介绍一下迁移学习

迁移学习是一种机器学习技术,旨在利用从一个任务或领域学习到的知识来改善另一个任务或领域的学习性能。在传统的机器学习方法中,通常假设训练数据和测试数据是从相同的分布中独立同分布采样的。然而,在现实世界中,这个假设并不总…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...

Docker、Wsl 打包迁移环境

电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本&#xff1a; 2.2.4.0 内核版本&#xff1a; 5.15.153.1-2 WSLg 版本&#xff1a; 1.0.61 MSRDC 版本&#xff1a; 1.2.5326 Direct3D 版本&#xff1a; 1.611.1-81528511 DXCore 版本&#xff1a; 10.0.2609…...