rt_bool_t benchmark_event_handler(PVOID wdt, rtgui_event_t *event) { rtgui_widget_t *widget = (rtgui_widget_t*)wdt; if (event->type == RTGUI_EVENT_PAINT) { _draw_default(widget, event); } else if (event->type == RTGUI_EVENT_MOUSE_BUTTON) { rtgui_event_mouse_t *emouse = (rtgui_event_mouse_t*)event; if (emouse->button & RTGUI_MOUSE_BUTTON_DOWN) { if (running) { /* stop */ rtgui_thread_set_onidle(RT_NULL); _draw_default(widget, event); } else { /* run */ rtgui_thread_set_onidle(_onidle); } running = !running; } return RT_TRUE; } else { /* 调用默认的事件处理函数 */ return rtgui_view_event_handler(widget, event); } return RT_FALSE; }
rt_bool_t benchmark_event_handler(struct rtgui_object *object, rtgui_event_t *event) { if (event->type == RTGUI_EVENT_PAINT) { _draw_default(object, event); } else if (event->type == RTGUI_EVENT_KBD) { struct rtgui_event_kbd *kbd = (struct rtgui_event_kbd*)event; if (kbd->key == RTGUIK_LEFT || kbd->key == RTGUIK_RIGHT) return RT_FALSE; if (RTGUI_KBD_IS_UP(kbd)) { if (running) { /* stop */ rtgui_app_set_onidle(RT_NULL); _draw_default(object, event); } else { /* run */ rtgui_app_set_onidle(_onidle); } running = !running; } return RT_TRUE; } else { /* 调用默认的事件处理函数 */ return rtgui_container_event_handler(object, event); } return RT_FALSE; }