1 /** 2 * @file lv_menu_private.h 3 * 4 */ 5 6 #ifndef LV_MENU_PRIVATE_H 7 #define LV_MENU_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "../../core/lv_obj_private.h" 18 #include "lv_menu.h" 19 20 #if LV_USE_MENU 21 22 /********************* 23 * DEFINES 24 *********************/ 25 26 /********************** 27 * TYPEDEFS 28 **********************/ 29 30 struct _lv_menu_load_page_event_data_t { 31 lv_obj_t * menu; 32 lv_obj_t * page; 33 }; 34 35 struct _lv_menu_history_t { 36 lv_obj_t * page; 37 }; 38 39 struct _lv_menu_t { 40 lv_obj_t obj; 41 lv_obj_t * storage; /**< a pointer to obj that is the parent of all pages not displayed */ 42 lv_obj_t * main; 43 lv_obj_t * main_page; 44 lv_obj_t * main_header; 45 lv_obj_t * 46 main_header_back_btn; /**< a pointer to obj that on click triggers back btn event handler, can be same as 'main_header' */ 47 lv_obj_t * main_header_title; 48 lv_obj_t * sidebar; 49 lv_obj_t * sidebar_page; 50 lv_obj_t * sidebar_header; 51 lv_obj_t * 52 sidebar_header_back_btn; /**< a pointer to obj that on click triggers back btn event handler, can be same as 'sidebar_header' */ 53 lv_obj_t * sidebar_header_title; 54 lv_obj_t * selected_tab; 55 lv_ll_t history_ll; 56 uint8_t cur_depth; 57 uint8_t prev_depth; 58 uint8_t sidebar_generated : 1; 59 lv_menu_mode_header_t mode_header : 3; 60 lv_menu_mode_root_back_button_t mode_root_back_btn : 1; 61 }; 62 63 struct _lv_menu_page_t { 64 lv_obj_t obj; 65 char * title; 66 bool static_title; 67 }; 68 69 70 /********************** 71 * GLOBAL PROTOTYPES 72 **********************/ 73 74 /********************** 75 * MACROS 76 **********************/ 77 78 #endif /* LV_USE_MENU */ 79 80 #ifdef __cplusplus 81 } /*extern "C"*/ 82 #endif 83 84 #endif /*LV_MENU_PRIVATE_H*/ 85