Marc PASTEUR d132f39ff8 move lvgl
2025-12-19 18:08:19 +01:00

380 lines
27 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
Example
<lv_obj width="100" hidden="true"/>
-->
<widget>
<api>
<enumdef name="lv_obj_flag">
<enum name="hidden" help="Make the object hidden. (Like it wasn't there at all)"/>
<enum name="clickable" help="Make the object clickable by the input devices"/>
<enum name="click_focusable" help="Add focused state to the object when clicked"/>
<enum name="checkable" help="Toggle checked state when the object is clicked"/>
<enum name="scrollable" help="Make the object scrollable"/>
<enum name="scroll_elastic" help="Allow scrolling inside but with slower speed"/>
<enum name="scroll_momentum" help="Make the object scroll further when 'thrown'"/>
<enum name="scroll_one" help="Allow scrolling only one snappable children"/>
<enum name="scroll_chain_hor" help="Allow propagating the horizontal scroll to a parent"/>
<enum name="scroll_chain_ver" help="Allow propagating the vertical scroll to a parent"/>
<enum name="scroll_chain" help="SCROLL_CHAIN_HOR and SCROLL_CHAIN_VER"/>
<enum name="scroll_on_focus" help="Automatically scroll object to make it visible when focused"/>
<enum name="scroll_with_arrow" help="Allow scrolling the focused object with arrow keys"/>
<enum name="snappable" help="If scroll snap is enabled on the parent it can snap to this object"/>
<enum name="press_lock" help="Keep the object pressed even if the press slid from the object"/>
<enum name="event_bubble" help="Propagate the events to the parent too"/>
<enum name="gesture_bubble" help="Propagate the gestures to the parent"/>
<enum name="event_trickle" help="Send events to children first"/>
<enum name="state_trickle" help="Propagate state changes to children"/>
<enum name="adv_hittest" help="Allow performing more accurate hit (click) test. E.g. consider rounded corners."/>
<enum name="ignore_layout" help="Make the object not positioned by the layouts"/>
<enum name="floating" help="Do not scroll the object when the parent scrolls and ignore layout"/>
<enum name="send_draw_task_events" help="Send `LV_EVENT_DRAW_TASK_ADDED` events"/>
<enum name="overflow_visible" help="Do not clip the children to the parent's ext draw size"/>
<enum name="flex_in_new_track" help="Start a new flex track on this item"/>
<enum name="layout_1" help="Custom flag, free to use by layouts"/>
<enum name="layout_2" help="Custom flag, free to use by layouts"/>
<enum name="widget_1" help="Custom flag, free to use by widget"/>
<enum name="widget_2" help="Custom flag, free to use by widget"/>
<enum name="user_1" help="Custom flag, free to use by user"/>
<enum name="user_2" help="Custom flag, free to use by user"/>
<enum name="user_3" help="Custom flag, free to use by user"/>
<enum name="user_4" help="Custom flag, free to use by user"/>
</enumdef>
<element name="style" access="add" type="void" help="Add a style to the widget">
<arg name="name" type="style" help="Style name"/>
<arg name="selector" type="selector+" default="0" help="Target part and state, can be ORed, e.g. pressed|knob"/>
</element>
<element name="remove_style" access="custom" type="void" help="Remove a style from the widget">
<arg name="name" type="style" default="NULL" help="Style name (NULL means all)"/>
<arg name="selector" type="selector+" default="0" help="Target part and state, can be ORed, e.g. pressed|knob"/>
</element>
<element name="remove_style_all" access="custom" type="void" help="Remove all styles"/>
<element name="bind_style" access="custom" type="void" help="Bind a style to a subject value">
<arg name="name" type="style" help="Style name"/>
<arg name="selector" type="selector+" default="0" help="Selector (part+state)"/>
<arg name="subject" type="subject" help="Subject to monitor"/>
<arg name="ref_value" type="int" help="Value that activates the style"/>
</element>
<element name="event_cb" access="add" type="void" help="Attach an event callback">
<arg name="callback" type="event_cb" help="Callback function"/>
<arg name="trigger" type="lv_event" default="clicked" help="Event to trigger callback"/>
<arg name="user_data" type="string" default="NULL" help="Optional user data as a string"/>
</element>
<element name="screen_load_event" access="add" type="void" help="Load another screen on event">
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="screen" type="screen" help="Target screen"/>
<arg name="anim_type" type="enum:lv_screen_load_anim" default="none" help="Load animation"/>
<arg name="duration" type="int" default="0" help="Animation duration (ms)"/>
<arg name="delay" type="int" default="0" help="Start delay (ms)"/>
</element>
<element name="screen_create_event" access="add" type="void" help="Create + load a new screen on event">
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="screen" type="screen_create_cb" help="Screen create callback"/>
<arg name="anim_type" type="enum:lv_screen_load_anim" default="none" help="Load animation"/>
<arg name="duration" type="int" default="0" help="Animation duration (ms)"/>
<arg name="delay" type="int" default="0" help="Start delay (ms)"/>
</element>
<element name="play_timeline_event" access="add" type="void" help="Play a timeline on event">
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="target" type="lv_obj" help="Timeline target"/>
<arg name="timeline" type="timeline" help="Timeline to play"/>
<arg name="delay" type="int" default="0" help="Start delay (ms)"/>
<arg name="reverse" type="bool" default="false" help="Play in reverse"/>
</element>
<element name="subject_toggle_event" access="add" type="void" help="Toggle an int subject's value on an a trigger">
<arg name="subject" type="subject" help="Target subject"/>
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
</element>
<element name="subject_set_int_event" access="add" type="void" help="Set a subject (int) on event">
<arg name="subject" type="subject" help="Target subject"/>
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="value" type="int" help="Value to assign"/>
</element>
<element name="subject_set_float_event" access="add" type="void" help="Set subject (float) on event">
<arg name="subject" type="subject" help="Target subject"/>
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="value" type="float" help="Value to assign"/>
</element>
<element name="subject_set_string_event" access="add" type="void" help="Set subject (string) on event">
<arg name="subject" type="subject" help="Target subject"/>
<arg name="trigger" type="lv_event" default="clicked" help="Trigger event"/>
<arg name="value" type="string" help="Value to assign"/>
</element>
<element name="subject_increment_event" access="add" type="lv_subject_increment_dsc">
<arg name="subject" type="subject"/>
<arg name="trigger" type="lv_event" default="clicked"/>
<arg name="step" type="int" default="1"/>
<prop name="rollover" type="bool"/>
<prop name="min_value" type="int"/>
<prop name="max_value" type="int"/>
</element>
<!-- Bind widget flags to subject values -->
<element name="bind_flag_if_eq" access="custom" type="void" help="Enable flag if subject's value is is equal to a reference value">
<arg name="subject" type="subject" help="Subject to monitor"/>
<arg name="flag" type="enum:lv_obj_flag" help="Flag to set/clear"/>
<arg name="ref_value" type="int" help="Reference value"/>
</element>
<element name="bind_flag_if_not_eq" access="custom" type="void" help="Enable flag if subject's value is not equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_gt" access="custom" type="void" help="Enable flag if subject's value is graeter than a reference value">
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_ge" access="custom" type="void" help="Enable flag if subject's value is greater than or equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_lt" access="custom" type="void" help="Enable flag if subject's value is less than value">
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_le" access="custom" type="void" help="Enable flag if subject's value is less than or equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<!-- Bind widget states to subject values -->
<element name="bind_state_if_eq" access="custom" type="void" help="Apply a state if subject's value is equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_not_eq" access="custom" type="void" help="Apply a state if subject's value is not equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_gt" access="custom" type="void" help="Apply a state if subject's value is greater than a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_ge" access="custom" type="void" help="Apply a state if subject's value is greater or equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_lt" access="custom" type="void" help="Apply a state if subject's value is less than a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_le" access="custom" type="void" help="Apply a state if subject's value is less or equal to a reference value">
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<prop name="name" type="string" help="Object name (for lv_obj_find_by_name or debugging)"/>
<prop name="x" type="coords" help="Set X position (px or %)"/>
<prop name="y" type="coords" help="Set Y position (px or %)"/>
<prop name="height" type="coords" help="Set height (px, % or content)"/>
<prop name="width" type="coords" help="Set width (px, % or content)"/>
<prop name="align" type="enum:lv_align" help="Align on parent"/>
<prop name="ext_click_area" type="int" help="Extra clickable area around object in px"/>
<prop name="scroll_snap_x" type="enum:lv_scroll_snap" help="Snap children horizontally"/>
<prop name="scroll_snap_y" type="enum:lv_scroll_snap" help="Snap children vertically"/>
<prop name="scrollbar_mode" type="enum:lv_scrollbar_mode" help="Set the scrollbar mode"/>
<prop name="style_x" type="coords" help="Set X position (px, or %)"/>
<prop name="style_y" type="coords" help="Set Y position (px, or %)"/>
<prop name="style_height" type="coords" help="Set height (px, %, or content)"/>
<prop name="style_min_height" type="coords" help="Set min height (px, %, or content)"/>
<prop name="style_max_height" type="coords" help="Set max height (px, %, or content)"/>
<prop name="style_width" type="coords" help="Set width (px, %, or content)"/>
<prop name="style_min_width" type="coords" help="Set min width (px, %, or content)"/>
<prop name="style_max_width" type="coords" help="Set max width (px, %, or content)"/>
<prop name="style_length" type="coords" help="Set length (used by some widgets)"/>
<prop name="style_pad_top" type="int" help="Keep this distance on the top from the content inside"/>
<prop name="style_pad_bottom" type="int" help="Keep this distance on the bottom from the content inside"/>
<prop name="style_pad_left" type="int" help="Keep this distance on the left from the content inside"/>
<prop name="style_pad_right" type="int" help="Keep this distance on the right from the content inside"/>
<prop name="style_pad_hor" type="int" help="Set both left and right padding"/>
<prop name="style_pad_ver" type="int" help="Set both top and bottom padding"/>
<prop name="style_pad_all" type="int" help="Set padding in all 4 directions"/>
<prop name="style_pad_row" type="int" help="Set padding between rows of layouts"/>
<prop name="style_pad_column" type="int" help="Set padding between columns of layouts"/>
<prop name="style_pad_radial" type="int" help="Set radial padding"/>
<prop name="style_margin_top" type="int" help="Keep distance above the widget when used in a layout"/>
<prop name="style_margin_bottom" type="int" help="Keep distance below the widget when used in a layout"/>
<prop name="style_margin_left" type="int" help="Keep distance to the left of the widget when used in a layout"/>
<prop name="style_margin_right" type="int" help="Keep distance to the right of the widget when used in a layout"/>
<prop name="style_margin_hor" type="int" help="Set both left and right margin"/>
<prop name="style_margin_ver" type="int" help="Set both top and bottom margin"/>
<prop name="style_margin_all" type="int" help="Set margins in all 4 directions"/>
<prop name="style_radius" type="int" help="Set corner radius"/>
<prop name="style_radial_offset" type="int" help="Set radial offset (e.g. on ticks of circular scales)"/>
<prop name="style_align" type="enum:lv_align" help="Set alignment on the parent"/>
<prop name="style_clip_corner" type="bool" help="Enable corner clipping"/>
<prop name="style_base_dir" type="enum:lv_base_dir" help="Set base text dir"/>
<prop name="style_bg_color" type="color" help="Set bg color"/>
<prop name="style_bg_opa" type="opa" help="Set background opacity"/>
<prop name="style_bg_grad_dir" type="enum:lv_grad_dir" help="Set background gradient type"/>
<prop name="style_bg_main_stop" type="int" help="Set gradient main stop"/>
<prop name="style_bg_grad_stop" type="int" help="Set gradient second stop"/>
<prop name="style_bg_grad_color" type="color" help="Set gradient color"/>
<prop name="style_bg_image_src" type="image" help="Set background image"/>
<prop name="style_bg_image_tiled" type="bool" help="Tile background image"/>
<prop name="style_bg_image_recolor" type="color" help="Recolor the background image"/>
<prop name="style_bg_image_recolor_opa" type="opa" help="Set the recolor intensity"/>
<prop name="style_border_color" type="color" help="Set border color"/>
<prop name="style_border_width" type="int" help="Set border width"/>
<prop name="style_border_opa" type="opa" help="Set border opacity"/>
<prop name="style_border_side" type="enum:lv_border_side" help="Set border sides"/>
<prop name="style_border_post" type="bool" help="Draw border after content"/>
<prop name="style_outline_color" type="color" help="Set outline color"/>
<prop name="style_outline_width" type="int" help="Set outline width"/>
<prop name="style_outline_opa" type="opa" help="Set outline opacity"/>
<prop name="style_outline_pad" type="int" help="Set outline spacing"/>
<prop name="style_shadow_width" type="int" help="Set shadow size"/>
<prop name="style_shadow_color" type="color" help="Set shadow color"/>
<prop name="style_shadow_opa" type="opa" help="Set shadow opacity"/>
<prop name="style_shadow_offset_x" type="int" help="Set shadow X offset"/>
<prop name="style_shadow_offset_y" type="int" help="Set shadow Y offset"/>
<prop name="style_shadow_spread" type="int" help="Assume that the base rectangle is larger by this"/>
<prop name="style_text_color" type="color" help="Set text color"/>
<prop name="style_text_opa" type="opa" help="Set text opacity"/>
<prop name="style_text_font" type="font" help="Set font"/>
<prop name="style_text_align" type="enum:lv_text_align" help="Set text align"/>
<prop name="style_text_letter_space" type="int" help="Set letter spacing"/>
<prop name="style_text_line_space" type="int" help="Set line spacing"/>
<prop name="style_text_decor" type="enum:lv_text_decor" help="Set text decor"/>
<prop name="style_image_opa" type="opa" help="Set image opacity"/>
<prop name="style_image_recolor" type="color" help="Recolor image"/>
<prop name="style_image_recolor_opa" type="opa" help="Set recolor opacity"/>
<prop name="style_line_width" type="int" help="Set line width"/>
<prop name="style_line_color" type="color" help="Set line color"/>
<prop name="style_line_opa" type="opa" help="Set line opacity"/>
<prop name="style_line_dash_width" type="int" help="Set dash width"/>
<prop name="style_line_dash_gap" type="int" help="Set dash gap"/>
<prop name="style_line_rounded" type="bool" help="Round line ends"/>
<prop name="style_arc_width" type="int" help="Set arc width"/>
<prop name="style_arc_color" type="color" help="Set arc color"/>
<prop name="style_arc_opa" type="opa" help="Set arc opacity"/>
<prop name="style_arc_rounded" type="bool" help="Round arc ends"/>
<prop name="style_arc_image_src" type="image" help="Set arc image"/>
<prop name="style_layout" type="enum:lv_layout" help="Set layout type"/>
<prop name="style_flex_flow" type="enum:lv_flex_flow" help="Set how flex should flow the children (row, column, etc)"/>
<prop name="style_flex_main_place" type="enum:lv_flex_align" help="Set main axis align (horizontal with flex_flow=row)"/>
<prop name="style_flex_cross_place" type="enum:lv_flex_align" help="Set cross axis align (vertical with flex_flow=row)"/>
<prop name="style_flex_track_place" type="enum:lv_flex_align" help="Set track align"/>
<prop name="style_flex_grow" type="int" help="Set flex grow to fill the available space in the track"/>
<prop name="style_grid_column_dsc_array" type="grid_dsc[LV_GRID_TEMPLATE_LAST]" help="Set column descriptor array"/>
<prop name="style_grid_row_dsc_array" type="grid_dsc[LV_GRID_TEMPLATE_LAST]" help="Set row descriptor array"/>
<prop name="style_grid_column_align" type="enum:lv_grid_align" help="Where to align the columns"/>
<prop name="style_grid_row_align" type="enum:lv_grid_align" help="Where to align the rows"/>
<prop name="style_grid_cell_column_pos" type="int" help="Set cell's column"/>
<prop name="style_grid_cell_column_span" type="int" help="How many columns the cell should span"/>
<prop name="style_grid_cell_x_align" type="enum:lv_grid_align" help="How to align the cell horizontally"/>
<prop name="style_grid_cell_row_pos" type="int" help="Set cell's row"/>
<prop name="style_grid_cell_row_span" type="int" help="How many rows the cell should span"/>
<prop name="style_grid_cell_y_align" type="enum:lv_grid_align" help="How to align the cell vertically"/>
<prop name="style_opa" type="opa" help="Scale down the opacity of the widget and all its children"/>
<prop name="style_opa_layered" type="opa" help="Create a snapshot from the widget and blend it with opacity"/>
<prop name="style_anim_duration" type="int" help="Set animation duration in ms (e.g. for label scroll)"/>
<prop name="style_blend_mode" type="enum:lv_blend_mode" help="Set how to blend colors"/>
<prop name="style_transform_width" type="int" help="Change the width without affecting the layouts"/>
<prop name="style_transform_height" type="int" help="Change the height without affecting the layouts"/>
<prop name="style_translate_x" type="int" help="Offset in X after the layouts are calculated"/>
<prop name="style_translate_y" type="int" help="Offset in Y after the layouts are calculated"/>
<prop name="style_translate_radial" type="int" help="Translate radial"/>
<prop name="style_transform_scale_x" type="int" help="Scale X (256=100%)"/>
<prop name="style_transform_scale_y" type="int" help="Scale Y (256=100%)"/>
<prop name="style_transform_rotation" type="int" help="Rotate (0.1° units)"/>
<prop name="style_transform_pivot_x" type="int" help="Set pivot X"/>
<prop name="style_transform_pivot_y" type="int" help="Set pivot Y"/>
<prop name="style_transform_skew_x" type="int" help="Skew X (no SW render)"/>
<prop name="style_transform_skew_y" type="int" help="Skew Y (no SW render)"/>
<prop name="style_bitmap_mask_src" type="image" help="Set bitmap mask (A8 or L8)"/>
<prop name="style_rotary_sensitivity" type="int" help="Set rotary sensitivity for Crown input devices"/>
<prop name="style_recolor" type="color" help="Mix this color to the widget and all its children"/>
<prop name="style_recolor_opa" type="opa" help="The intensity of recoloring"/>
<prop name="flex_grow" type="int" help="Set flex grow to fill the available space in the track"/>
<prop name="flex_flow" type="enum:lv_flex_flow" help="Set flex flow direction (row, column, etc.)"/>
<prop name="checked" type="flag:state lv_state" help="Mark widget as checked (e.g. switch or checkbox)"/>
<prop name="focused" type="flag:state lv_state" help="Mark widget as focused"/>
<prop name="focus_key" type="flag:state lv_state" help="Mark widget as focused via key navigation"/>
<prop name="edited" type="flag:state lv_state" help="Mark widget as being edited (e.g. text input)"/>
<prop name="hovered" type="flag:state lv_state" help="Mark widget as hovered by a pointer"/>
<prop name="pressed" type="flag:state lv_state" help="Mark widget as pressed"/>
<prop name="scrolled" type="flag:state lv_state" help="Mark widget as being scrolled"/>
<prop name="disabled" type="flag:state lv_state" help="Disable widget interaction"/>
<prop name="hidden" type="flag:flag lv_obj_flag" help="Make the object hidden. (Like it wasn't there at all)"/>
<prop name="clickable" type="flag:flag lv_obj_flag" help="Make the object clickable by the input devices"/>
<prop name="click_focusable" type="flag:flag lv_obj_flag" help="Add focused state to the object when clicked"/>
<prop name="checkable" type="flag:flag lv_obj_flag" help="Toggle checked state when the object is clicked"/>
<prop name="scrollable" type="flag:flag lv_obj_flag" help="Make the object scrollable"/>
<prop name="scroll_elastic" type="flag:flag lv_obj_flag" help="Allow scrolling inside but with slower speed"/>
<prop name="scroll_momentum" type="flag:flag lv_obj_flag" help="Make the object scroll further when 'thrown'"/>
<prop name="scroll_one" type="flag:flag lv_obj_flag" help="Allow scrolling only one snappable children"/>
<prop name="scroll_chain_hor" type="flag:flag lv_obj_flag" help="Allow propagating the horizontal scroll to a parent"/>
<prop name="scroll_chain_ver" type="flag:flag lv_obj_flag" help="Allow propagating the vertical scroll to a parent"/>
<prop name="scroll_chain" type="flag:flag lv_obj_flag" help="SCROLL_CHAIN_HOR and SCROLL_CHAIN_VER"/>
<prop name="scroll_on_focus" type="flag:flag lv_obj_flag" help="Automatically scroll object to make it visible when focused"/>
<prop name="scroll_with_arrow" type="flag:flag lv_obj_flag" help="Allow scrolling the focused object with arrow keys"/>
<prop name="snappable" type="flag:flag lv_obj_flag" help="If scroll snap is enabled on the parent it can snap to this object"/>
<prop name="press_lock" type="flag:flag lv_obj_flag" help="Keep the object pressed even if the press slid from the object"/>
<prop name="event_bubble" type="flag:flag lv_obj_flag" help="Propagate the events to the parent too"/>
<prop name="event_trickle" type="flag:flag lv_obj_flag" help="Send events to children first"/>
<prop name="state_trickle" type="flag:flag lv_obj_flag" help="Propagate state changes to children"/>
<prop name="gesture_bubble" type="flag:flag lv_obj_flag" help="Propagate the gestures to the parent"/>
<prop name="adv_hittest" type="flag:flag lv_obj_flag" help="Allow performing more accurate hit (click) test. E.g. consider rounded corners."/>
<prop name="ignore_layout" type="flag:flag lv_obj_flag" help="Make the object not positioned by the layouts"/>
<prop name="floating" type="flag:flag lv_obj_flag" help="Do not scroll the object when the parent scrolls and ignore layout"/>
<prop name="send_draw_task_events" type="flag:flag lv_obj_flag" help="Send `LV_EVENT_DRAW_TASK_ADDED` events"/>
<prop name="overflow_visible" type="flag:flag lv_obj_flag" help="Do not clip the children to the parent's ext draw size"/>
<prop name="flex_in_new_track" type="flag:flag lv_obj_flag" help="Start a new flex track on this item"/>
<prop name="bind_checked" type="subject" help="Bind widgets checked state to a subject"/>
</api>
</widget>