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 "pika_lvgl.h"
9 #include "BaseObj.h"
10 #include "pika_lvgl_ALIGN.h"
11 #include "pika_lvgl_ANIM.h"
12 #include "pika_lvgl_EVENT.h"
13 #include "pika_lvgl_OPA.h"
14 #include "pika_lvgl_PALETTE.h"
15 #include "pika_lvgl_STATE.h"
16 #include "pika_lvgl_arc.h"
17 #include "pika_lvgl_lv_color_t.h"
18 #include "pika_lvgl_lv_obj.h"
19 #include "pika_lvgl_indev_t.h"
20 #include "pika_lvgl_lv_timer_t.h"
21 
22 PikaObj* pika_lv_event_listener_g;
23 
pika_lvgl_STATE___init__(PikaObj * self)24 void pika_lvgl_STATE___init__(PikaObj* self) {
25     obj_setInt(self, "DEFAULT", LV_STATE_DEFAULT);
26     obj_setInt(self, "CHECKED", LV_STATE_CHECKED);
27     obj_setInt(self, "FOCUSED", LV_STATE_FOCUSED);
28     obj_setInt(self, "FOCUS_KEY", LV_STATE_FOCUS_KEY);
29     obj_setInt(self, "EDITED", LV_STATE_EDITED);
30     obj_setInt(self, "HOVERED", LV_STATE_HOVERED);
31     obj_setInt(self, "PRESSED", LV_STATE_PRESSED);
32     obj_setInt(self, "SCROLLED", LV_STATE_SCROLLED);
33     obj_setInt(self, "DISABLED", LV_STATE_DISABLED);
34     obj_setInt(self, "USER_1", LV_STATE_USER_1);
35     obj_setInt(self, "USER_2", LV_STATE_USER_2);
36     obj_setInt(self, "USER_3", LV_STATE_USER_3);
37     obj_setInt(self, "USER_4", LV_STATE_USER_4);
38     obj_setInt(self, "ANY", LV_STATE_ANY);
39 }
40 
pika_lvgl_ANIM___init__(PikaObj * self)41 void pika_lvgl_ANIM___init__(PikaObj* self) {
42     obj_setInt(self, "ON", LV_ANIM_OFF);
43     obj_setInt(self, "OFF", LV_ANIM_ON);
44 }
45 
pika_lvgl_ALIGN___init__(PikaObj * self)46 void pika_lvgl_ALIGN___init__(PikaObj* self) {
47     obj_setInt(self, "CENTER", LV_ALIGN_CENTER);
48     obj_setInt(self, "DEFAULT", LV_ALIGN_DEFAULT);
49     obj_setInt(self, "TOP_LEFT", LV_ALIGN_TOP_LEFT);
50     obj_setInt(self, "TOP_MID", LV_ALIGN_TOP_MID);
51     obj_setInt(self, "TOP_RIGHT", LV_ALIGN_TOP_RIGHT);
52     obj_setInt(self, "BOTTOM_LEFT", LV_ALIGN_BOTTOM_LEFT);
53     obj_setInt(self, "BOTTOM_MID", LV_ALIGN_BOTTOM_MID);
54     obj_setInt(self, "BOTTOM_RIGHT", LV_ALIGN_BOTTOM_RIGHT);
55     obj_setInt(self, "LEFT_MID", LV_ALIGN_LEFT_MID);
56     obj_setInt(self, "RIGHT_MID", LV_ALIGN_RIGHT_MID);
57     obj_setInt(self, "OUT_TOP_LEFT", LV_ALIGN_OUT_TOP_LEFT);
58     obj_setInt(self, "OUT_TOP_MID", LV_ALIGN_OUT_TOP_MID);
59     obj_setInt(self, "OUT_TOP_RIGHT", LV_ALIGN_OUT_TOP_RIGHT);
60     obj_setInt(self, "OUT_BOTTOM_LEFT", LV_ALIGN_OUT_BOTTOM_LEFT);
61     obj_setInt(self, "OUT_BOTTOM_MID", LV_ALIGN_OUT_BOTTOM_MID);
62     obj_setInt(self, "OUT_BOTTOM_RIGHT", LV_ALIGN_OUT_BOTTOM_RIGHT);
63     obj_setInt(self, "OUT_LEFT_TOP", LV_ALIGN_OUT_LEFT_TOP);
64     obj_setInt(self, "OUT_LEFT_MID", LV_ALIGN_OUT_LEFT_MID);
65     obj_setInt(self, "OUT_LEFT_BOTTOM", LV_ALIGN_OUT_LEFT_BOTTOM);
66     obj_setInt(self, "OUT_RIGHT_TOP", LV_ALIGN_OUT_RIGHT_TOP);
67     obj_setInt(self, "OUT_RIGHT_MID", LV_ALIGN_OUT_RIGHT_MID);
68     obj_setInt(self, "OUT_RIGHT_BOTTOM", LV_ALIGN_OUT_RIGHT_BOTTOM);
69 }
70 
pika_lvgl_EVENT___init__(PikaObj * self)71 void pika_lvgl_EVENT___init__(PikaObj* self) {
72     obj_setInt(self, "ALL", LV_EVENT_ALL);
73     obj_setInt(self, "PRESSED", LV_EVENT_PRESSED);
74     obj_setInt(self, "PRESSING", LV_EVENT_PRESSING);
75     obj_setInt(self, "PRESS_LOST", LV_EVENT_PRESS_LOST);
76     obj_setInt(self, "SHORT_CLICKED", LV_EVENT_SHORT_CLICKED);
77     obj_setInt(self, "LONG_PRESSED", LV_EVENT_LONG_PRESSED);
78     obj_setInt(self, "LONG_PRESSED_REPEAT", LV_EVENT_LONG_PRESSED_REPEAT);
79     obj_setInt(self, "CLICKED", LV_EVENT_CLICKED);
80     obj_setInt(self, "RELEASED", LV_EVENT_RELEASED);
81     obj_setInt(self, "SCROLL_BEGIN", LV_EVENT_SCROLL_BEGIN);
82     obj_setInt(self, "SCROLL_END", LV_EVENT_SCROLL_END);
83     obj_setInt(self, "SCROLL", LV_EVENT_SCROLL);
84     obj_setInt(self, "GESTURE", LV_EVENT_GESTURE);
85     obj_setInt(self, "KEY", LV_EVENT_KEY);
86     obj_setInt(self, "FOCUSED", LV_EVENT_FOCUSED);
87     obj_setInt(self, "DEFOCUSED", LV_EVENT_DEFOCUSED);
88     obj_setInt(self, "LEAVE", LV_EVENT_LEAVE);
89     obj_setInt(self, "HIT_TEST", LV_EVENT_HIT_TEST);
90     obj_setInt(self, "COVER_CHECK", LV_EVENT_COVER_CHECK);
91     obj_setInt(self, "REFR_EXT_DRAW_SIZE", LV_EVENT_REFR_EXT_DRAW_SIZE);
92     obj_setInt(self, "DRAW_MAIN_BEGIN", LV_EVENT_DRAW_MAIN_BEGIN);
93     obj_setInt(self, "DRAW_MAIN", LV_EVENT_DRAW_MAIN);
94     obj_setInt(self, "DRAW_MAIN_END", LV_EVENT_DRAW_MAIN_END);
95     obj_setInt(self, "DRAW_POST_BEGIN", LV_EVENT_DRAW_POST_BEGIN);
96     obj_setInt(self, "DRAW_POST", LV_EVENT_DRAW_POST);
97     obj_setInt(self, "DRAW_POST_END", LV_EVENT_DRAW_POST_END);
98     obj_setInt(self, "DRAW_PART_BEGIN", LV_EVENT_DRAW_PART_BEGIN);
99     obj_setInt(self, "DRAW_PART_END", LV_EVENT_DRAW_PART_END);
100     obj_setInt(self, "VALUE_CHANGED", LV_EVENT_VALUE_CHANGED);
101     obj_setInt(self, "INSERT", LV_EVENT_INSERT);
102     obj_setInt(self, "REFRESH", LV_EVENT_REFRESH);
103     obj_setInt(self, "READY", LV_EVENT_READY);
104     obj_setInt(self, "CANCEL", LV_EVENT_CANCEL);
105     obj_setInt(self, "DELETE", LV_EVENT_DELETE);
106     obj_setInt(self, "CHILD_CHANGED", LV_EVENT_CHILD_CHANGED);
107     obj_setInt(self, "CHILD_CREATED", LV_EVENT_CHILD_CREATED);
108     obj_setInt(self, "CHILD_DELETED", LV_EVENT_CHILD_DELETED);
109     obj_setInt(self, "SCREEN_UNLOAD_START", LV_EVENT_SCREEN_UNLOAD_START);
110     obj_setInt(self, "SCREEN_LOAD_START", LV_EVENT_SCREEN_LOAD_START);
111     obj_setInt(self, "SCREEN_LOADED", LV_EVENT_SCREEN_LOADED);
112     obj_setInt(self, "SCREEN_UNLOADED", LV_EVENT_SCREEN_UNLOADED);
113     obj_setInt(self, "SIZE_CHANGED", LV_EVENT_SIZE_CHANGED);
114     obj_setInt(self, "STYLE_CHANGED", LV_EVENT_STYLE_CHANGED);
115     obj_setInt(self, "LAYOUT_CHANGED", LV_EVENT_LAYOUT_CHANGED);
116     obj_setInt(self, "GET_SELF_SIZE", LV_EVENT_GET_SELF_SIZE);
117     obj_setInt(self, "PREPROCESS", LV_EVENT_PREPROCESS);
118 }
119 
pika_lvgl_OPA___init__(PikaObj * self)120 void pika_lvgl_OPA___init__(PikaObj* self) {
121     obj_setInt(self, "TRANSP", LV_OPA_TRANSP);
122     obj_setInt(self, "COVER", LV_OPA_COVER);
123 }
124 
pika_lvgl_PALETTE___init__(PikaObj * self)125 void pika_lvgl_PALETTE___init__(PikaObj* self) {
126     obj_setInt(self, "RED", LV_PALETTE_RED);
127     obj_setInt(self, "PINK", LV_PALETTE_PINK);
128     obj_setInt(self, "PURPLE", LV_PALETTE_PURPLE);
129     obj_setInt(self, "DEEP_PURPLE", LV_PALETTE_DEEP_PURPLE);
130     obj_setInt(self, "INDIGO", LV_PALETTE_INDIGO);
131     obj_setInt(self, "BLUE", LV_PALETTE_BLUE);
132     obj_setInt(self, "LIGHT_BLUE", LV_PALETTE_LIGHT_BLUE);
133     obj_setInt(self, "CYAN", LV_PALETTE_CYAN);
134     obj_setInt(self, "TEAL", LV_PALETTE_TEAL);
135     obj_setInt(self, "GREEN", LV_PALETTE_GREEN);
136     obj_setInt(self, "LIGHT_GREEN", LV_PALETTE_LIGHT_GREEN);
137     obj_setInt(self, "LIME", LV_PALETTE_LIME);
138     obj_setInt(self, "YELLOW", LV_PALETTE_YELLOW);
139     obj_setInt(self, "AMBER", LV_PALETTE_AMBER);
140     obj_setInt(self, "ORANGE", LV_PALETTE_ORANGE);
141     obj_setInt(self, "DEEP_ORANGE", LV_PALETTE_DEEP_ORANGE);
142     obj_setInt(self, "BROWN", LV_PALETTE_BROWN);
143     obj_setInt(self, "BLUE_GREY", LV_PALETTE_BLUE_GREY);
144     obj_setInt(self, "GREY", LV_PALETTE_GREY);
145     obj_setInt(self, "NONE", LV_PALETTE_NONE);
146 }
147 
pika_lvgl_screen_active(PikaObj * self)148 PikaObj* pika_lvgl_screen_active(PikaObj* self) {
149     PikaObj* new_obj = newNormalObj(New_TinyObj);
150     lv_obj_t* lv_obj = lv_screen_active();
151     obj_setPtr(new_obj, "lv_obj", lv_obj);
152     return new_obj;
153 }
154 
pika_lvgl___init__(PikaObj * self)155 void pika_lvgl___init__(PikaObj* self) {
156     obj_newDirectObj(self, "lv_event_listener", New_TinyObj);
157     pika_lv_event_listener_g = obj_getObj(self, "lv_event_listener");
158 }
159 
pika_lvgl_obj(PikaObj * self,PikaObj * parent)160 PikaObj* pika_lvgl_obj(PikaObj* self, PikaObj* parent) {
161     lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
162     lv_obj_t* lv_obj = lv_obj_create(lv_parent);
163     PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_obj);
164     obj_setPtr(new_obj, "lv_obj", lv_obj);
165     return new_obj;
166 }
167 
pika_lvgl_palette_lighten(PikaObj * self,int p,int lvl)168 PikaObj* pika_lvgl_palette_lighten(PikaObj *self, int p, int lvl){
169     PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_color_t);
170     lv_color_t lv_color = lv_palette_lighten(p, lvl);
171     args_setStruct(new_obj->list, "lv_color_struct", lv_color);
172     lv_color_t* plv_color = args_getStruct(new_obj->list, "lv_color_struct");
173     obj_setPtr(new_obj, "lv_color", plv_color);
174     return new_obj;
175 }
176 
pika_lvgl_palette_main(PikaObj * self,int p)177 PikaObj* pika_lvgl_palette_main(PikaObj* self, int p) {
178     PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_color_t);
179     lv_color_t lv_color = lv_palette_main(p);
180     args_setStruct(new_obj->list, "lv_color_struct", lv_color);
181     obj_setPtr(new_obj, "lv_color",
182                args_getStruct(new_obj->list, "lv_color_struct"));
183     return new_obj;
184 }
185 
pika_lvgl_indev_get_active(PikaObj * self)186 PikaObj* pika_lvgl_indev_get_active(PikaObj *self){
187     PikaObj* new_obj = newNormalObj(New_pika_lvgl_indev_t);
188     lv_indev_t *lv_indev = lv_indev_active();
189     obj_setPtr(new_obj,"lv_indev", lv_indev);
190     return new_obj;
191 }
192 
pika_lvgl_timer_create_basic(PikaObj * self)193 PikaObj* pika_lvgl_timer_create_basic(PikaObj *self){
194     PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_timer_t);
195     lv_timer_t *lv_timer = lv_timer_create_basic();
196     obj_setPtr(new_obj,"lv_timer", lv_timer);
197     return new_obj;
198 }
199 #endif
200