mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 14:57:16 +00:00
Merge pull request #14463 from s-hadinger/lvgl_more_structs
LVGL more structs
This commit is contained in:
commit
f4dc554b17
@ -322,6 +322,7 @@ const be_ntv_func_def_t lv_obj_func[] = {
|
||||
{ "get_style_transform_height", (void*) &lv_obj_get_style_transform_height, "i", "(lv.lv_obj)i" },
|
||||
{ "get_style_transform_width", (void*) &lv_obj_get_style_transform_width, "i", "(lv.lv_obj)i" },
|
||||
{ "get_style_transform_zoom", (void*) &lv_obj_get_style_transform_zoom, "i", "(lv.lv_obj)i" },
|
||||
{ "get_style_transition", (void*) &lv_obj_get_style_transition, "lv.lv_style_transition_dsc", "(lv.lv_obj)i" },
|
||||
{ "get_style_translate_x", (void*) &lv_obj_get_style_translate_x, "i", "(lv.lv_obj)i" },
|
||||
{ "get_style_translate_y", (void*) &lv_obj_get_style_translate_y, "i", "(lv.lv_obj)i" },
|
||||
{ "get_style_width", (void*) &lv_obj_get_style_width, "i", "(lv.lv_obj)i" },
|
||||
@ -769,6 +770,7 @@ const be_ntv_func_def_t lv_canvas_func[] = {
|
||||
{ "draw_rect", (void*) &lv_canvas_draw_rect, "", "(lv.lv_obj)iiii(lv.lv_draw_rect_dsc)" },
|
||||
{ "draw_text", (void*) &lv_canvas_draw_text, "", "(lv.lv_obj)iii(lv.lv_draw_label_dsc)s" },
|
||||
{ "fill_bg", (void*) &lv_canvas_fill_bg, "", "(lv.lv_obj)(lv.lv_color)i" },
|
||||
{ "get_img", (void*) &lv_canvas_get_img, "lv.lv_img_dsc", "(lv.lv_obj)" },
|
||||
{ "get_px", (void*) &lv_canvas_get_px, "lv.lv_color", "(lv.lv_obj)ii" },
|
||||
{ "set_buffer", (void*) &lv_canvas_set_buffer, "", "(lv.lv_obj).iii" },
|
||||
{ "set_palette", (void*) &lv_canvas_set_palette, "", "(lv.lv_obj)i(lv.lv_color)" },
|
||||
|
@ -320,6 +320,7 @@ extern int lvbe_obj_get_style_opa(bvm *vm);
|
||||
extern int lvbe_obj_get_style_color_filter_opa(bvm *vm);
|
||||
extern int lvbe_obj_get_style_anim_time(bvm *vm);
|
||||
extern int lvbe_obj_get_style_anim_speed(bvm *vm);
|
||||
extern int lvbe_obj_get_style_transition(bvm *vm);
|
||||
extern int lvbe_obj_get_style_blend_mode(bvm *vm);
|
||||
extern int lvbe_obj_get_style_layout(bvm *vm);
|
||||
extern int lvbe_obj_get_style_base_dir(bvm *vm);
|
||||
@ -729,6 +730,7 @@ extern int lvbe_canvas_set_px(bvm *vm);
|
||||
extern int lvbe_canvas_set_px_opa(bvm *vm);
|
||||
extern int lvbe_canvas_set_palette(bvm *vm);
|
||||
extern int lvbe_canvas_get_px(bvm *vm);
|
||||
extern int lvbe_canvas_get_img(bvm *vm);
|
||||
extern int lvbe_canvas_copy_buf(bvm *vm);
|
||||
extern int lvbe_canvas_transform(bvm *vm);
|
||||
extern int lvbe_canvas_blur_hor(bvm *vm);
|
||||
|
@ -463,6 +463,45 @@ const be_ctypes_structure_t be_lv_event = {
|
||||
{ "user_data", 12, 0, 0, ctypes_ptr32, 0 },
|
||||
}};
|
||||
|
||||
const be_ctypes_structure_t be_lv_img_header = {
|
||||
4, /* size in bytes */
|
||||
5, /* number of elements */
|
||||
be_ctypes_instance_mappings,
|
||||
(const be_ctypes_structure_item_t[5]) {
|
||||
{ "always_zero", 0, 5, 3, ctypes_bf, 0 },
|
||||
{ "cf", 0, 0, 5, ctypes_bf, 0 },
|
||||
{ "h", 2, 5, 11, ctypes_bf, 0 },
|
||||
{ "reserved", 1, 0, 2, ctypes_bf, 0 },
|
||||
{ "w", 1, 2, 11, ctypes_bf, 0 },
|
||||
}};
|
||||
|
||||
const be_ctypes_structure_t be_lv_img_dsc = {
|
||||
16, /* size in bytes */
|
||||
8, /* number of elements */
|
||||
be_ctypes_instance_mappings,
|
||||
(const be_ctypes_structure_item_t[8]) {
|
||||
{ "cf", 4, 0, 5, ctypes_bf, 0 },
|
||||
{ "data", 12, 0, 0, ctypes_ptr32, 0 },
|
||||
{ "data_size", 8, 0, 0, ctypes_u32, 0 },
|
||||
{ "header_always_zero", 0, 5, 3, ctypes_bf, 0 },
|
||||
{ "header_cf", 0, 0, 5, ctypes_bf, 0 },
|
||||
{ "header_h", 2, 5, 11, ctypes_bf, 0 },
|
||||
{ "header_reserved", 1, 0, 2, ctypes_bf, 0 },
|
||||
{ "header_w", 1, 2, 11, ctypes_bf, 0 },
|
||||
}};
|
||||
|
||||
const be_ctypes_structure_t be_lv_style_transition_dsc = {
|
||||
20, /* size in bytes */
|
||||
5, /* number of elements */
|
||||
be_ctypes_instance_mappings,
|
||||
(const be_ctypes_structure_item_t[5]) {
|
||||
{ "delay", 16, 0, 0, ctypes_u32, 0 },
|
||||
{ "path_xcb", 8, 0, 0, ctypes_ptr32, 0 },
|
||||
{ "props", 0, 0, 0, ctypes_ptr32, 0 },
|
||||
{ "time", 12, 0, 0, ctypes_u32, 0 },
|
||||
{ "user_data", 4, 0, 0, ctypes_ptr32, 0 },
|
||||
}};
|
||||
|
||||
const be_ctypes_structure_t be_lv_ts_calibration = {
|
||||
12, /* size in bytes */
|
||||
5, /* number of elements */
|
||||
@ -499,6 +538,8 @@ static be_define_ctypes_class(lv_draw_mask_radius_param_cfg, &be_lv_draw_mask_ra
|
||||
static be_define_ctypes_class(lv_draw_mask_saved, &be_lv_draw_mask_saved, &be_class_ctypes, "lv_draw_mask_saved");
|
||||
static be_define_ctypes_class(lv_draw_rect_dsc, &be_lv_draw_rect_dsc, &be_class_ctypes, "lv_draw_rect_dsc");
|
||||
static be_define_ctypes_class(lv_event, &be_lv_event, &be_class_ctypes, "lv_event");
|
||||
static be_define_ctypes_class(lv_img_dsc, &be_lv_img_dsc, &be_class_ctypes, "lv_img_dsc");
|
||||
static be_define_ctypes_class(lv_img_header, &be_lv_img_header, &be_class_ctypes, "lv_img_header");
|
||||
static be_define_ctypes_class(lv_meter_indicator, &be_lv_meter_indicator, &be_class_ctypes, "lv_meter_indicator");
|
||||
static be_define_ctypes_class(lv_meter_indicator_arc, &be_lv_meter_indicator_arc, &be_class_ctypes, "lv_meter_indicator_arc");
|
||||
static be_define_ctypes_class(lv_meter_indicator_needle_img, &be_lv_meter_indicator_needle_img, &be_class_ctypes, "lv_meter_indicator_needle_img");
|
||||
@ -508,6 +549,7 @@ static be_define_ctypes_class(lv_meter_scale, &be_lv_meter_scale, &be_class_ctyp
|
||||
static be_define_ctypes_class(lv_obj_class, &be_lv_obj_class, &be_class_ctypes, "lv_obj_class");
|
||||
static be_define_ctypes_class(lv_point, &be_lv_point, &be_class_ctypes, "lv_point");
|
||||
static be_define_ctypes_class(lv_sqrt_res, &be_lv_sqrt_res, &be_class_ctypes, "lv_sqrt_res");
|
||||
static be_define_ctypes_class(lv_style_transition_dsc, &be_lv_style_transition_dsc, &be_class_ctypes, "lv_style_transition_dsc");
|
||||
static be_define_ctypes_class(lv_ts_calibration, &be_lv_ts_calibration, &be_class_ctypes, "lv_ts_calibration");
|
||||
|
||||
void be_load_ctypes_lvgl_definitions_lib(bvm *vm) {
|
||||
@ -530,6 +572,8 @@ void be_load_ctypes_lvgl_definitions_lib(bvm *vm) {
|
||||
ctypes_register_class(vm, &be_class_lv_draw_mask_saved, &be_lv_draw_mask_saved);
|
||||
ctypes_register_class(vm, &be_class_lv_draw_rect_dsc, &be_lv_draw_rect_dsc);
|
||||
ctypes_register_class(vm, &be_class_lv_event, &be_lv_event);
|
||||
ctypes_register_class(vm, &be_class_lv_img_dsc, &be_lv_img_dsc);
|
||||
ctypes_register_class(vm, &be_class_lv_img_header, &be_lv_img_header);
|
||||
ctypes_register_class(vm, &be_class_lv_meter_indicator, &be_lv_meter_indicator);
|
||||
ctypes_register_class(vm, &be_class_lv_meter_indicator_arc, &be_lv_meter_indicator_arc);
|
||||
ctypes_register_class(vm, &be_class_lv_meter_indicator_needle_img, &be_lv_meter_indicator_needle_img);
|
||||
@ -539,6 +583,7 @@ void be_load_ctypes_lvgl_definitions_lib(bvm *vm) {
|
||||
ctypes_register_class(vm, &be_class_lv_obj_class, &be_lv_obj_class);
|
||||
ctypes_register_class(vm, &be_class_lv_point, &be_lv_point);
|
||||
ctypes_register_class(vm, &be_class_lv_sqrt_res, &be_lv_sqrt_res);
|
||||
ctypes_register_class(vm, &be_class_lv_style_transition_dsc, &be_lv_style_transition_dsc);
|
||||
ctypes_register_class(vm, &be_class_lv_ts_calibration, &be_lv_ts_calibration);
|
||||
}
|
||||
|
||||
@ -562,6 +607,8 @@ be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = {
|
||||
{ "lv_draw_mask_saved", &be_class_lv_draw_mask_saved },
|
||||
{ "lv_draw_rect_dsc", &be_class_lv_draw_rect_dsc },
|
||||
{ "lv_event", &be_class_lv_event },
|
||||
{ "lv_img_dsc", &be_class_lv_img_dsc },
|
||||
{ "lv_img_header", &be_class_lv_img_header },
|
||||
{ "lv_meter_indicator", &be_class_lv_meter_indicator },
|
||||
{ "lv_meter_indicator_arc", &be_class_lv_meter_indicator_arc },
|
||||
{ "lv_meter_indicator_needle_img", &be_class_lv_meter_indicator_needle_img },
|
||||
@ -571,6 +618,7 @@ be_ctypes_class_by_name_t be_ctypes_lvgl_classes[] = {
|
||||
{ "lv_obj_class", &be_class_lv_obj_class },
|
||||
{ "lv_point", &be_class_lv_point },
|
||||
{ "lv_sqrt_res", &be_class_lv_sqrt_res },
|
||||
{ "lv_style_transition_dsc", &be_class_lv_style_transition_dsc },
|
||||
{ "lv_ts_calibration", &be_class_lv_ts_calibration },
|
||||
};
|
||||
const size_t be_ctypes_lvgl_classes_size = sizeof(be_ctypes_lvgl_classes)/sizeof(be_ctypes_lvgl_classes[0]);
|
||||
|
@ -30,6 +30,7 @@ uint8_t_2 = ctypes.bf_2
|
||||
uint8_t_3 = ctypes.bf_3
|
||||
uint8_t_4 = ctypes.bf_4
|
||||
uint8_t_5 = ctypes.bf_5
|
||||
uint8_t_11 = ctypes.bf_11
|
||||
uint8_t = ctypes.u8
|
||||
int16_t = ctypes.i16
|
||||
uint16_t = ctypes.u16
|
||||
@ -393,6 +394,36 @@ lv_event = [ # valid LVGL8
|
||||
]
|
||||
lv_event = ctypes.structure(lv_event, "lv_event")
|
||||
|
||||
#######################################################################
|
||||
# lv_img structures
|
||||
lv_img_header = [ # valid LVGL8
|
||||
[uint8_t_5, "cf"],
|
||||
[uint8_t_3, "always_zero"],
|
||||
[uint8_t_2, "reserved"],
|
||||
[uint8_t_11, "w"],
|
||||
[uint8_t_11, "h"],
|
||||
]
|
||||
lv_img_header = ctypes.structure(lv_img_header, "lv_img_header")
|
||||
|
||||
lv_img_dsc = [ # valid LVGL8
|
||||
[lv_img_header, "header"],
|
||||
[uint8_t_5, "cf"],
|
||||
[uint32_t, "data_size"],
|
||||
[ptr, "data"],
|
||||
]
|
||||
lv_img_dsc = ctypes.structure(lv_img_dsc, "lv_img_dsc")
|
||||
|
||||
#######################################################################
|
||||
# lv_style
|
||||
lv_style_transition_dsc = [ # valid LVGL8
|
||||
[ptr, "props"],
|
||||
[ptr, "user_data"],
|
||||
[ptr, "path_xcb"],
|
||||
[uint32_t, "time"],
|
||||
[uint32_t, "delay"],
|
||||
]
|
||||
lv_style_transition_dsc = ctypes.structure(lv_style_transition_dsc, "lv_style_transition_dsc")
|
||||
|
||||
#######################################################################
|
||||
# Special structure used to calibrate resistive touchscreens
|
||||
#######################################################################
|
||||
|
@ -135,7 +135,10 @@ return_types = {
|
||||
"lv_theme_t *": "lv_theme",
|
||||
"lv_disp_t *": "lv_disp",
|
||||
"lv_indev_t *": "lv_indev",
|
||||
"lv_img_header_t *": "lv_img_header",
|
||||
"lv_img_dsc_t *": "lv_img_dsc",
|
||||
"lv_ts_calibration_t *": "lv_ts_calibration",
|
||||
"lv_style_transition_dsc_t *": "lv_style_transition_dsc",
|
||||
#"lv_disp_t*": "lv_disp",
|
||||
#"lv_style_list_t*": "",
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user