1 /** 2 * @file lv_demo_flex_layout_main.h 3 * 4 */ 5 6 #ifndef LV_DEMO_FLEX_LAYOUT_MAIN_H 7 #define LV_DEMO_FLEX_LAYOUT_MAIN_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "../../lvgl.h" 18 19 /********************* 20 * DEFINES 21 *********************/ 22 23 #ifndef ARRAY_SIZE 24 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0])) 25 #endif 26 27 /********************** 28 * TYPEDEFS 29 **********************/ 30 typedef struct { 31 lv_obj_t * root; 32 lv_obj_t * obj_cur; 33 lv_style_t obj_def_style; 34 lv_style_t obj_checked_style; 35 36 struct { 37 lv_obj_t * cont; 38 39 struct { 40 lv_obj_t * view; 41 42 struct { 43 lv_obj_t * tab; 44 lv_obj_t * ddlist_flow; 45 lv_obj_t * checkbox_scrl; 46 } flex; 47 48 struct { 49 lv_obj_t * tab; 50 lv_obj_t * ddlist_align_main; 51 lv_obj_t * ddlist_align_cross; 52 lv_obj_t * ddlist_align_track; 53 } align; 54 55 struct { 56 lv_obj_t * tab; 57 lv_obj_t * group_width_and_height; 58 lv_obj_t * spinbox_width; 59 lv_obj_t * spinbox_height; 60 lv_obj_t * group_width_and_height_min; 61 lv_obj_t * spinbox_min_width; 62 lv_obj_t * spinbox_min_height; 63 lv_obj_t * group_width_and_height_max; 64 lv_obj_t * spinbox_max_width; 65 lv_obj_t * spinbox_max_height; 66 lv_obj_t * spinbox_pad_top; 67 lv_obj_t * spinbox_pad_bottom; 68 lv_obj_t * spinbox_pad_left; 69 lv_obj_t * spinbox_pad_right; 70 lv_obj_t * spinbox_pad_column; 71 lv_obj_t * spinbox_pad_row; 72 lv_obj_t * spinbox_flex_grow; 73 } layout; 74 } tab; 75 76 struct { 77 lv_obj_t * cont; 78 lv_obj_t * add; 79 lv_obj_t * remove; 80 } btn; 81 82 } ctrl_pad; 83 } view_t; 84 85 /********************** 86 * GLOBAL PROTOTYPES 87 **********************/ 88 89 void view_create(lv_obj_t * par, view_t * ui); 90 void view_ctrl_pad_create(lv_obj_t * par, view_t * ui); 91 lv_obj_t * obj_child_node_create(lv_obj_t * par, view_t * ui); 92 93 void ctrl_pad_attach(view_t * ui); 94 void ctrl_pad_obj_update(lv_obj_t * obj, view_t * ui); 95 void flex_loader_obj_update(lv_obj_t * obj, view_t * ui); 96 void flex_loader_attach(view_t * ui); 97 98 /********************** 99 * MACROS 100 **********************/ 101 102 #ifdef __cplusplus 103 } /*extern "C"*/ 104 #endif 105 106 #endif /*LV_DEMO_FLEX_LAYOUT_MAIN_H*/ 107