lv_xml_widget.h

Typedefs

typedef void *(*lv_xml_widget_create_cb_t)(lv_xml_parser_state_t *state, const char **parent_attrs)
typedef void (*lv_xml_widget_apply_cb_t)(lv_xml_parser_state_t *state, const char **parent_attrs)
typedef struct _lv_widget_processor_t lv_widget_processor_t

Functions

lv_result_t lv_xml_register_widget(const char *name, lv_xml_widget_create_cb_t create_cb, lv_xml_widget_apply_cb_t apply_cb)

Register a Widget for the XML parser. When a Widget with a given name is created in XML create_cb will be called to create an instance, and then apply_cb will be called to apply the properties (e.g. width=100"").

Note

E.g. Chart series, are also considered Widgets although they don't have lv_obj_t * type.

Parameters:
  • name – Name of the Widget (e.g. "my_slider", referenced as <my_slider> in XML)

  • create_cb – Called to create an instance of the Widget

  • apply_cb – Called to apply its properties

Returns:

Pointer to the created Widget

lv_widget_processor_t *lv_xml_widget_get_processor(const char *name)

Get a descriptor that was created when the Widget was registered.

Parameters:

name – The name that was used when the Widget was registered

Returns:

The descriptor of the Widget

lv_widget_processor_t *lv_xml_widget_get_extended_widget_processor(const char *extends)

Get the descriptor of the Widget that is extended by a given Widget, Component, or Screen. E.g. in a Component <view extends="lv_slider"> return the descriptor of lv_slider.

Note

If a component extends an other component which based on lv_slider lv_slider's descriptor will be returned.

Parameters:

extends – The name of a Component, Screen, or Widget whose ancestor Widget shall be returned

Returns:

The descriptor of the extended Widget

struct _lv_widget_processor_t

Public Members

const char *name
lv_xml_widget_create_cb_t create_cb
lv_xml_widget_apply_cb_t apply_cb
struct _lv_widget_processor_t *next