diff options
| author | [email protected] <[email protected]> | 2012-06-15 07:42:45 +0000 |
|---|---|---|
| committer | [email protected] <[email protected]> | 2012-06-15 07:42:45 +0000 |
| commit | 0b30e68b10ac6a2be14ffe73c973022830637d33 (patch) | |
| tree | 24bb1727921d03ee856a4bc74d125b3c1f7311e8 | |
| parent | 5cf2b9c3a2ac321cc994d0810fb17740a2fe999e (diff) | |
fixed calibration issue in mini2440 BSP
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2167 bbd45198-f89e-11dd-88c7-29a3b14d5316
| -rw-r--r-- | bsp/mini2440/calibration.c | 13 | ||||
| -rw-r--r-- | 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 a56b56c983..0c94c6dae5 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 97de7bd17a..5aa32433af 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); |
