-
-
Notifications
You must be signed in to change notification settings - Fork 177
/
lv_compat_v7.h
353 lines (290 loc) · 15.1 KB
/
lv_compat_v7.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
#ifndef LV_COMPAT_V7_H
#define LV_COMPAT_V7_H
#if 1 // lvgl.h not yet loaded here for version check
/*********************
* v7 COLORS
*********************/
#define LV_COLOR_WHITE lv_color_white()
#define LV_COLOR_BLACK lv_color_black()
#define LV_COLOR_SILVER lv_color_make(0xC0, 0xC0, 0xC0)
#define LV_COLOR_GRAY lv_color_make(0x80, 0x80, 0x80)
#define LV_COLOR_RED lv_color_make(0xFF, 0x00, 0x00)
#define LV_COLOR_MAROON lv_color_make(0x80, 0x00, 0x00)
#define LV_COLOR_YELLOW lv_color_make(0xFF, 0xFF, 0x00)
#define LV_COLOR_OLIVE lv_color_make(0x80, 0x80, 0x00)
#define LV_COLOR_LIME lv_color_make(0x00, 0xFF, 0x00)
#define LV_COLOR_GREEN lv_color_make(0x00, 0x80, 0x00)
#define LV_COLOR_CYAN lv_color_make(0x00, 0xFF, 0xFF)
#define LV_COLOR_AQUA LV_COLOR_CYAN
#define LV_COLOR_TEAL lv_color_make(0x00, 0x80, 0x80)
#define LV_COLOR_BLUE lv_color_make(0x00, 0x00, 0xFF)
#define LV_COLOR_NAVY lv_color_make(0x00, 0x00, 0x80)
#define LV_COLOR_MAGENTA lv_color_make(0xFF, 0x00, 0xFF)
#define LV_COLOR_PURPLE lv_color_make(0x80, 0x00, 0x80)
#define LV_COLOR_ORANGE lv_color_make(0xFF, 0xA5, 0x00)
/*********************
* v7 STATES
*********************/
#define LV_INDEV_STATE_PR LV_INDEV_STATE_PRESSED
#define LV_INDEV_STATE_REL LV_INDEV_STATE_RELEASED
#define LV_BTN_STATE_PRESSED LV_STATE_PRESSED
#define LV_BTN_STATE_DISABLED LV_STATE_DISABLED
#define LV_BTN_STATE_CHECKED_RELEASED LV_STATE_CHECKED
#define LV_BTN_STATE_CHECKED_PRESSED LV_STATE_CHECKED + LV_STATE_PRESSED
#define LV_BTN_STATE_CHECKED_DISABLED LV_STATE_CHECKED + LV_STATE_DISABLED
#define LV_BTN_STATE_RELEASED LV_STATE_DEFAULT
/*********************
* v7 WIDGET APIS
*********************/
#define lv_arc_get_type lv_arc_get_mode
#define lv_arc_set_type lv_arc_set_mode
#define lv_bar_get_type lv_bar_get_mode
#define lv_bar_set_type lv_bar_set_mode
#define lv_btn_get_state lv_obj_get_state
#define lv_btn_set_state lv_obj_set_state
#define lv_btn_get_checkable(obj) (lv_obj_has_flag(obj, LV_OBJ_FLAG_CHECKABLE))
#define lv_btn_set_checkable(obj, en) \
((en) ? lv_obj_add_flag(obj, LV_OBJ_FLAG_CHECKABLE) : lv_obj_clear_flag(obj, LV_OBJ_FLAG_CHECKABLE))
#define lv_btnmatrix_get_map lv_btnmatrix_get_map_array
#define lv_btnmatrix_get_one_check lv_btnmatrix_get_one_checked
#define lv_btnmatrix_set_one_check lv_btnmatrix_set_one_checked
#define lv_btnmatrix_get_active_btn lv_btnmatrix_get_selected_btn
#define lv_btnmatrix_set_focused_btn lv_btnmatrix_set_selected_btn
// lv_checkbox_is_inactive (C++ function, in Checkbox (lv_cb)) // Todo
#define lv_checkbox_get_state lv_obj_get_state
#define lv_checkbox_set_state lv_obj_set_state
#define lv_checkbox_is_checked(obj) ((lv_obj_get_state(obj) & LV_STATE_CHECKED) ? true : false)
#define lv_checkbox_set_checked(obj, en) \
((en) ? lv_obj_add_state(obj, LV_STATE_CHECKED) : lv_obj_clear_state(obj, LV_STATE_CHECKED))
#define lv_checkbox_set_disabled(obj, en) \
((en) ? lv_obj_add_state(obj, LV_STATE_DISABLED) : lv_obj_clear_state(obj, LV_STATE_DISABLED))
#define lv_cpicker_get_color_mode_fixed lv_colorwheel_get_color_mode_fixed
#define lv_cpicker_get_color lv_colorwheel_get_rgb
#define lv_cpicker_set_color lv_colorwheel_set_rgb
#define lv_cpicker_get_color_mode lv_colorwheel_get_color_mode
#define lv_cpicker_set_color_mode lv_colorwheel_set_mode
#define lv_cpicker_set_color_mode_fixed lv_colorwheel_set_mode_fixed
#define lv_cpicker_get_hsv lv_colorwheel_get_hsv
#define lv_cpicker_set_hsv lv_colorwheel_set_hsv
#define lv_dropdown_set_draw_arrow(obj, en) lv_dropdown_set_symbol(obj, en ? LV_SYMBOL_DOWN : NULL)
#define lv_dropdown_get_show_selected lv_dropdown_get_selected_highlight
#define lv_dropdown_set_show_selected lv_dropdown_set_selected_highlight
#define lv_imgbtn_get_state lv_obj_get_state
#define lv_imgbtn_set_state lv_obj_set_state
#define lv_imgbtn_get_checkable(obj) (lv_obj_has_flag(obj, LV_OBJ_FLAG_CHECKABLE))
#define lv_imgbtn_set_checkable(obj, en) \
((en) ? lv_obj_add_flag(obj, LV_OBJ_FLAG_CHECKABLE) : lv_obj_clear_flag(obj, LV_OBJ_FLAG_CHECKABLE))
#define lv_led_get_bright lv_led_get_brightness
#define lv_led_set_bright lv_led_set_brightness
#define lv_list_clean lv_obj_clean
#define lv_msgbox_get_btns lv_msgbox_get_btnmatrix
#define lv_obj_get_click(obj) (lv_obj_has_flag(obj, LV_OBJ_FLAG_CLICKABLE))
#define lv_obj_set_click(obj, en) \
((en) ? lv_obj_add_flag(obj, LV_OBJ_FLAG_CLICKABLE) : lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE))
#define lv_obj_get_hidden(obj) (lv_obj_has_flag(obj, LV_OBJ_FLAG_HIDDEN))
#define lv_obj_set_hidden(obj, en) \
((en) ? lv_obj_add_flag(obj, LV_OBJ_FLAG_HIDDEN) : lv_obj_clear_flag(obj, LV_OBJ_FLAG_HIDDEN))
#define lv_obj_is_focused(obj) (lv_obj_has_flag(obj, LV_OBJ_FLAG_FOCUSED))
// lv_obj_is_protected (C++ function, in Base object (lv_obj)) // Todo
#define lv_slider_get_type lv_slider_get_mode
#define lv_slider_set_type lv_slider_set_mode
#define lv_switch_get_state lv_obj_get_state
#define lv_switch_set_state lv_obj_set_state
#define lv_table_get_cell_crop(obj, row, col) lv_table_has_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_TEXT_CROP)
#define lv_table_set_cell_crop(obj, row, col, en) \
((en) ? lv_table_add_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_TEXT_CROP) \
: lv_table_clear_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_TEXT_CROP))
#define lv_table_get_cell_merge(obj, row, col) lv_table_has_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_MERGE_RIGHT)
#define lv_table_set_cell_merge_right(obj, row, col, en) \
((en) ? lv_table_add_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_MERGE_RIGHT) \
: lv_table_clear_cell_ctrl(obj, row, col, LV_TABLE_CELL_CTRL_MERGE_RIGHT))
#define lv_tabview_set_tab_act lv_tabview_set_act
#define lv_tabview_get_tab_count(obj) ((lv_tabview_t*)obj)->tab_cnt
#define lv_tabview_get_tab(tabview, id) \
(id >= 0 && id < lv_tabview_get_tab_count(tabview) ? lv_obj_get_child(lv_tabview_get_content(tabview), id) : NULL)
#define lv_textarea_get_pwd_mode lv_textarea_get_password_mode
#define lv_textarea_set_pwd_mode lv_textarea_set_password_mode
#define lv_textarea_get_pwd_show_time lv_textarea_get_password_show_time
#define lv_textarea_set_pwd_show_time lv_textarea_set_password_show_time
#define lv_textarea_get_text_sel_en lv_textarea_get_text_selection
#define lv_textarea_set_text_sel lv_textarea_set_text_selection
#define lv_textarea_get_cursor_blink_time(obj) lv_obj_get_style_anim_time(obj, LV_PART_CURSOR)
#define lv_textarea_set_cursor_blink_time(obj, time) lv_obj_set_style_anim_time(obj, time, LV_PART_CURSOR)
/*********************
* v7 CORE WIDGETS PARTS
*********************/
#define LV_ARC_PART_BG LV_PART_MAIN
#define LV_ARC_PART_KNOB LV_PART_KNOB
#define LV_ARC_PART_INDIC LV_PART_INDICATOR
#define LV_BAR_PART_BG LV_PART_MAIN
#define LV_BAR_PART_INDIC LV_PART_INDICATOR
#define LV_BTN_PART_MAIN LV_PART_MAIN
#define LV_BTNMATRIX_PART_BG LV_PART_MAIN
#define LV_BTNMATRIX_PART_BTN LV_PART_ITEMS
#define LV_CANVAS_PART_MAIN LV_PART_MAIN
#define LV_CHECKBOX_PART_BG LV_PART_MAIN
#define LV_CHECKBOX_PART_BULLET_PART_INDIC LV_PART_INDICATOR
#define LV_DROPDOWN_PART_MAIN LV_PART_MAIN
#define LV_DROPDOWN_PART_LIST LV_PART_MAIN // Use lv_dropdown_get_list() to get the list object
#define LV_DROPDOWN_PART_SCROLLBAR LV_PART_SCROLLBAR // Use lv_dropdown_get_list() to get the list object
#define LV_DROPDOWN_PART_SELECTED LV_PART_SELECTED // Use lv_dropdown_get_list() to get the list object
#define LV_IMG_PART_MAIN LV_PART_MAIN
#define LV_LABEL_PART_MAIN LV_PART_MAIN
#define LV_LINE_PART_MAIN LV_PART_MAIN
#define LV_OBJ_PART_MAIN LV_PART_MAIN
#define LV_ROLLER_PART_BG LV_PART_MAIN
#define LV_ROLLER_PART_SELECTED LV_PART_SELECTED
#define LV_SLIDER_PART_BG LV_PART_MAIN
#define LV_SLIDER_PART_KNOB LV_PART_KNOB
#define LV_SLIDER_PART_INDIC LV_PART_INDICATOR
#define LV_SWITCH_PART_BG LV_PART_MAIN
#define LV_SWITCH_PART_KNOB LV_PART_KNOB
#define LV_SWITCH_PART_INDIC LV_PART_INDICATOR
#define LV_TABLE_PART_BG LV_PART_MAIN
#define LV_TABLE_PART_CELL1 LV_PART_ITEMS
#define LV_TABLE_PART_CELL2 LV_PART_ITEMS
#define LV_TABLE_PART_CELL3 LV_PART_ITEMS
#define LV_TABLE_PART_CELL4 LV_PART_ITEMS
#define LV_TEXTAREA_PART_BG LV_PART_MAIN
#define LV_TEXTAREA_PART_SCROLLBAR LV_PART_SCROLLBAR
#define LV_TEXTAREA_PART_EDGE_FLASH /* edge flash is removed */
#define LV_TEXTAREA_PART_CURSOR LV_PART_CURSOR
#define LV_TEXTAREA_PART_PLACEHOLDER LV_PART_TEXTAREA_PLACEHOLDER
/*********************
* v7 OBSOLETE WIDGETS PARTS
*********************/
#define LV_CONT_PART_MAIN LV_PART_MAIN // Use obj instead
#define LV_GAUGE_PART_MAIN LV_PART_MAIN // Use meter instead
#define LV_GAUGE_PART_MAJOR // Use meter instead
#define LV_GAUGE_PART_NEEDLE // Use meter instead
#define LV_LINEMETER_PART_MAIN LV_PART_MAIN // Use meter instead
#define LV_OBJMASK_PART_MAIN LV_PART_MAIN
/* Use obj instead of page */
#define LV_PAGE_PART_BG LV_PART_MAIN
#define LV_PAGE_PART_SCROLLBAR LV_PART_SCROLLBAR
#define LV_PAGE_PART_EDGE_FLASH /* edge flash is removed */
#define LV_PAGE_PART_SCROLLABLE LV_PART_MAIN
/*********************
* v7 EXTRA WIDGETS PARTS
*********************/
#define LV_CALENDAR_PART_BG LV_PART_MAIN
#define LV_CALENDAR_PART_HEADER LV_PART_MAIN
#define LV_CALENDAR_PART_DAY_NAMES LV_PART_ITEMS
#define LV_CALENDAR_PART_DATE LV_PART_ITEMS
#define LV_CHART_PART_BG LV_PART_MAIN
#define LV_CHART_PART_SERIES_BG LV_PART_ITEMS
#define LV_CHART_PART_SERIES LV_PART_ITEMS
#define LV_CHART_PART_CURSOR LV_PART_CURSOR
#define LV_COLORWHEEL_PART_MAIN LV_PART_MAIN
#define LV_COLORWHEEL_PART_KNOB LV_PART_KNOB
#define LV_CPICKER_PART_MAIN LV_COLORWHEEL_PART_MAIN
#define LV_CPICKER_PART_KNOB LV_COLORWHEEL_PART_KNOB
#define LV_IMGBTN_PART_MAIN LV_PART_MAIN
#define LV_KEYBOARD_PART_BG LV_PART_MAIN
#define LV_KEYBOARD_PART_BTN LV_PART_ITEMS
#define LV_LED_PART_MAIN LV_PART_MAIN
#define LV_LIST_PART_BG LV_PART_MAIN
#define LV_LIST_PART_SCROLLBAR LV_PART_SCROLLBAR
#define LV_LIST_PART_EDGE_FLASH /* edge flash is removed */
#define LV_LIST_PART_SCROLLABLE LV_PART_MAIN
/* The mesasge box is built from other widgets */
// #define LV_MSGBOX_PART_BG LV_PART_MAIN
// #define LV_MSGBOX_PART_BTN_BG
// #define LV_MSGBOX_PART_BTN
#define LV_SPINBOX_PART_BG LV_PART_MAIN
#define LV_SPINBOX_PART_CURSOR LV_PART_CURSOR
#define LV_SPINNER_PART_BG LV_PART_MAIN
#define LV_SPINNER_PART_INDIC LV_PART_INDICATOR
/* There are no special parts on the Tab view but the lv_obj and lv_btnnmatrix widgets are used to create the Tab view.
*/
// #define LV_TABVIEW_PART_BG
// #define LV_TABVIEW_PART_BG_SCROLLABLE
// #define LV_TABVIEW_PART_TAB_BG
// #define LV_TABVIEW_PART_TAB_BTN
// #define LV_TABVIEW_PART_INDIC LV_PART_INDICATOR
/* The Tile view is built from an lv_obj container and lv_obj tiles. */
// #define LV_TILEVIEW_PART_BG LV_PART_MAIN
// #define LV_TILEVIEW_PART_SCROLLBAR LV_PART_SCROLLBAR
// #define LV_TILEVIEW_PART_EDGE_FLASH /* edge flash is removed */
/* The Window is built from other widgets so you can check their documentation */
// #define LV_WIN_PART_BG LV_PART_MAIN
// #define LV_WIN_PART_HEADER
// #define LV_WIN_PART_CONTENT_SCROLLABLE
// #define LV_WIN_PART_SCROLLBAR LV_PART_SCROLLBAR
/*********************
* v7 ALIGNMENT
*********************/
#define LV_ALIGN_IN_TOP_LEFT LV_ALIGN_TOP_LEFT
#define LV_ALIGN_IN_TOP_MID LV_ALIGN_TOP_MID
#define LV_ALIGN_IN_TOP_RIGHT LV_ALIGN_TOP_RIGHT
#define LV_ALIGN_IN_BOTTOM_LEFT LV_ALIGN_BOTTOM_LEFT
#define LV_ALIGN_IN_BOTTOM_MID LV_ALIGN_BOTTOM_MID
#define LV_ALIGN_IN_BOTTOM_RIGHT LV_ALIGN_BOTTOM_RIGHT
#define LV_ALIGN_IN_LEFT_MID LV_ALIGN_LEFT_MID
#define LV_ALIGN_IN_RIGHT_MID LV_ALIGN_RIGHT_MID
/*********************
* v7 COMPATIBILITY TYPES
*********************/
#define lv_style_int_t int32_t // lv_style_value_t::num
#define lv_anim_value_t lv_coord_t
#define lv_disp_buf_t lv_disp_draw_buf_t
#define lv_task_t lv_timer_t
// Object mode types
#define lv_bar_type_t lv_bar_mode_t
#define lv_arc_type_t lv_arc_mode_t
#define lv_cpicker_color_mode_t lv_colorwheel_mode_t
#define lv_dropdown_dir_t lv_dir_t
#define lv_slider_type_t lv_slider_mode_t
// Object state types
// #define lv_indev_state_t lv_indev_state_t
// #define lv_get_state_info_t ?
#define lv_style_state_t lv_state_t
#define lv_btn_state_t lv_state_t
/*********************
* v7 COMPATIBILITY APIS
*********************/
#define lv_cont_create lv_obj_create // use base object instead
#define lv_page_create lv_obj_create // use base object instead
#define lv_cpicker_create lv_colorwheel_create
// #define lv_chart_set_range(chart, ymin, ymax) lv_chart_set_y_range(chart, LV_CHART_AXIS_PRIMARY_Y, ymin, ymax)
#define lv_img_get_file_name(img) \
(((lv_img_ext_t*)lv_obj_get_ext_attr(img))->src_type == LV_IMG_SRC_FILE) \
? (const char*)((lv_img_ext_t*)lv_obj_get_ext_attr(img))->src \
: ""
#define lv_disp_buf_init lv_disp_draw_buf_init
#define lv_obj_refresh_style _lv_obj_refresh_style
#define lv_obj_get_style_list _lv_obj_get_style_list
#define lv_obj_add_style_list _lv_obj_add_style_list
#define lv_obj_report_style_mod lv_obj_report_style_change
/*********************
* v7 OBSOLETE APIS
*********************/
#define lv_btn_set_fit(obj, fit)
#define lv_roller_set_auto_fit(obj, fit)
#define lv_keyboard_set_cursor_manage(a, b)
#define lv_cont_get_fit_bottom(obj)
#define lv_cont_get_fit_left(obj)
#define lv_cont_get_fit_right(obj)
#define lv_cont_get_fit_top(obj)
#define lv_cont_set_fit(obj, fit)
#define lv_cont_set_fit2(obj, hor, ver)
#define lv_cont_set_fit4(obj, left, right, top, bottom)
#define lv_cont_set_layout(obj, layout) // Use: lv_obj_set_layout(obj, type) // with LV_LAYOUT_FLEX or LV_LAYOUT_GRID
#define lv_dropdown_get_max_height(obj)
#define lv_dropdown_set_max_height(obj, h)
#define lv_gauge_get_angle_offset(obj)
#define lv_gauge_get_line_count(obj)
#define lv_gauge_get_scale_angle(obj)
#define lv_gauge_get_style(obj, part)
#define lv_gauge_set_angle_offset(obj, val)
#define lv_gauge_set_critical_value(obj, val)
#define lv_gauge_set_range(obj, min, max)
#define lv_obj_set_style_value_str(a, b, c)
#define lv_page_set_scrollable_fit(obj, fit)
#define lv_page_set_scrollable_fit2(obj, hor, ver)
#define lv_page_set_scrollable_fit4(obj, left, right, top, bottom)
#define lv_textarea_set_cursor_hidden(a, b)
#define lv_tabview_set_tab_name(obj, id, name)
#define lv_tileview_get_edge_flash(obj) false
#endif // 1
#endif // LV_COMPAT_V7_H