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
9 #include "pika_lvgl_lv_timer_t.h"
10
11 PikaEventListener* g_pika_lv_timer_event_listener;
12
__pika_timer_cb(lv_timer_t * timer)13 void __pika_timer_cb(lv_timer_t* timer) {
14 PikaObj* eventHandleObj = pks_eventListener_getEventHandleObj(
15 g_pika_lv_timer_event_listener, (uint32_t)timer);
16 obj_newDirectObj(eventHandleObj, "timer", New_pika_lvgl_lv_timer_t);
17 obj_setPtr(obj_getPtr(eventHandleObj, "timer"), "lv_timer", timer);
18 obj_run(eventHandleObj, "eventCallBack(timer)");
19 }
20
pika_lvgl_lv_timer_t_set_period(PikaObj * self,int period)21 void pika_lvgl_lv_timer_t_set_period(PikaObj* self, int period) {
22 lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
23 lv_timer_set_period(lv_timer, period);
24 }
25
pika_lvgl_lv_timer_t_set_cb(PikaObj * self,Arg * cb)26 void pika_lvgl_lv_timer_t_set_cb(PikaObj* self, Arg* cb) {
27 lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
28 lv_timer_set_cb(lv_timer, __pika_timer_cb);
29
30 obj_setArg(self, "eventCallBack", cb);
31 /* init event_listener for the first time */
32 if (NULL == g_pika_lv_timer_event_listener) {
33 pks_eventListener_init(&g_pika_lv_timer_event_listener);
34 }
35 pks_eventListener_registerEvent(g_pika_lv_timer_event_listener,
36 (uint32_t)lv_timer, self);
37
38 }
39
pika_lvgl_lv_timer_t__delete(PikaObj * self)40 void pika_lvgl_lv_timer_t__delete(PikaObj* self) {
41 lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
42 lv_timer_delete(lv_timer);
43 }
44 #endif
45