From: Junghoon Park Date: Thu, 31 Aug 2017 12:18:27 +0000 (+0900) Subject: Calculate flick down/up event X-Git-Tag: accepted/tizen/3.0/common/20171013.190646~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f08ca0398a873dbb1a4d4db71f9e752497e3fdbd;p=platform%2Fcore%2Fappfw%2Fscreen-connector.git Calculate flick down/up event - The speed can be calculated by position y, because each move event will be sent after every 10ms - Once flick down/up event happen, move event can be ignored to support lagacy apps Change-Id: I71e8f839ca9544a9667d6abadd980eb525368a1a Signed-off-by: Junghoon Park --- diff --git a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c index 8c5544b..dec5059 100644 --- a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c +++ b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c @@ -69,6 +69,8 @@ struct _screen_connector_toolkit_evas_h { visibility_type auto_visibility; int bind_win_id; screen_connector_screen_type_e screen_type; + bool flick; + int prev_y; void *data; }; @@ -523,6 +525,8 @@ static void __rs_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *even evas_object_geometry_get(obj, &x, &y, &w, &h); LOGD("mouse down: %d %d", ev->canvas.x - x, ev->canvas.y - y); + toolkit_evas_h->flick = false; + toolkit_evas_h->prev_y = ev->canvas.y - y; if (desc == NULL) desc = ""; @@ -722,6 +726,7 @@ static void __rs_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *even int w; int h; struct tizen_remote_surface *surface; + int delta_y; evas_object_geometry_get(obj, &x, &y, &w, &h); @@ -742,6 +747,21 @@ static void __rs_cb_mouse_move(void *data, Evas *e, Evas_Object *obj, void *even return; } + if (toolkit_evas_h->flick) { + LOGD("flick event"); + return; + } + + delta_y = ev->cur.canvas.y - y - toolkit_evas_h->prev_y; + if (delta_y < 0) + delta_y *= -1; + + if (delta_y > 10) { + toolkit_evas_h->flick = true; + return; + } + + toolkit_evas_h->prev_y = ev->cur.canvas.y - y; tizen_remote_surface_transfer_mouse_event(surface, TIZEN_REMOTE_SURFACE_EVENT_TYPE_MOUSE_MOVE, 0,