1 #if defined(LV_LVGL_H_INCLUDE_SIMPLE)
2 #include "lvgl.h"
3 #else
4 #include "../../lvgl.h"
5 #endif
6 
7 #ifdef PIKASCRIPT
8 #include "BaseObj.h"
9 #include "pika_lvgl.h"
10 #include "pika_lvgl_arc.h"
11 #include "pika_lvgl_bar.h"
12 #include "pika_lvgl_btn.h"
13 #include "pika_lvgl_checkbox.h"
14 #include "pika_lvgl_dropdown.h"
15 #include "pika_lvgl_label.h"
16 #include "pika_lvgl_lv_obj.h"
17 #include "pika_lvgl_roller.h"
18 #include "pika_lvgl_slider.h"
19 #include "pika_lvgl_switch.h"
20 #include "pika_lvgl_table.h"
21 #include "pika_lvgl_textarea.h"
22 
pika_lvgl_arc___init__(PikaObj * self,PikaObj * parent)23 void pika_lvgl_arc___init__(PikaObj* self, PikaObj* parent) {
24     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
25     lv_obj_t* lv_obj = lv_arc_create(lv_parent);
26     obj_setPtr(self, "lv_obj", lv_obj);
27     obj_setInt(self, "MODE_NORMAL", LV_ARC_MODE_NORMAL);
28     obj_setInt(self, "MODE_SYMMETRICAL", LV_ARC_MODE_SYMMETRICAL);
29     obj_setInt(self, "MODE_REVERSE", LV_ARC_MODE_REVERSE);
30 }
31 
pika_lvgl_arc_set_end_angle(PikaObj * self,int angle)32 void pika_lvgl_arc_set_end_angle(PikaObj* self, int angle) {
33     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
34     lv_arc_set_end_angle(lv_obj, angle);
35 }
36 
pika_lvgl_arc_set_bg_angles(PikaObj * self,int start,int end)37 void pika_lvgl_arc_set_bg_angles(PikaObj* self, int start, int end) {
38     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
39     lv_arc_set_bg_angles(lv_obj, start, end);
40 }
41 
pika_lvgl_arc_set_angles(PikaObj * self,int start,int end)42 void pika_lvgl_arc_set_angles(PikaObj* self, int start, int end) {
43     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
44     lv_arc_set_angles(lv_obj, start, end);
45 }
46 
pika_lvgl_arc_get_angle_end(PikaObj * self)47 int pika_lvgl_arc_get_angle_end(PikaObj *self){
48     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
49     return lv_arc_get_angle_end(lv_obj);
50 }
pika_lvgl_arc_get_angle_start(PikaObj * self)51 int pika_lvgl_arc_get_angle_start(PikaObj *self){
52     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
53     return lv_arc_get_angle_start(lv_obj);
54 }
pika_lvgl_arc_get_bg_angle_end(PikaObj * self)55 int pika_lvgl_arc_get_bg_angle_end(PikaObj *self){
56     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
57     return lv_arc_get_bg_angle_end(lv_obj);
58 }
pika_lvgl_arc_get_bg_angle_start(PikaObj * self)59 int pika_lvgl_arc_get_bg_angle_start(PikaObj *self){
60     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
61     return lv_arc_get_bg_angle_start(lv_obj);
62 }
pika_lvgl_arc_get_max_value(PikaObj * self)63 int pika_lvgl_arc_get_max_value(PikaObj *self){
64     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
65     return lv_arc_get_max_value(lv_obj);
66 }
pika_lvgl_arc_get_min_value(PikaObj * self)67 int pika_lvgl_arc_get_min_value(PikaObj *self){
68     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
69     return lv_arc_get_min_value(lv_obj);
70 }
pika_lvgl_arc_get_mode(PikaObj * self)71 int pika_lvgl_arc_get_mode(PikaObj *self){
72     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
73     return lv_arc_get_mode(lv_obj);
74 }
75 // int pika_lvgl_arc_get_rotation(PikaObj *self){
76 //     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
77 //     return lv_arc_get_rotation(lv_obj);
78 // }
pika_lvgl_arc_get_value(PikaObj * self)79 int pika_lvgl_arc_get_value(PikaObj *self){
80     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
81     return lv_arc_get_value(lv_obj);
82 }
pika_lvgl_arc_set_mode(PikaObj * self,int mode)83 void pika_lvgl_arc_set_mode(PikaObj *self, int mode){
84     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
85     lv_arc_set_mode(lv_obj, mode);
86 }
pika_lvgl_arc_set_range(PikaObj * self,int min,int max)87 void pika_lvgl_arc_set_range(PikaObj *self, int min, int max){
88     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
89     lv_arc_set_range(lv_obj, min, max);
90 }
pika_lvgl_arc_set_rotation(PikaObj * self,int rotation)91 void pika_lvgl_arc_set_rotation(PikaObj *self, int rotation){
92     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
93     lv_arc_set_rotation(lv_obj, rotation);
94 }
pika_lvgl_arc_set_start_angle(PikaObj * self,int start)95 void pika_lvgl_arc_set_start_angle(PikaObj *self, int start){
96     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
97     lv_arc_set_start_angle(lv_obj, start);
98 }
pika_lvgl_arc_set_value(PikaObj * self,int value)99 void pika_lvgl_arc_set_value(PikaObj *self, int value){
100     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
101     lv_arc_set_value(lv_obj, value);
102 }
pika_lvgl_arc_set_bg_end_angle(PikaObj * self,int angle)103 void pika_lvgl_arc_set_bg_end_angle(PikaObj *self, int angle){
104     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
105     lv_arc_set_bg_end_angle(lv_obj, angle);
106 }
pika_lvgl_arc_set_bg_start_angle(PikaObj * self,int start)107 void pika_lvgl_arc_set_bg_start_angle(PikaObj *self, int start){
108     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
109     lv_arc_set_bg_start_angle(lv_obj, start);
110 }
111 
pika_lvgl_arc_set_change_rate(PikaObj * self,int rate)112 void pika_lvgl_arc_set_change_rate(PikaObj *self, int rate){
113     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
114     lv_arc_set_change_rate(lv_obj, rate);
115 }
116 
pika_lvgl_bar___init__(PikaObj * self,PikaObj * parent)117 void pika_lvgl_bar___init__(PikaObj* self, PikaObj* parent) {
118     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
119     lv_obj_t* lv_obj = lv_bar_create(lv_parent);
120     obj_setPtr(self, "lv_obj", lv_obj);
121 }
122 
pika_lvgl_bar_set_value(PikaObj * self,int value,int anim)123 void pika_lvgl_bar_set_value(PikaObj* self, int value, int anim) {
124     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
125     lv_bar_set_value(lv_obj, value, value);
126 }
127 
pika_lvgl_bar_get_max_value(PikaObj * self)128 int pika_lvgl_bar_get_max_value(PikaObj *self){
129     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
130     return lv_bar_get_max_value(lv_obj);
131 }
pika_lvgl_bar_get_min_value(PikaObj * self)132 int pika_lvgl_bar_get_min_value(PikaObj *self){
133     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
134     return lv_bar_get_min_value(lv_obj);
135 }
pika_lvgl_bar_get_mode(PikaObj * self)136 int pika_lvgl_bar_get_mode(PikaObj *self){
137     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
138     return lv_bar_get_mode(lv_obj);
139 }
pika_lvgl_bar_get_start_value(PikaObj * self)140 int pika_lvgl_bar_get_start_value(PikaObj *self){
141     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
142     return lv_bar_get_start_value(lv_obj);
143 }
pika_lvgl_bar_get_value(PikaObj * self)144 int pika_lvgl_bar_get_value(PikaObj *self){
145     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
146     return lv_bar_get_value(lv_obj);
147 }
pika_lvgl_bar_set_mode(PikaObj * self,int mode)148 void pika_lvgl_bar_set_mode(PikaObj *self, int mode){
149     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
150     lv_bar_set_mode(lv_obj, mode);
151 }
pika_lvgl_bar_set_range(PikaObj * self,int min,int max)152 void pika_lvgl_bar_set_range(PikaObj *self, int min, int max){
153     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
154     lv_bar_set_range(lv_obj, min, max);
155 }
pika_lvgl_bar_set_start_value(PikaObj * self,int start_value,int anim)156 void pika_lvgl_bar_set_start_value(PikaObj *self, int start_value, int anim){
157     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
158     lv_bar_set_start_value(lv_obj, start_value, anim);
159 }
160 
pika_lvgl_btn___init__(PikaObj * self,PikaObj * parent)161 void pika_lvgl_btn___init__(PikaObj* self, PikaObj* parent) {
162     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
163     lv_obj_t* lv_obj = lv_button_create(lv_parent);
164     obj_setPtr(self, "lv_obj", lv_obj);
165 }
166 
pika_lvgl_checkbox___init__(PikaObj * self,PikaObj * parent)167 void pika_lvgl_checkbox___init__(PikaObj* self, PikaObj* parent) {
168     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
169     lv_obj_t* lv_obj = lv_checkbox_create(lv_parent);
170     obj_setPtr(self, "lv_obj", lv_obj);
171 }
172 
pika_lvgl_checkbox_set_text(PikaObj * self,char * txt)173 void pika_lvgl_checkbox_set_text(PikaObj* self, char* txt) {
174     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
175     lv_checkbox_set_text(lv_obj, txt);
176 }
177 
pika_lvgl_checkbox_set_text_static(PikaObj * self,char * txt)178 void pika_lvgl_checkbox_set_text_static(PikaObj *self, char* txt){
179     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
180     lv_checkbox_set_text_static(lv_obj, txt);
181 }
182 
pika_lvgl_checkbox_get_text(PikaObj * self)183 char* pika_lvgl_checkbox_get_text(PikaObj *self){
184     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
185     return (char*) lv_checkbox_get_text(lv_obj);
186 }
187 
pika_lvgl_dropdown___init__(PikaObj * self,PikaObj * parent)188 void pika_lvgl_dropdown___init__(PikaObj* self, PikaObj* parent) {
189     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
190     lv_obj_t* lv_obj = lv_dropdown_create(lv_parent);
191     obj_setPtr(self, "lv_obj", lv_obj);
192 }
193 
pika_lvgl_dropdown_set_options(PikaObj * self,char * options)194 void pika_lvgl_dropdown_set_options(PikaObj* self, char* options) {
195     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
196     lv_dropdown_set_options(lv_obj, options);
197 }
198 
pika_lvgl_dropdown_add_option(PikaObj * self,char * options,int pos)199 void pika_lvgl_dropdown_add_option(PikaObj *self, char* options, int pos){
200     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
201     lv_dropdown_add_option(lv_obj, options, pos);
202 }
pika_lvgl_dropdown_clear_options(PikaObj * self)203 void pika_lvgl_dropdown_clear_options(PikaObj *self){
204     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
205     lv_dropdown_clear_options(lv_obj);
206 }
pika_lvgl_dropdown_close(PikaObj * self)207 void pika_lvgl_dropdown_close(PikaObj *self){
208     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
209     lv_dropdown_close(lv_obj);
210 }
pika_lvgl_dropdown_get_dir(PikaObj * self)211 int pika_lvgl_dropdown_get_dir(PikaObj *self){
212     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
213     return lv_dropdown_get_dir(lv_obj);
214 }
215 // PikaObj* pika_lvgl_dropdown_get_list(PikaObj *self){
216 //     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
217 //     return obj_getObj(lv_dropdown_get_list(lv_obj));
218 // }
pika_lvgl_dropdown_get_option_count(PikaObj * self)219 int pika_lvgl_dropdown_get_option_count(PikaObj *self){
220     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
221     return lv_dropdown_get_option_count(lv_obj);
222 }
pika_lvgl_dropdown_get_option_index(PikaObj * self,char * txt)223 int pika_lvgl_dropdown_get_option_index(PikaObj *self, char* txt){
224     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
225     return lv_dropdown_get_option_index(lv_obj, txt);
226 }
pika_lvgl_dropdown_get_options(PikaObj * self)227 char* pika_lvgl_dropdown_get_options(PikaObj *self){
228     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
229     return (char*) lv_dropdown_get_options(lv_obj);
230 }
pika_lvgl_dropdown_get_selected(PikaObj * self)231 int pika_lvgl_dropdown_get_selected(PikaObj *self){
232     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
233     return lv_dropdown_get_selected(lv_obj);
234 }
pika_lvgl_dropdown_get_selected_highlight(PikaObj * self)235 int pika_lvgl_dropdown_get_selected_highlight(PikaObj *self){
236     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
237     return lv_dropdown_get_selected_highlight(lv_obj);
238 }
239 
pika_lvgl_dropdown_get_selected_str(PikaObj * self)240 char* pika_lvgl_dropdown_get_selected_str(PikaObj *self){
241     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
242     obj_setBytes(self, "_buff",NULL, 128);
243     char* _buff = (char*)obj_getBytes(self, "_buff");
244     lv_dropdown_get_selected_str(lv_obj, _buff, 128);
245     return _buff;
246 }
pika_lvgl_dropdown_get_symbol(PikaObj * self)247 char* pika_lvgl_dropdown_get_symbol(PikaObj *self){
248     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
249     return (char*)lv_dropdown_get_symbol(lv_obj);
250 }
pika_lvgl_dropdown_get_text(PikaObj * self)251 char* pika_lvgl_dropdown_get_text(PikaObj *self){
252     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
253     return (char*)lv_dropdown_get_text(lv_obj);
254 }
pika_lvgl_dropdown_is_open(PikaObj * self)255 int pika_lvgl_dropdown_is_open(PikaObj *self){
256     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
257     return lv_dropdown_is_open(lv_obj);
258 }
pika_lvgl_dropdown_open(PikaObj * self)259 void pika_lvgl_dropdown_open(PikaObj *self){
260     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
261     lv_dropdown_open(lv_obj);
262 }
pika_lvgl_dropdown_set_dir(PikaObj * self,int dir)263 void pika_lvgl_dropdown_set_dir(PikaObj *self, int dir){
264     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
265     lv_dropdown_set_dir(lv_obj, dir);
266 }
pika_lvgl_dropdown_set_selected(PikaObj * self,int sel_opt,int anim)267 void pika_lvgl_dropdown_set_selected(PikaObj *self, int sel_opt, int anim){
268     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
269     lv_dropdown_set_selected(lv_obj, sel_opt, anim);
270 }
pika_lvgl_dropdown_set_selected_highlight(PikaObj * self,int en)271 void pika_lvgl_dropdown_set_selected_highlight(PikaObj *self, int en){
272     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
273     lv_dropdown_set_selected_highlight(lv_obj, en);
274 }
pika_lvgl_dropdown_set_symbol(PikaObj * self,char * symbol)275 void pika_lvgl_dropdown_set_symbol(PikaObj *self, char* symbol){
276     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
277     lv_dropdown_set_symbol(lv_obj, symbol);
278 }
pika_lvgl_dropdown_set_text(PikaObj * self,char * txt)279 void pika_lvgl_dropdown_set_text(PikaObj *self, char* txt){
280     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
281     lv_dropdown_set_text(lv_obj, txt);
282 }
283 
pika_lvgl_label___init__(PikaObj * self,PikaObj * parent)284 void pika_lvgl_label___init__(PikaObj* self, PikaObj* parent) {
285     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
286     lv_obj_t* lv_obj = lv_label_create(lv_parent);
287     obj_setPtr(self, "lv_obj", lv_obj);
288 }
289 
pika_lvgl_label_set_long_mode(PikaObj * self,int mode)290 void pika_lvgl_label_set_long_mode(PikaObj* self, int mode) {
291     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
292     lv_label_set_long_mode(lv_obj, mode);
293 }
294 
pika_lvgl_label_set_recolor(PikaObj * self,int en)295 void pika_lvgl_label_set_recolor(PikaObj* self, int en) {
296     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
297     lv_label_set_recolor(lv_obj, en);
298 }
299 
pika_lvgl_label_set_text(PikaObj * self,char * txt)300 void pika_lvgl_label_set_text(PikaObj* self, char* txt) {
301     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
302     lv_label_set_text(lv_obj, txt);
303 }
304 
pika_lvgl_label_set_style_text_align(PikaObj * self,int value,int selector)305 void pika_lvgl_label_set_style_text_align(PikaObj* self,
306                                           int value,
307                                           int selector) {
308     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
309     lv_obj_set_style_text_align(lv_obj, value, selector);
310 }
311 
pika_lvgl_roller___init__(PikaObj * self,PikaObj * parent)312 void pika_lvgl_roller___init__(PikaObj* self, PikaObj* parent) {
313     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
314     lv_obj_t* lv_obj = lv_roller_create(lv_parent);
315     obj_setPtr(self, "lv_obj", lv_obj);
316 }
317 
pika_lvgl_roller_set_options(PikaObj * self,char * options,int mode)318 void pika_lvgl_roller_set_options(PikaObj* self, char* options, int mode) {
319     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
320     lv_roller_set_options(lv_obj, options, mode);
321 }
322 
pika_lvgl_roller_set_visible_row_count(PikaObj * self,int row_cnt)323 void pika_lvgl_roller_set_visible_row_count(PikaObj* self, int row_cnt) {
324     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
325     lv_roller_set_visible_row_count(lv_obj, row_cnt);
326 }
327 
pika_lvgl_slider___init__(PikaObj * self,PikaObj * parent)328 void pika_lvgl_slider___init__(PikaObj* self, PikaObj* parent) {
329     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
330     lv_obj_t* lv_obj = lv_slider_create(lv_parent);
331     obj_setPtr(self, "lv_obj", lv_obj);
332 }
333 
pika_lvgl_switch___init__(PikaObj * self,PikaObj * parent)334 void pika_lvgl_switch___init__(PikaObj* self, PikaObj* parent) {
335     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
336     lv_obj_t* lv_obj = lv_switch_create(lv_parent);
337     obj_setPtr(self, "lv_obj", lv_obj);
338 }
339 
pika_lvgl_table___init__(PikaObj * self,PikaObj * parent)340 void pika_lvgl_table___init__(PikaObj* self, PikaObj* parent) {
341     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
342     lv_obj_t* lv_obj = lv_table_create(lv_parent);
343     obj_setPtr(self, "lv_obj", lv_obj);
344 }
345 
pika_lvgl_table_set_cell_value(PikaObj * self,int row,int col,char * txt)346 void pika_lvgl_table_set_cell_value(PikaObj* self,
347                                     int row,
348                                     int col,
349                                     char* txt) {
350     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
351     lv_table_set_cell_value(lv_obj, row, col, txt);
352 }
353 
pika_lvgl_textarea___init__(PikaObj * self,PikaObj * parent)354 void pika_lvgl_textarea___init__(PikaObj* self, PikaObj* parent) {
355     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
356     lv_obj_t* lv_obj = lv_textarea_create(lv_parent);
357     obj_setPtr(self, "lv_obj", lv_obj);
358 }
359 
pika_lvgl_textarea_set_one_line(PikaObj * self,int en)360 void pika_lvgl_textarea_set_one_line(PikaObj* self, int en) {
361     lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
362     lv_textarea_set_one_line(lv_obj, en);
363 }
364 #endif
365