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