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