1 /**
2  * @file lv_profiler.h
3  *
4  */
5 
6 #ifndef LV_PROFILER_H
7 #define LV_PROFILER_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../lv_conf_internal.h"
18 
19 #if LV_USE_PROFILER
20 
21 #include LV_PROFILER_INCLUDE
22 
23 /*********************
24  *      DEFINES
25  *********************/
26 
27 /**********************
28  *      TYPEDEFS
29  **********************/
30 
31 /**********************
32  * GLOBAL PROTOTYPES
33  **********************/
34 
35 /**********************
36  *      MACROS
37  **********************/
38 
39 #else
40 
41 #define LV_PROFILER_BEGIN
42 #define LV_PROFILER_END
43 #define LV_PROFILER_BEGIN_TAG(tag) LV_UNUSED(tag)
44 #define LV_PROFILER_END_TAG(tag)   LV_UNUSED(tag)
45 
46 #endif /*LV_USE_PROFILER*/
47 
48 #if LV_USE_PROFILER && LV_PROFILER_LAYOUT
49 #define LV_PROFILER_LAYOUT_BEGIN LV_PROFILER_BEGIN
50 #define LV_PROFILER_LAYOUT_END LV_PROFILER_END
51 #define LV_PROFILER_LAYOUT_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
52 #define LV_PROFILER_LAYOUT_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
53 #else
54 #define LV_PROFILER_LAYOUT_BEGIN
55 #define LV_PROFILER_LAYOUT_END
56 #define LV_PROFILER_LAYOUT_BEGIN_TAG(tag)
57 #define LV_PROFILER_LAYOUT_END_TAG(tag)
58 #endif
59 
60 #if LV_USE_PROFILER && LV_PROFILER_STYLE
61 #define LV_PROFILER_STYLE_BEGIN LV_PROFILER_BEGIN
62 #define LV_PROFILER_STYLE_END LV_PROFILER_END
63 #define LV_PROFILER_STYLE_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
64 #define LV_PROFILER_STYLE_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
65 #else
66 #define LV_PROFILER_STYLE_BEGIN
67 #define LV_PROFILER_STYLE_END
68 #define LV_PROFILER_STYLE_BEGIN_TAG(tag)
69 #define LV_PROFILER_STYLE_END_TAG(tag)
70 #endif
71 
72 #if LV_USE_PROFILER && LV_PROFILER_DRAW
73 #define LV_PROFILER_DRAW_BEGIN LV_PROFILER_BEGIN
74 #define LV_PROFILER_DRAW_END LV_PROFILER_END
75 #define LV_PROFILER_DRAW_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
76 #define LV_PROFILER_DRAW_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
77 #else
78 #define LV_PROFILER_DRAW_BEGIN
79 #define LV_PROFILER_DRAW_END
80 #define LV_PROFILER_DRAW_BEGIN_TAG(tag)
81 #define LV_PROFILER_DRAW_END_TAG(tag)
82 #endif
83 
84 #if LV_USE_PROFILER && LV_PROFILER_DECODER
85 #define LV_PROFILER_DECODER_BEGIN LV_PROFILER_BEGIN
86 #define LV_PROFILER_DECODER_END LV_PROFILER_END
87 #define LV_PROFILER_DECODER_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
88 #define LV_PROFILER_DECODER_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
89 #else
90 #define LV_PROFILER_DECODER_BEGIN
91 #define LV_PROFILER_DECODER_END
92 #define LV_PROFILER_DECODER_BEGIN_TAG(tag)
93 #define LV_PROFILER_DECODER_END_TAG(tag)
94 #endif
95 
96 #if LV_USE_PROFILER && LV_PROFILER_REFR
97 #define LV_PROFILER_REFR_BEGIN LV_PROFILER_BEGIN
98 #define LV_PROFILER_REFR_END LV_PROFILER_END
99 #define LV_PROFILER_REFR_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
100 #define LV_PROFILER_REFR_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
101 #else
102 #define LV_PROFILER_REFR_BEGIN
103 #define LV_PROFILER_REFR_END
104 #define LV_PROFILER_REFR_BEGIN_TAG(tag)
105 #define LV_PROFILER_REFR_END_TAG(tag)
106 #endif
107 
108 #if LV_USE_PROFILER && LV_PROFILER_INDEV
109 #define LV_PROFILER_INDEV_BEGIN LV_PROFILER_BEGIN
110 #define LV_PROFILER_INDEV_END LV_PROFILER_END
111 #define LV_PROFILER_INDEV_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
112 #define LV_PROFILER_INDEV_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
113 #else
114 #define LV_PROFILER_INDEV_BEGIN
115 #define LV_PROFILER_INDEV_END
116 #define LV_PROFILER_INDEV_BEGIN_TAG(tag)
117 #define LV_PROFILER_INDEV_END_TAG(tag)
118 #endif
119 
120 #if LV_USE_PROFILER && LV_PROFILER_FONT
121 #define LV_PROFILER_FONT_BEGIN LV_PROFILER_BEGIN
122 #define LV_PROFILER_FONT_END LV_PROFILER_END
123 #define LV_PROFILER_FONT_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
124 #define LV_PROFILER_FONT_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
125 #else
126 #define LV_PROFILER_FONT_BEGIN
127 #define LV_PROFILER_FONT_END
128 #define LV_PROFILER_FONT_BEGIN_TAG(tag)
129 #define LV_PROFILER_FONT_END_TAG(tag)
130 #endif
131 
132 #if LV_USE_PROFILER && LV_PROFILER_CACHE
133 #define LV_PROFILER_CACHE_BEGIN LV_PROFILER_BEGIN
134 #define LV_PROFILER_CACHE_END LV_PROFILER_END
135 #define LV_PROFILER_CACHE_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
136 #define LV_PROFILER_CACHE_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
137 #else
138 #define LV_PROFILER_CACHE_BEGIN
139 #define LV_PROFILER_CACHE_END
140 #define LV_PROFILER_CACHE_BEGIN_TAG(tag)
141 #define LV_PROFILER_CACHE_END_TAG(tag)
142 #endif
143 
144 #if LV_USE_PROFILER && LV_PROFILER_FS
145 #define LV_PROFILER_FS_BEGIN LV_PROFILER_BEGIN
146 #define LV_PROFILER_FS_END LV_PROFILER_END
147 #define LV_PROFILER_FS_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
148 #define LV_PROFILER_FS_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
149 #else
150 #define LV_PROFILER_FS_BEGIN
151 #define LV_PROFILER_FS_END
152 #define LV_PROFILER_FS_BEGIN_TAG(tag)
153 #define LV_PROFILER_FS_END_TAG(tag)
154 #endif
155 
156 #if LV_USE_PROFILER && LV_PROFILER_TIMER
157 #define LV_PROFILER_TIMER_BEGIN LV_PROFILER_BEGIN
158 #define LV_PROFILER_TIMER_END LV_PROFILER_END
159 #define LV_PROFILER_TIMER_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
160 #define LV_PROFILER_TIMER_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
161 #else
162 #define LV_PROFILER_TIMER_BEGIN
163 #define LV_PROFILER_TIMER_END
164 #define LV_PROFILER_TIMER_BEGIN_TAG(tag)
165 #define LV_PROFILER_TIMER_END_TAG(tag)
166 #endif
167 
168 #if LV_USE_PROFILER && LV_PROFILER_EVENT
169 #define LV_PROFILER_EVENT_BEGIN LV_PROFILER_BEGIN
170 #define LV_PROFILER_EVENT_END LV_PROFILER_END
171 #define LV_PROFILER_EVENT_BEGIN_TAG(tag) LV_PROFILER_BEGIN_TAG(tag)
172 #define LV_PROFILER_EVENT_END_TAG(tag)   LV_PROFILER_END_TAG(tag)
173 #else
174 #define LV_PROFILER_EVENT_BEGIN
175 #define LV_PROFILER_EVENT_END
176 #define LV_PROFILER_EVENT_BEGIN_TAG(tag)
177 #define LV_PROFILER_EVENT_END_TAG(tag)
178 #endif
179 
180 #ifdef __cplusplus
181 } /*extern "C"*/
182 #endif
183 
184 #endif /*LV_PROFILER_H*/
185