1 /** 2 * @file lv_span_private.h 3 * 4 */ 5 6 #ifndef LV_SPAN_PRIVATE_H 7 #define LV_SPAN_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_span.h" 19 20 #if LV_USE_SPAN != 0 21 22 /********************* 23 * DEFINES 24 *********************/ 25 26 /********************** 27 * TYPEDEFS 28 **********************/ 29 30 struct _lv_span_t { 31 char * txt; /**< a pointer to display text */ 32 lv_obj_t * spangroup; /**< a pointer to spangroup */ 33 lv_style_t style; /**< display text style */ 34 uint32_t static_flag : 1; /**< the text is static flag */ 35 36 lv_point_t trailing_pos; 37 int32_t trailing_height; 38 }; 39 40 /** Data of label*/ 41 struct _lv_spangroup_t { 42 lv_obj_t obj; 43 int32_t lines; 44 int32_t indent; /**< first line indent */ 45 int32_t cache_w; /**< the cache automatically calculates the width */ 46 int32_t cache_h; /**< similar cache_w */ 47 lv_ll_t child_ll; 48 uint32_t mode : 2; /**< details see lv_span_mode_t */ 49 uint32_t overflow : 1; /**< details see lv_span_overflow_t */ 50 uint32_t refresh : 1; /**< the spangroup need refresh cache_w and cache_h */ 51 }; 52 53 54 /********************** 55 * GLOBAL PROTOTYPES 56 **********************/ 57 58 /********************** 59 * MACROS 60 **********************/ 61 62 #endif /* LV_USE_SPAN != 0 */ 63 64 #ifdef __cplusplus 65 } /*extern "C"*/ 66 #endif 67 68 #endif /*LV_SPAN_PRIVATE_H*/ 69