双向链表初始化_lv_ll_init()函数,其定义如下: 该函数主要用于初始化一个双向链表,并通过传入参数lv_ll_ *ll_p返回已经初始化的双向链表句柄,这里要重点关注第二个参数node_size,顾名思义该参数表示的是结点所占字节的大小,但要特别说明一下这个node_size表示的只是结点的数据域大小,并没有包含next、prv指针域...
不过要注意的是,想要让lvgl工作正常,需要将lvgl的“root”全局变量全部注册到MicroPython的root pointers中,以防这些变量被当成垃圾丢掉,这个LV_ROOTS是在lv_gc.h中的宏定义,包含了lvgl所用到的所有root变量。 #define LV_ITERATE_ROOTS(f) \ f(lv_ll_t, _lv_task_ll) /*Linked list to store the lv_tas...
lv_init_lv_ll_init(&LV_GC_ROOT(_lv_disp_ll), sizeof(lv_disp_t));// 初始化显示器链表lv_disp_drv_register_lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll));// 注册显示器到链表disp->act_scr = lv_obj_create(NULL);// 在显示器上创建一个默认屏幕lv_obj_class_create_objobj->coords.x1...
例如LV_DISPATCH(f, lv_ll_t, _lv_timer_ll)就是f(lv_ll_t, _lv_timer_ll)。 全局链表定义是LV_ROOTS。 #defineLV_DEFINE_ROOT(root_type,root_name)root_type root_name;#defineLV_ROOTSLV_ITERATE_ROOTS(LV_DEFINE_ROOT) 也就是LV_ITERATE_ROOTS(LV_DEFINE_ROOT),也就是LV_DISPATCH(LV_DEFINE_R...
还有一个最最最重要的结构体,链表。即lv_ll_t。节点数n_size最大4294967295,足够用了。然后是首尾指针。很多重要功能的实现都基于此列表。 /** Dummy type to make handling easier*/typedef uint8_t lv_ll_node_t;/** Description of a linked list*/typedef struct{uint32_t n_size;lv_ll_node_t*...
不过要注意的是,想要让lvgl工作正常,需要将lvgl的“root”全局变量全部注册到MicroPython的root pointers中,以防这些变量被当成垃圾丢掉,这个LV_ROOTS是在lv_gc.h中的宏定义,包含了lvgl所用到的所有root变量。 #define LV_ITERATE_ROOTS(f) \ f(lv_ll_t, _lv_task_ll) /*Linked list to store the lv_tas...
lv_obj_add_flag(ui_albumpage, LV_OBJ_FLAG_HIDDEN); 1. 2. 3. 4. 2.1 切换到图片浏览界面 在浏览文件过程中,如果点击的时图片名,就隐藏文件浏览界面,显示图片浏览界面。 static void file_explorer_simple_test_event_handler(lv_event_t * e) ...
1 lvgl设备注册获取: 在lvgl main函数中先调用lv_init(),主要功能初始化lvgl的各个链表: task链表_lv_task_ll,使能lv_task_run _lv_obj_style… 手把手教你移植 LVGL 到嵌入式 Linux Hello阿尔法 微信公众号:阿尔法技术圈 LVGL(Light and Versatile Graphics Library)是一个轻量化的、开源的、在嵌入式系统中...
lvgl lldist //8. 下拉列表框对象 //8.1 创建一个下拉列表框对象 lv_obj_t * ddlist = lv_ddlist_create(lv_scr_act(), NULL); //8.2 设置下拉列表选项 lv_ddlist_set_options(ddlist, "Apple\n" "Banana\n" "Orange\n" "Melon\n"
If you are using micropython, it is easy to know the configuration that was set in lv_conf.h. For example, if you want to know if some object was enabled, just check if there is such class in lvgl module. Python introspection is handy in such situations. Collaborator AGlass0fMilk comm...