From 0b30e68b10ac6a2be14ffe73c973022830637d33 Mon Sep 17 00:00:00 2001 From: "dzzxzz@gmail.com" Date: Fri, 15 Jun 2012 07:42:45 +0000 Subject: [PATCH] fixed calibration issue in mini2440 BSP git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2167 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/mini2440/calibration.c | 13 +++++++------ components/rtgui/server/rtgui_application.c | 16 ++++++++++------ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/bsp/mini2440/calibration.c b/bsp/mini2440/calibration.c index a56b56c98..0c94c6dae 100644 --- a/bsp/mini2440/calibration.c +++ b/bsp/mini2440/calibration.c @@ -29,6 +29,7 @@ struct calibration_session rt_device_t device; rt_thread_t tid; + struct rtgui_win *wid; }; static struct calibration_session *calibration_ptr = RT_NULL; @@ -66,6 +67,7 @@ static void calibration_data_post(rt_uint16_t x, rt_uint16_t y) struct rtgui_event_command ecmd; RTGUI_EVENT_COMMAND_INIT(&ecmd); ecmd.command_id = TOUCH_WIN_CLOSE; + ecmd.wid = calibration_ptr->wid; /* calculate calibrated data */ if (calibration_ptr->data.max_x > calibration_ptr->data.min_x) @@ -121,6 +123,7 @@ static void calibration_data_post(rt_uint16_t x, rt_uint16_t y) struct rtgui_event_command ecmd; RTGUI_EVENT_COMMAND_INIT(&ecmd); ecmd.command_id = TOUCH_WIN_UPDATE; + ecmd.wid = calibration_ptr->wid; rtgui_application_send(calibration_ptr->tid, &ecmd.parent, sizeof(struct rtgui_event_command)); } @@ -246,14 +249,12 @@ void calibration_entry(void *parameter) return; } + calibration_ptr->wid = win; + rtgui_object_set_event_handler(RTGUI_OBJECT(win), calibration_event_handler); - if (win != RT_NULL) - { - rtgui_win_show(win, RT_FALSE); -// rtgui_widget_update(RTGUI_WIDGET(win)); - rtgui_application_run(app); - } + rtgui_win_show(win, RT_FALSE); + rtgui_application_run(app); rtgui_application_destroy(app); diff --git a/components/rtgui/server/rtgui_application.c b/components/rtgui/server/rtgui_application.c index 97de7bd17..5aa32433a 100644 --- a/components/rtgui/server/rtgui_application.c +++ b/components/rtgui/server/rtgui_application.c @@ -147,6 +147,7 @@ static void rtgui_event_dump(rt_thread_t tid, rtgui_event_t* event) case RTGUI_EVENT_WIN_DEACTIVATE: case RTGUI_EVENT_WIN_SHOW: case RTGUI_EVENT_WIN_MODAL_ENTER: + case RTGUI_EVENT_WIN_HIDE: { struct rtgui_event_win *win = (struct rtgui_event_win *)event; @@ -212,6 +213,9 @@ static void rtgui_event_dump(rt_thread_t tid, rtgui_event_t* event) } } break; + + default: + break; } rt_kprintf("\n"); @@ -603,13 +607,13 @@ rt_bool_t rtgui_application_event_handler(struct rtgui_object* object, rtgui_eve } break; - case RTGUI_EVENT_COMMAND: - { - struct rtgui_event_command *ecmd = (struct rtgui_event_command*)event; + case RTGUI_EVENT_COMMAND: + { + struct rtgui_event_command *ecmd = (struct rtgui_event_command *)event; - if (ecmd->wid != RT_NULL) - return _rtgui_application_dest_handle(app, event); - } + if (ecmd->wid != RT_NULL) + return _rtgui_application_dest_handle(app, event); + } default: return rtgui_object_event_handler(object, event); -- GitLab