LVGL add lv.layer definition (#21062)

This commit is contained in:
Milko Daskalov 2024-03-31 21:44:46 +02:00 committed by GitHub
parent c19391da8d
commit 9f4c994034
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 76 additions and 29 deletions

View File

@ -57,25 +57,25 @@ color_white||lv.color|[lv_color_white](https://docs.lvgl.io/9.0/search.html?q=lv
display_create|int, int|lv.display|[lv_display_create](https://docs.lvgl.io/9.0/search.html?q=lv_display_create)
display_get_default||lv.display|[lv_display_get_default](https://docs.lvgl.io/9.0/search.html?q=lv_display_get_default)
dpx|int|int|[lv_dpx](https://docs.lvgl.io/9.0/search.html?q=lv_dpx)
draw_arc|comptr, lv.draw_arc_dsc||[lv_draw_arc](https://docs.lvgl.io/9.0/search.html?q=lv_draw_arc)
draw_arc|lv.layer, lv.draw_arc_dsc||[lv_draw_arc](https://docs.lvgl.io/9.0/search.html?q=lv_draw_arc)
draw_arc_dsc_init|lv.draw_arc_dsc||[lv_draw_arc_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_arc_dsc_init)
draw_arc_get_area|int, int, int, int, int, int, bool, lv.area||[lv_draw_arc_get_area](https://docs.lvgl.io/9.0/search.html?q=lv_draw_arc_get_area)
draw_character|comptr, lv.draw_label_dsc, comptr, int||[lv_draw_character](https://docs.lvgl.io/9.0/search.html?q=lv_draw_character)
draw_character|lv.layer, lv.draw_label_dsc, comptr, int||[lv_draw_character](https://docs.lvgl.io/9.0/search.html?q=lv_draw_character)
draw_create_unit|int|comptr|[lv_draw_create_unit](https://docs.lvgl.io/9.0/search.html?q=lv_draw_create_unit)
draw_deinit|||[lv_draw_deinit](https://docs.lvgl.io/9.0/search.html?q=lv_draw_deinit)
draw_dispatch|||[lv_draw_dispatch](https://docs.lvgl.io/9.0/search.html?q=lv_draw_dispatch)
draw_dispatch_layer|lv.display, comptr|bool|[lv_draw_dispatch_layer](https://docs.lvgl.io/9.0/search.html?q=lv_draw_dispatch_layer)
draw_dispatch_layer|lv.display, lv.layer|bool|[lv_draw_dispatch_layer](https://docs.lvgl.io/9.0/search.html?q=lv_draw_dispatch_layer)
draw_dispatch_request|||[lv_draw_dispatch_request](https://docs.lvgl.io/9.0/search.html?q=lv_draw_dispatch_request)
draw_dispatch_wait_for_request|||[lv_draw_dispatch_wait_for_request](https://docs.lvgl.io/9.0/search.html?q=lv_draw_dispatch_wait_for_request)
draw_init|||[lv_draw_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_init)
draw_label|comptr, lv.draw_label_dsc, lv.area||[lv_draw_label](https://docs.lvgl.io/9.0/search.html?q=lv_draw_label)
draw_label|lv.layer, lv.draw_label_dsc, lv.area||[lv_draw_label](https://docs.lvgl.io/9.0/search.html?q=lv_draw_label)
draw_label_dsc_init|lv.draw_label_dsc||[lv_draw_label_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_label_dsc_init)
draw_layer_alloc_buf|comptr|comptr|[lv_draw_layer_alloc_buf](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_alloc_buf)
draw_layer_create|comptr, int, lv.area|comptr|[lv_draw_layer_create](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_create)
draw_layer_go_to_xy|comptr, int, int|comptr|[lv_draw_layer_go_to_xy](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_go_to_xy)
draw_line|comptr, lv.draw_line_dsc||[lv_draw_line](https://docs.lvgl.io/9.0/search.html?q=lv_draw_line)
draw_layer_alloc_buf|lv.layer|comptr|[lv_draw_layer_alloc_buf](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_alloc_buf)
draw_layer_create|lv.layer, int, lv.area|lv.layer|[lv_draw_layer_create](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_create)
draw_layer_go_to_xy|lv.layer, int, int|comptr|[lv_draw_layer_go_to_xy](https://docs.lvgl.io/9.0/search.html?q=lv_draw_layer_go_to_xy)
draw_line|lv.layer, lv.draw_line_dsc||[lv_draw_line](https://docs.lvgl.io/9.0/search.html?q=lv_draw_line)
draw_line_dsc_init|lv.draw_line_dsc||[lv_draw_line_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_line_dsc_init)
draw_rect|comptr, lv.draw_rect_dsc, lv.area||[lv_draw_rect](https://docs.lvgl.io/9.0/search.html?q=lv_draw_rect)
draw_rect|lv.layer, lv.draw_rect_dsc, lv.area||[lv_draw_rect](https://docs.lvgl.io/9.0/search.html?q=lv_draw_rect)
draw_rect_dsc_init|lv.draw_rect_dsc||[lv_draw_rect_dsc_init](https://docs.lvgl.io/9.0/search.html?q=lv_draw_rect_dsc_init)
draw_vector|comptr||[lv_draw_vector](https://docs.lvgl.io/9.0/search.html?q=lv_draw_vector)
event_dsc_get_cb|lv.event_dsc|lv.event_cb|[lv_event_dsc_get_cb](https://docs.lvgl.io/9.0/search.html?q=lv_event_dsc_get_cb)
@ -105,7 +105,7 @@ obj_class_create_obj|lv.obj_class, lv.obj|lv.obj|[lv_obj_class_create_obj](https
obj_delete_anim_completed_cb|lv.anim||[lv_obj_delete_anim_completed_cb](https://docs.lvgl.io/9.0/search.html?q=lv_obj_delete_anim_completed_cb)
obj_enable_style_refresh|bool||[lv_obj_enable_style_refresh](https://docs.lvgl.io/9.0/search.html?q=lv_obj_enable_style_refresh)
obj_event_base|lv.obj_class, lv.event|int|[lv_obj_event_base](https://docs.lvgl.io/9.0/search.html?q=lv_obj_event_base)
obj_redraw|comptr, lv.obj||[lv_obj_redraw](https://docs.lvgl.io/9.0/search.html?q=lv_obj_redraw)
obj_redraw|lv.layer, lv.obj||[lv_obj_redraw](https://docs.lvgl.io/9.0/search.html?q=lv_obj_redraw)
obj_report_style_change|lv.style||[lv_obj_report_style_change](https://docs.lvgl.io/9.0/search.html?q=lv_obj_report_style_change)
obj_style_get_selector_part|int|int|[lv_obj_style_get_selector_part](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_get_selector_part)
obj_style_get_selector_state|int|int|[lv_obj_style_get_selector_state](https://docs.lvgl.io/9.0/search.html?q=lv_obj_style_get_selector_state)
@ -155,7 +155,7 @@ timer_handler_run_in_period|int|int|[lv_timer_handler_run_in_period](https://doc
timer_periodic_handler|||[lv_timer_periodic_handler](https://docs.lvgl.io/9.0/search.html?q=lv_timer_periodic_handler)
vector_clear_area|comptr, lv.area||[lv_vector_clear_area](https://docs.lvgl.io/9.0/search.html?q=lv_vector_clear_area)
vector_dsc_add_path|comptr, comptr||[lv_vector_dsc_add_path](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_add_path)
vector_dsc_create|comptr|comptr|[lv_vector_dsc_create](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_create)
vector_dsc_create|lv.layer|comptr|[lv_vector_dsc_create](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_create)
vector_dsc_delete|comptr||[lv_vector_dsc_delete](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_delete)
vector_dsc_identity|comptr||[lv_vector_dsc_identity](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_identity)
vector_dsc_rotate|comptr, f||[lv_vector_dsc_rotate](https://docs.lvgl.io/9.0/search.html?q=lv_vector_dsc_rotate)
@ -319,7 +319,7 @@ get_current_target_obj||lv.obj|[lv_event_get_current_target_obj](https://docs.lv
get_hit_test_info||comptr|[lv_event_get_hit_test_info](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_hit_test_info)
get_indev||lv.indev|[lv_event_get_indev](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_indev)
get_key||int|[lv_event_get_key](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_key)
get_layer||comptr|[lv_event_get_layer](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_layer)
get_layer||lv.layer|[lv_event_get_layer](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_layer)
get_old_size||lv.area|[lv_event_get_old_size](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_old_size)
get_param||comptr|[lv_event_get_param](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_param)
get_rotary_diff||int|[lv_event_get_rotary_diff](https://docs.lvgl.io/9.0/search.html?q=lv_event_get_rotary_diff)
@ -1075,11 +1075,11 @@ set_selected_button|int||[lv_buttonmatrix_set_selected_button](https://docs.lvgl
Method|Arguments|Return type|LVGL equivalent
:---|:---|:---|:---
fill_bg|lv.color, int||[lv_canvas_fill_bg](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_fill_bg)
finish_layer|comptr||[lv_canvas_finish_layer](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_finish_layer)
finish_layer|lv.layer||[lv_canvas_finish_layer](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_finish_layer)
get_buf||comptr|[lv_canvas_get_buf](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_get_buf)
get_image||lv.image_dsc|[lv_canvas_get_image](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_get_image)
get_px|int, int|int|[lv_canvas_get_px](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_get_px)
init_layer|comptr||[lv_canvas_init_layer](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_init_layer)
init_layer|lv.layer||[lv_canvas_init_layer](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_init_layer)
set_buffer|\<any\>, int, int, int||[lv_canvas_set_buffer](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_set_buffer)
set_palette|int, int||[lv_canvas_set_palette](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_set_palette)
set_px|int, int, lv.color, int||[lv_canvas_set_px](https://docs.lvgl.io/9.0/search.html?q=lv_canvas_set_px)

View File

@ -620,7 +620,7 @@ const be_ntv_func_def_t lv_event_func[] = {
{ "get_hit_test_info", { (const void*) &lv_event_get_hit_test_info, "c", "(lv.event)" } },
{ "get_indev", { (const void*) &lv_event_get_indev, "lv.indev", "(lv.event)" } },
{ "get_key", { (const void*) &lv_event_get_key, "i", "(lv.event)" } },
{ "get_layer", { (const void*) &lv_event_get_layer, "c", "(lv.event)" } },
{ "get_layer", { (const void*) &lv_event_get_layer, "lv.layer", "(lv.event)" } },
{ "get_old_size", { (const void*) &lv_event_get_old_size, "lv.area", "(lv.event)" } },
{ "get_param", { (const void*) &lv_event_get_param, "c", "(lv.event)" } },
{ "get_rotary_diff", { (const void*) &lv_event_get_rotary_diff, "i", "(lv.event)" } },
@ -908,11 +908,11 @@ const be_ntv_func_def_t lv_calendar_func[] = {
#ifdef BE_LV_WIDGET_CANVAS
const be_ntv_func_def_t lv_canvas_func[] = {
{ "fill_bg", { (const void*) &lv_canvas_fill_bg, "", "(lv.obj)(lv.color)i" } },
{ "finish_layer", { (const void*) &lv_canvas_finish_layer, "", "(lv.obj)c" } },
{ "finish_layer", { (const void*) &lv_canvas_finish_layer, "", "(lv.obj)(lv.layer)" } },
{ "get_buf", { (const void*) &lv_canvas_get_buf, "c", "(lv.obj)" } },
{ "get_image", { (const void*) &lv_canvas_get_image, "lv.image_dsc", "(lv.obj)" } },
{ "get_px", { (const void*) &lv_canvas_get_px, "i", "(lv.obj)ii" } },
{ "init_layer", { (const void*) &lv_canvas_init_layer, "", "(lv.obj)c" } },
{ "init_layer", { (const void*) &lv_canvas_init_layer, "", "(lv.obj)(lv.layer)" } },
{ "set_buffer", { (const void*) &lv_canvas_set_buffer, "", "(lv.obj).iii" } },
{ "set_palette", { (const void*) &lv_canvas_set_palette, "", "(lv.obj)ii" } },
{ "set_px", { (const void*) &lv_canvas_set_px, "", "(lv.obj)ii(lv.color)i" } },

View File

@ -79,25 +79,25 @@ const be_ntv_func_def_t lv_func[] = {
{ "display_create", { (const void*) &lv_display_create, "lv.display", "ii" } },
{ "display_get_default", { (const void*) &lv_display_get_default, "lv.display", "" } },
{ "dpx", { (const void*) &lv_dpx, "i", "i" } },
{ "draw_arc", { (const void*) &lv_draw_arc, "", "c(lv.draw_arc_dsc)" } },
{ "draw_arc", { (const void*) &lv_draw_arc, "", "(lv.layer)(lv.draw_arc_dsc)" } },
{ "draw_arc_dsc_init", { (const void*) &lv_draw_arc_dsc_init, "", "(lv.draw_arc_dsc)" } },
{ "draw_arc_get_area", { (const void*) &lv_draw_arc_get_area, "", "iiiiiib(lv.area)" } },
{ "draw_character", { (const void*) &lv_draw_character, "", "c(lv.draw_label_dsc)ci" } },
{ "draw_character", { (const void*) &lv_draw_character, "", "(lv.layer)(lv.draw_label_dsc)ci" } },
{ "draw_create_unit", { (const void*) &lv_draw_create_unit, "c", "i" } },
{ "draw_deinit", { (const void*) &lv_draw_deinit, "", "" } },
{ "draw_dispatch", { (const void*) &lv_draw_dispatch, "", "" } },
{ "draw_dispatch_layer", { (const void*) &lv_draw_dispatch_layer, "b", "(lv.display)c" } },
{ "draw_dispatch_layer", { (const void*) &lv_draw_dispatch_layer, "b", "(lv.display)(lv.layer)" } },
{ "draw_dispatch_request", { (const void*) &lv_draw_dispatch_request, "", "" } },
{ "draw_dispatch_wait_for_request", { (const void*) &lv_draw_dispatch_wait_for_request, "", "" } },
{ "draw_init", { (const void*) &lv_draw_init, "", "" } },
{ "draw_label", { (const void*) &lv_draw_label, "", "c(lv.draw_label_dsc)(lv.area)" } },
{ "draw_label", { (const void*) &lv_draw_label, "", "(lv.layer)(lv.draw_label_dsc)(lv.area)" } },
{ "draw_label_dsc_init", { (const void*) &lv_draw_label_dsc_init, "", "(lv.draw_label_dsc)" } },
{ "draw_layer_alloc_buf", { (const void*) &lv_draw_layer_alloc_buf, "c", "c" } },
{ "draw_layer_create", { (const void*) &lv_draw_layer_create, "c", "ci(lv.area)" } },
{ "draw_layer_go_to_xy", { (const void*) &lv_draw_layer_go_to_xy, "c", "cii" } },
{ "draw_line", { (const void*) &lv_draw_line, "", "c(lv.draw_line_dsc)" } },
{ "draw_layer_alloc_buf", { (const void*) &lv_draw_layer_alloc_buf, "c", "(lv.layer)" } },
{ "draw_layer_create", { (const void*) &lv_draw_layer_create, "lv.layer", "(lv.layer)i(lv.area)" } },
{ "draw_layer_go_to_xy", { (const void*) &lv_draw_layer_go_to_xy, "c", "(lv.layer)ii" } },
{ "draw_line", { (const void*) &lv_draw_line, "", "(lv.layer)(lv.draw_line_dsc)" } },
{ "draw_line_dsc_init", { (const void*) &lv_draw_line_dsc_init, "", "(lv.draw_line_dsc)" } },
{ "draw_rect", { (const void*) &lv_draw_rect, "", "c(lv.draw_rect_dsc)(lv.area)" } },
{ "draw_rect", { (const void*) &lv_draw_rect, "", "(lv.layer)(lv.draw_rect_dsc)(lv.area)" } },
{ "draw_rect_dsc_init", { (const void*) &lv_draw_rect_dsc_init, "", "(lv.draw_rect_dsc)" } },
{ "draw_vector", { (const void*) &lv_draw_vector, "", "c" } },
{ "event_dsc_get_cb", { (const void*) &lv_event_dsc_get_cb, "lv.event_cb", "(lv.event_dsc)" } },
@ -127,7 +127,7 @@ const be_ntv_func_def_t lv_func[] = {
{ "obj_delete_anim_completed_cb", { (const void*) &lv_obj_delete_anim_completed_cb, "", "(lv.anim)" } },
{ "obj_enable_style_refresh", { (const void*) &lv_obj_enable_style_refresh, "", "b" } },
{ "obj_event_base", { (const void*) &lv_obj_event_base, "i", "(lv.obj_class)(lv.event)" } },
{ "obj_redraw", { (const void*) &lv_obj_redraw, "", "c(lv.obj)" } },
{ "obj_redraw", { (const void*) &lv_obj_redraw, "", "(lv.layer)(lv.obj)" } },
{ "obj_report_style_change", { (const void*) &lv_obj_report_style_change, "", "(lv.style)" } },
{ "obj_style_get_selector_part", { (const void*) &lv_obj_style_get_selector_part, "i", "i" } },
{ "obj_style_get_selector_state", { (const void*) &lv_obj_style_get_selector_state, "i", "i" } },
@ -177,7 +177,7 @@ const be_ntv_func_def_t lv_func[] = {
{ "timer_periodic_handler", { (const void*) &lv_timer_periodic_handler, "", "" } },
{ "vector_clear_area", { (const void*) &lv_vector_clear_area, "", "c(lv.area)" } },
{ "vector_dsc_add_path", { (const void*) &lv_vector_dsc_add_path, "", "cc" } },
{ "vector_dsc_create", { (const void*) &lv_vector_dsc_create, "c", "c" } },
{ "vector_dsc_create", { (const void*) &lv_vector_dsc_create, "c", "(lv.layer)" } },
{ "vector_dsc_delete", { (const void*) &lv_vector_dsc_delete, "", "c" } },
{ "vector_dsc_identity", { (const void*) &lv_vector_dsc_identity, "", "c" } },
{ "vector_dsc_rotate", { (const void*) &lv_vector_dsc_rotate, "", "cf" } },

View File

@ -358,6 +358,27 @@ const be_ctypes_structure_t be_lv_style_transition_dsc = {
{ "user_data", 4, 0, 0, ctypes_ptr32, 0 },
}};
const be_ctypes_structure_t be_lv_layer = {
56, /* size in bytes */
14, /* number of elements */
be_ctypes_instance_mappings,
(const be_ctypes_structure_item_t[14]) {
{ "_clip_area_x1", 24, 0, 0, ctypes_i32, 0 },
{ "_clip_area_x2", 32, 0, 0, ctypes_i32, 0 },
{ "_clip_area_y1", 28, 0, 0, ctypes_i32, 0 },
{ "_clip_area_y2", 36, 0, 0, ctypes_i32, 0 },
{ "buf_area_x1", 4, 0, 0, ctypes_i32, 0 },
{ "buf_area_x2", 12, 0, 0, ctypes_i32, 0 },
{ "buf_area_y1", 8, 0, 0, ctypes_i32, 0 },
{ "buf_area_y2", 16, 0, 0, ctypes_i32, 0 },
{ "color_format", 20, 0, 0, ctypes_u8, 0 },
{ "draw_buf", 0, 0, 0, ctypes_ptr32, 0 },
{ "draw_task_head", 40, 0, 0, ctypes_ptr32, 0 },
{ "next", 48, 0, 0, ctypes_ptr32, 0 },
{ "parent", 44, 0, 0, ctypes_ptr32, 0 },
{ "user_data", 52, 0, 0, ctypes_ptr32, 0 },
}};
const be_ctypes_structure_t be_lv_color_filter_dsc = {
8, /* size in bytes */
2, /* number of elements */
@ -424,6 +445,7 @@ static be_define_ctypes_class(lv_grad_dsc, &be_lv_grad_dsc, &be_class_ctypes_byt
static be_define_ctypes_class(lv_gradient_stop, &be_lv_gradient_stop, &be_class_ctypes_bytes, "lv_gradient_stop");
static be_define_ctypes_class(lv_image_dsc, &be_lv_image_dsc, &be_class_ctypes_bytes, "lv_image_dsc");
static be_define_ctypes_class(lv_image_header, &be_lv_image_header, &be_class_ctypes_bytes, "lv_image_header");
static be_define_ctypes_class(lv_layer, &be_lv_layer, &be_class_ctypes_bytes, "lv_layer");
static be_define_ctypes_class(lv_obj_class, &be_lv_obj_class, &be_class_ctypes_bytes, "lv_obj_class");
static be_define_ctypes_class(lv_point, &be_lv_point, &be_class_ctypes_bytes, "lv_point");
static be_define_ctypes_class(lv_point_precise, &be_lv_point_precise, &be_class_ctypes_bytes, "lv_point_precise");
@ -448,6 +470,7 @@ be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = {
{ "lv_gradient_stop", &be_class_lv_gradient_stop },
{ "lv_image_dsc", &be_class_lv_image_dsc },
{ "lv_image_header", &be_class_lv_image_header },
{ "lv_layer", &be_class_lv_layer },
{ "lv_obj_class", &be_class_lv_obj_class },
{ "lv_point", &be_class_lv_point },
{ "lv_point_precise", &be_class_lv_point_precise },

View File

@ -550,6 +550,30 @@ lv_style_transition_dsc = [ # valid LVGL91
]
lv_style_transition_dsc = ct.structure(lv_style_transition_dsc, "lv_style_transition_dsc")
# typedef struct {
# lv_draw_buf_t * draw_buf;
# lv_area_t buf_area;
# lv_color_format_t color_format;
# lv_area_t _clip_area;
# lv_draw_task_t * draw_task_head;
# lv_layer_t * parent;
# lv_layer_t * next;
# bool all_tasks_added;
# void * user_data;
# } lv_layer_t;
lv_layer = [ # valid LVGL9
[ptr, "draw_buf"],
[lv_area, "buf_area"],
[uint8_t, "color_format"],
[lv_area, "_clip_area"],
[ptr, "draw_task_head"],
[ptr, "parent"],
[ptr, "next"],
[bool, "all_tasks_added"],
[ptr, "user_data"],
]
lv_layer = ct.structure(lv_layer, "lv_layer")
#######################################################################
# lv_color

View File

@ -431,7 +431,7 @@ class type_mapper_class:
"lv_image_dsc_t *": "lv_image_dsc",
"lv_ts_calibration_t *": "lv_ts_calibration",
"lv_style_transition_dsc_t *": "lv_style_transition_dsc",
"lv_layer_t *": "c", # LVGL9
"lv_layer_t *": "lv_layer", # LVGL9
# "_lv_draw_layer_ctx_t *": "lv_draw_layer_ctx",
"lv_grad_dsc_t *": "lv_grad_dsc",
"lv_color_filter_dsc_t *": "lv_color_filter_dsc",