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