Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HASPmota support for spangroup (styled text) #20852

Merged
merged 1 commit into from
Mar 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
## [13.4.0.2]
### Added
- Berry `path.rename()` (#20840)
- HASPmota support for spangroup (styled text)

### Breaking Changed
- Drop support for old (insecure) fingerprint format (#20842)
Expand Down
7,756 changes: 4,109 additions & 3,647 deletions lib/libesp32/berry_tasmota/src/be_lv_haspmota.c

Large diffs are not rendered by default.

16 changes: 11 additions & 5 deletions lib/libesp32_lvgl/lv_binding_berry/generate/LVGL_API_Reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,6 @@ scr_load_anim|lv.obj, int, int, int, bool||[lv_screen_load_anim](https://docs.lv
screen_active||lv.obj|[lv_screen_active](https://docs.lvgl.io/9.0/search.html?q=lv_screen_active)
screen_load|lv.obj||[lv_screen_load](https://docs.lvgl.io/9.0/search.html?q=lv_screen_load)
screen_load_anim|lv.obj, int, int, int, bool||[lv_screen_load_anim](https://docs.lvgl.io/9.0/search.html?q=lv_screen_load_anim)
span_set_text|lv.spangroup, string||[lv_span_set_text](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text)
span_set_text_static|lv.spangroup, string||[lv_span_set_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text_static)
span_stack_deinit|||[lv_span_stack_deinit](https://docs.lvgl.io/9.0/search.html?q=lv_span_stack_deinit)
span_stack_init|||[lv_span_stack_init](https://docs.lvgl.io/9.0/search.html?q=lv_span_stack_init)
style_get_num_custom_props||int|[lv_style_get_num_custom_props](https://docs.lvgl.io/9.0/search.html?q=lv_style_get_num_custom_props)
Expand Down Expand Up @@ -1275,9 +1273,9 @@ text_is_selected||bool|[lv_textarea_text_is_selected](https://docs.lvgl.io/9.0/s

Method|Arguments|Return type|LVGL equivalent
:---|:---|:---|:---
delete_span|lv.spangroup||[lv_spangroup_delete_span](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_delete_span)
delete_span|lv.span||[lv_spangroup_delete_span](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_delete_span)
get_align||int|[lv_spangroup_get_align](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_align)
get_child|int|lv.spangroup|[lv_spangroup_get_child](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_child)
get_child|int|lv.span|[lv_spangroup_get_child](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_child)
get_expand_height|int|int|[lv_spangroup_get_expand_height](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_expand_height)
get_expand_width|int|int|[lv_spangroup_get_expand_width](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_expand_width)
get_indent||int|[lv_spangroup_get_indent](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_indent)
Expand All @@ -1286,14 +1284,22 @@ get_max_lines||int|[lv_spangroup_get_max_lines](https://docs.lvgl.io/9.0/search.
get_mode||int|[lv_spangroup_get_mode](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_mode)
get_overflow||int|[lv_spangroup_get_overflow](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_overflow)
get_span_count||int|[lv_spangroup_get_span_count](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_get_span_count)
new_span||lv.spangroup|[lv_spangroup_new_span](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_new_span)
new_span||lv.span|[lv_spangroup_new_span](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_new_span)
refr_mode|||[lv_spangroup_refr_mode](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_refr_mode)
set_align|int||[lv_spangroup_set_align](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_align)
set_indent|int||[lv_spangroup_set_indent](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_indent)
set_max_lines|int||[lv_spangroup_set_max_lines](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_max_lines)
set_mode|int||[lv_spangroup_set_mode](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_mode)
set_overflow|int||[lv_spangroup_set_overflow](https://docs.lvgl.io/9.0/search.html?q=lv_spangroup_set_overflow)

### widget `lv.span`

Method|Arguments|Return type|LVGL equivalent
:---|:---|:---|:---
get_style||lv.style|[lv_span_get_style](https://docs.lvgl.io/9.0/search.html?q=lv_span_get_style)
set_text|string||[lv_span_set_text](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text)
set_text_static|string||[lv_span_set_text_static](https://docs.lvgl.io/9.0/search.html?q=lv_span_set_text_static)

### widget `lv.scale`

Method|Arguments|Return type|LVGL equivalent
Expand Down
97 changes: 57 additions & 40 deletions lib/libesp32_lvgl/lv_binding_berry/generate/be_lv_c_mapping.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,39 +158,6 @@ const be_ntv_func_def_t lv_color_func[] = {
const be_ntv_func_def_t lv_theme_func[] = {
};

/* `lv_image` methods */
#ifdef BE_LV_WIDGET_IMAGE
const be_ntv_func_def_t lv_image_func[] = {
{ "get_angle", { (const void*) &lv_image_get_rotation, "i", "(lv.obj)" } },
{ "get_antialias", { (const void*) &lv_image_get_antialias, "b", "(lv.obj)" } },
{ "get_blend_mode", { (const void*) &lv_image_get_blend_mode, "i", "(lv.obj)" } },
{ "get_inner_align", { (const void*) &lv_image_get_inner_align, "i", "(lv.obj)" } },
{ "get_offset_x", { (const void*) &lv_image_get_offset_x, "i", "(lv.obj)" } },
{ "get_offset_y", { (const void*) &lv_image_get_offset_y, "i", "(lv.obj)" } },
{ "get_pivot", { (const void*) &lv_image_get_pivot, "", "(lv.obj)c" } },
{ "get_rotation", { (const void*) &lv_image_get_rotation, "i", "(lv.obj)" } },
{ "get_scale", { (const void*) &lv_image_get_scale, "i", "(lv.obj)" } },
{ "get_scale_x", { (const void*) &lv_image_get_scale_x, "i", "(lv.obj)" } },
{ "get_scale_y", { (const void*) &lv_image_get_scale_y, "i", "(lv.obj)" } },
{ "get_src", { (const void*) &lv_image_get_src, "c", "(lv.obj)" } },
{ "get_zoom", { (const void*) &lv_image_get_scale, "i", "(lv.obj)" } },
{ "set_angle", { (const void*) &lv_image_set_rotation, "", "(lv.obj)i" } },
{ "set_antialias", { (const void*) &lv_image_set_antialias, "", "(lv.obj)b" } },
{ "set_blend_mode", { (const void*) &lv_image_set_blend_mode, "", "(lv.obj)i" } },
{ "set_inner_align", { (const void*) &lv_image_set_inner_align, "", "(lv.obj)i" } },
{ "set_offset_x", { (const void*) &lv_image_set_offset_x, "", "(lv.obj)i" } },
{ "set_offset_y", { (const void*) &lv_image_set_offset_y, "", "(lv.obj)i" } },
{ "set_pivot", { (const void*) &lv_image_set_pivot, "", "(lv.obj)ii" } },
{ "set_rotation", { (const void*) &lv_image_set_rotation, "", "(lv.obj)i" } },
{ "set_scale", { (const void*) &lv_image_set_scale, "", "(lv.obj)i" } },
{ "set_scale_x", { (const void*) &lv_image_set_scale_x, "", "(lv.obj)i" } },
{ "set_scale_y", { (const void*) &lv_image_set_scale_y, "", "(lv.obj)i" } },
{ "set_src", { (const void*) &lv_image_set_src, "", "(lv.obj)." } },
{ "set_tasmota_logo", { (const void*) &lv_image_set_tasmota_logo, "", "(lv.obj)" } },
{ "set_zoom", { (const void*) &lv_image_set_scale, "", "(lv.obj)i" } },
};
#endif // BE_LV_WIDGET_IMAGE

/* `lv_group` methods */
const be_ntv_func_def_t lv_group_func[] = {
{ "add_obj", { (const void*) &lv_group_add_obj, "", "(lv.group)(lv.obj)" } },
Expand Down Expand Up @@ -1014,6 +981,39 @@ const be_ntv_func_def_t lv_dropdown_func[] = {
};
#endif // BE_LV_WIDGET_DROPDOWN

/* `lv_image` methods */
#ifdef BE_LV_WIDGET_IMAGE
const be_ntv_func_def_t lv_image_func[] = {
{ "get_angle", { (const void*) &lv_image_get_rotation, "i", "(lv.obj)" } },
{ "get_antialias", { (const void*) &lv_image_get_antialias, "b", "(lv.obj)" } },
{ "get_blend_mode", { (const void*) &lv_image_get_blend_mode, "i", "(lv.obj)" } },
{ "get_inner_align", { (const void*) &lv_image_get_inner_align, "i", "(lv.obj)" } },
{ "get_offset_x", { (const void*) &lv_image_get_offset_x, "i", "(lv.obj)" } },
{ "get_offset_y", { (const void*) &lv_image_get_offset_y, "i", "(lv.obj)" } },
{ "get_pivot", { (const void*) &lv_image_get_pivot, "", "(lv.obj)c" } },
{ "get_rotation", { (const void*) &lv_image_get_rotation, "i", "(lv.obj)" } },
{ "get_scale", { (const void*) &lv_image_get_scale, "i", "(lv.obj)" } },
{ "get_scale_x", { (const void*) &lv_image_get_scale_x, "i", "(lv.obj)" } },
{ "get_scale_y", { (const void*) &lv_image_get_scale_y, "i", "(lv.obj)" } },
{ "get_src", { (const void*) &lv_image_get_src, "c", "(lv.obj)" } },
{ "get_zoom", { (const void*) &lv_image_get_scale, "i", "(lv.obj)" } },
{ "set_angle", { (const void*) &lv_image_set_rotation, "", "(lv.obj)i" } },
{ "set_antialias", { (const void*) &lv_image_set_antialias, "", "(lv.obj)b" } },
{ "set_blend_mode", { (const void*) &lv_image_set_blend_mode, "", "(lv.obj)i" } },
{ "set_inner_align", { (const void*) &lv_image_set_inner_align, "", "(lv.obj)i" } },
{ "set_offset_x", { (const void*) &lv_image_set_offset_x, "", "(lv.obj)i" } },
{ "set_offset_y", { (const void*) &lv_image_set_offset_y, "", "(lv.obj)i" } },
{ "set_pivot", { (const void*) &lv_image_set_pivot, "", "(lv.obj)ii" } },
{ "set_rotation", { (const void*) &lv_image_set_rotation, "", "(lv.obj)i" } },
{ "set_scale", { (const void*) &lv_image_set_scale, "", "(lv.obj)i" } },
{ "set_scale_x", { (const void*) &lv_image_set_scale_x, "", "(lv.obj)i" } },
{ "set_scale_y", { (const void*) &lv_image_set_scale_y, "", "(lv.obj)i" } },
{ "set_src", { (const void*) &lv_image_set_src, "", "(lv.obj)." } },
{ "set_tasmota_logo", { (const void*) &lv_image_set_tasmota_logo, "", "(lv.obj)" } },
{ "set_zoom", { (const void*) &lv_image_set_scale, "", "(lv.obj)i" } },
};
#endif // BE_LV_WIDGET_IMAGE

/* `lv_imagebutton` methods */
#ifdef BE_LV_WIDGET_IMAGEBUTTON
const be_ntv_func_def_t lv_imagebutton_func[] = {
Expand Down Expand Up @@ -1188,12 +1188,21 @@ const be_ntv_func_def_t lv_slider_func[] = {
};
#endif // BE_LV_WIDGET_SLIDER

/* `lv_span` methods */
#ifdef BE_LV_WIDGET_SPAN
const be_ntv_func_def_t lv_span_func[] = {
{ "get_style", { (const void*) &lv_span_get_style, "lv.style", "(lv.span)" } },
{ "set_text", { (const void*) &lv_span_set_text, "", "(lv.span)s" } },
{ "set_text_static", { (const void*) &lv_span_set_text_static, "", "(lv.span)s" } },
};
#endif // BE_LV_WIDGET_SPAN

/* `lv_spangroup` methods */
#ifdef BE_LV_WIDGET_SPANGROUP
const be_ntv_func_def_t lv_spangroup_func[] = {
{ "delete_span", { (const void*) &lv_spangroup_delete_span, "", "(lv.obj)(lv.spangroup)" } },
{ "delete_span", { (const void*) &lv_spangroup_delete_span, "", "(lv.obj)(lv.span)" } },
{ "get_align", { (const void*) &lv_spangroup_get_align, "i", "(lv.obj)" } },
{ "get_child", { (const void*) &lv_spangroup_get_child, "lv.spangroup", "(lv.obj)i" } },
{ "get_child", { (const void*) &lv_spangroup_get_child, "lv.span", "(lv.obj)i" } },
{ "get_expand_height", { (const void*) &lv_spangroup_get_expand_height, "i", "(lv.obj)i" } },
{ "get_expand_width", { (const void*) &lv_spangroup_get_expand_width, "i", "(lv.obj)i" } },
{ "get_indent", { (const void*) &lv_spangroup_get_indent, "i", "(lv.obj)" } },
Expand All @@ -1202,7 +1211,7 @@ const be_ntv_func_def_t lv_spangroup_func[] = {
{ "get_mode", { (const void*) &lv_spangroup_get_mode, "i", "(lv.obj)" } },
{ "get_overflow", { (const void*) &lv_spangroup_get_overflow, "i", "(lv.obj)" } },
{ "get_span_count", { (const void*) &lv_spangroup_get_span_count, "i", "(lv.obj)" } },
{ "new_span", { (const void*) &lv_spangroup_new_span, "lv.spangroup", "(lv.obj)" } },
{ "new_span", { (const void*) &lv_spangroup_new_span, "lv.span", "(lv.obj)" } },
{ "refr_mode", { (const void*) &lv_spangroup_refr_mode, "", "(lv.obj)" } },
{ "set_align", { (const void*) &lv_spangroup_set_align, "", "(lv.obj)i" } },
{ "set_indent", { (const void*) &lv_spangroup_set_indent, "", "(lv.obj)i" } },
Expand Down Expand Up @@ -1375,6 +1384,7 @@ extern const bclass be_class_lv_qrcode;
extern const bclass be_class_lv_roller;
extern const bclass be_class_lv_scale;
extern const bclass be_class_lv_slider;
extern const bclass be_class_lv_span;
extern const bclass be_class_lv_spangroup;
extern const bclass be_class_lv_spinbox;
extern const bclass be_class_lv_spinner;
Expand Down Expand Up @@ -1469,6 +1479,9 @@ const be_ntv_class_def_t lv_classes[] = {
#ifdef BE_LV_WIDGET_SLIDER
{ "lv_slider", &be_class_lv_slider, lv_slider_func, sizeof(lv_slider_func) / sizeof(lv_slider_func[0]) },
#endif // BE_LV_WIDGET_SLIDER
#ifdef BE_LV_WIDGET_SPAN
{ "lv_span", &be_class_lv_span, lv_span_func, sizeof(lv_span_func) / sizeof(lv_span_func[0]) },
#endif // BE_LV_WIDGET_SPAN
#ifdef BE_LV_WIDGET_SPANGROUP
{ "lv_spangroup", &be_class_lv_spangroup, lv_spangroup_func, sizeof(lv_spangroup_func) / sizeof(lv_spangroup_func[0]) },
#endif // BE_LV_WIDGET_SPANGROUP
Expand Down Expand Up @@ -1503,10 +1516,6 @@ const size_t lv_classes_size = sizeof(lv_classes) / sizeof(lv_classes[0]);
/* `lv_font` methods */
/* `lv_color` methods */
/* `lv_theme` methods */
/* `lv_image` methods */
#ifdef BE_LV_WIDGET_IMAGE
int be_ntv_lv_image_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_image_create, "+_p", "(lv.obj)"); }
#endif // BE_LV_WIDGET_IMAGE
/* `lv_group` methods */
int be_ntv_lv_group_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_group_create, "+_p", ""); }
/* `lv_obj` methods */
Expand Down Expand Up @@ -1568,6 +1577,10 @@ const size_t lv_classes_size = sizeof(lv_classes) / sizeof(lv_classes[0]);
#ifdef BE_LV_WIDGET_DROPDOWN
int be_ntv_lv_dropdown_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_dropdown_create, "+_p", "(lv.obj)"); }
#endif // BE_LV_WIDGET_DROPDOWN
/* `lv_image` methods */
#ifdef BE_LV_WIDGET_IMAGE
int be_ntv_lv_image_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_image_create, "+_p", "(lv.obj)"); }
#endif // BE_LV_WIDGET_IMAGE
/* `lv_imagebutton` methods */
#ifdef BE_LV_WIDGET_IMAGEBUTTON
int be_ntv_lv_imagebutton_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_imagebutton_create, "+_p", "(lv.obj)"); }
Expand Down Expand Up @@ -1624,6 +1637,10 @@ const size_t lv_classes_size = sizeof(lv_classes) / sizeof(lv_classes[0]);
#ifdef BE_LV_WIDGET_SLIDER
int be_ntv_lv_slider_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_slider_create, "+_p", "(lv.obj)"); }
#endif // BE_LV_WIDGET_SLIDER
/* `lv_span` methods */
#ifdef BE_LV_WIDGET_SPAN
int be_ntv_lv_span_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_span_set_text_static, "+_p", "(lv.span)s"); }
#endif // BE_LV_WIDGET_SPAN
/* `lv_spangroup` methods */
#ifdef BE_LV_WIDGET_SPANGROUP
int be_ntv_lv_spangroup_init(bvm *vm) { return be_call_c_func(vm, (void*) &lv_spangroup_create, "+_p", "(lv.obj)"); }
Expand Down
2 changes: 0 additions & 2 deletions lib/libesp32_lvgl/lv_binding_berry/generate/be_lvgl_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,6 @@ const be_ntv_func_def_t lv_func[] = {
{ "screen_active", { (const void*) &lv_screen_active, "lv.obj", "" } },
{ "screen_load", { (const void*) &lv_screen_load, "", "(lv.obj)" } },
{ "screen_load_anim", { (const void*) &lv_screen_load_anim, "", "(lv.obj)iiib" } },
{ "span_set_text", { (const void*) &lv_span_set_text, "", "(lv.spangroup)s" } },
{ "span_set_text_static", { (const void*) &lv_span_set_text_static, "", "(lv.spangroup)s" } },
{ "span_stack_deinit", { (const void*) &lv_span_stack_deinit, "", "" } },
{ "span_stack_init", { (const void*) &lv_span_stack_init, "", "" } },
{ "style_get_num_custom_props", { (const void*) &lv_style_get_num_custom_props, "i", "" } },
Expand Down
Loading