1 /**
2  * @file lv_fragment_private.h
3  *
4  */
5 
6 #ifndef LV_FRAGMENT_PRIVATE_H
7 #define LV_FRAGMENT_PRIVATE_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "lv_fragment.h"
18 
19 #if LV_USE_FRAGMENT
20 
21 /*********************
22  *      DEFINES
23  *********************/
24 
25 /**********************
26  *      TYPEDEFS
27  **********************/
28 
29 /**
30  * Fragment states
31  */
32 struct _lv_fragment_managed_states_t  {
33     /**
34      * Class of the fragment
35      */
36     const lv_fragment_class_t * cls;
37     /**
38      * Manager the fragment attached to
39      */
40     lv_fragment_manager_t * manager;
41     /**
42      * Container object the fragment adding view to
43      */
44     lv_obj_t * const * container;
45     /**
46      * Fragment instance
47      */
48     lv_fragment_t * instance;
49     /**
50      * true between `create_obj_cb` and `obj_deleted_cb`
51      */
52     bool obj_created;
53     /**
54      * true before `lv_fragment_delete_obj` is called. Don't touch any object if this is true
55      */
56     bool destroying_obj;
57     /**
58      * true if this fragment is in navigation stack that can be popped
59      */
60     bool in_stack;
61 };
62 
63 /**********************
64  * GLOBAL PROTOTYPES
65  **********************/
66 
67 /**********************
68  *      MACROS
69  **********************/
70 
71 #endif /* LV_USE_FRAGMENT */
72 
73 #ifdef __cplusplus
74 } /*extern "C"*/
75 #endif
76 
77 #endif /*LV_FRAGMENT_PRIVATE_H*/
78