1 /** 2 * @file lv_xml_component_private.h 3 * 4 */ 5 6 #ifndef LV_XML_COMPONENT_PRIVATE_H 7 #define LV_XML_COMPONENT_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 #include "lv_xml.h" 17 #if LV_USE_XML 18 19 #include "lv_xml_utils.h" 20 #include "../../misc/lv_ll.h" 21 22 /********************** 23 * TYPEDEFS 24 **********************/ 25 26 typedef void * (*lv_xml_component_process_cb_t)(lv_obj_t * parent, const char * data, const char ** attrs); 27 28 struct _lv_xml_component_ctx_t { 29 const char * name; 30 lv_ll_t style_ll; 31 lv_ll_t const_ll; 32 lv_ll_t param_ll; 33 const char * view_def; 34 struct _lv_widget_processor_t * root_widget; 35 uint32_t is_widget : 1; /*1: not component but widget registered as a component for preview*/ 36 struct _lv_xml_component_ctx_t * next; 37 }; 38 39 /********************** 40 * GLOBAL PROTOTYPES 41 **********************/ 42 43 /** 44 * Initialize the components system. 45 */ 46 void lv_xml_component_init(void); 47 48 /********************** 49 * MACROS 50 **********************/ 51 52 #endif /* LV_USE_XML */ 53 54 #ifdef __cplusplus 55 } /*extern "C"*/ 56 #endif 57 58 #endif /*LV_XML_COMPONENT_PRIVATE_H*/ 59