summaryrefslogtreecommitdiff
path: root/components/rtgui/include
diff options
context:
space:
mode:
author[email protected] <[email protected]>2010-08-04 23:39:01 +0000
committer[email protected] <[email protected]>2010-08-04 23:39:01 +0000
commit898ad75a7afec41a8d91c9dbe7f6ff5c9a47a572 (patch)
treeb9ce66c28cba9dbd4ef87099a83e0f06bd139c0e /components/rtgui/include
parent1451735e9edecb2d11576920af36b55e8a539a0d (diff)
add on_idle call back function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@829 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components/rtgui/include')
-rw-r--r--components/rtgui/include/rtgui/rtgui_system.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/components/rtgui/include/rtgui/rtgui_system.h b/components/rtgui/include/rtgui/rtgui_system.h
index 4afc65e4e0..ef2bd5da84 100644
--- a/components/rtgui/include/rtgui/rtgui_system.h
+++ b/components/rtgui/include/rtgui/rtgui_system.h
@@ -39,10 +39,14 @@ struct rtgui_thread
struct rtgui_widget* widget;
/* event buffer */
rt_uint8_t event_buffer[RTGUI_EVENT_BUFFER_SIZE];
+
+ /* on idle event handler */
+ void (*on_idle)(struct rtgui_widget* widget, struct rtgui_event *event);
};
typedef struct rtgui_thread rtgui_thread_t;
struct rtgui_timer;
typedef void (*rtgui_timeout_func)(struct rtgui_timer* timer, void* parameter);
+typedef void (*rtgui_idle_func)(struct rtgui_widget* widget, struct rtgui_event *event);
struct rtgui_timer
{
@@ -65,6 +69,8 @@ void rtgui_timer_stop (rtgui_timer_t* timer);
rtgui_thread_t* rtgui_thread_register(rt_thread_t tid, rt_mq_t mq);
void rtgui_thread_deregister(rt_thread_t tid);
+void rtgui_thread_set_onidle(rtgui_idle_func onidle);
+rtgui_idle_func rtgui_thread_get_onidle();
rtgui_thread_t* rtgui_thread_self(void);
rt_thread_t rtgui_thread_get_server(void);
@@ -76,6 +82,7 @@ rt_err_t rtgui_thread_send(rt_thread_t tid, struct rtgui_event* event, rt_size_t
rt_err_t rtgui_thread_send_urgent(rt_thread_t tid, struct rtgui_event* event, rt_size_t event_size);
rt_err_t rtgui_thread_send_sync(rt_thread_t tid, struct rtgui_event* event, rt_size_t event_size);
rt_err_t rtgui_thread_recv(struct rtgui_event* event, rt_size_t event_size);
+rt_err_t rtgui_thread_recv_nosuspend(struct rtgui_event* event, rt_size_t event_size);
rt_err_t rtgui_thread_recv_filter(rt_uint32_t type, struct rtgui_event* event, rt_size_t event_size);
rt_err_t rtgui_thread_ack(struct rtgui_event* event, rt_int32_t status);