1 /**
2  * @file lv_calendar_private.h
3  *
4  */
5 
6 #ifndef LV_CALENDAR_PRIVATE_H
7 #define LV_CALENDAR_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_calendar.h"
19 
20 #if LV_USE_CALENDAR
21 
22 /*********************
23  *      DEFINES
24  *********************/
25 
26 /**********************
27  *      TYPEDEFS
28  **********************/
29 
30 /** Data of calendar */
31 struct _lv_calendar_t {
32     lv_obj_t obj;
33     /* New data for this type */
34     lv_obj_t * btnm;
35     lv_calendar_date_t today;                /**< Date of today */
36     lv_calendar_date_t showed_date;          /**< Currently visible month (day is ignored) */
37     lv_calendar_date_t * highlighted_dates;  /**< Apply different style on these days (pointer to user-defined array) */
38     size_t highlighted_dates_num;            /**< Number of elements in `highlighted_days` */
39     const char * map[8 * 7];
40 #ifdef LV_USE_CALENDAR_CHINESE
41     bool use_chinese_calendar;
42 
43     /** 7 * 6: A week has 7 days, and the calendar displays 6 weeks in total.
44      * 20: Including the number of dates, line breaks, names for each day,
45      * and reserving several spaces for addresses. */
46     char nums [7 * 6][20];
47 #else
48     /** 7 * 6: A week has 7 days, and the calendar displays 6 weeks in total.
49      * 6: Including the number of dates, and reserving several spaces for
50      * addresses.*/
51     char nums [7 * 6][4];
52 #endif
53 };
54 
55 
56 /**********************
57  * GLOBAL PROTOTYPES
58  **********************/
59 
60 /**********************
61  *      MACROS
62  **********************/
63 
64 #endif /* LV_USE_CALENDAR */
65 
66 #ifdef __cplusplus
67 } /*extern "C"*/
68 #endif
69 
70 #endif /*LV_CALENDAR_PRIVATE_H*/
71