e_bindings: modified to use the up and down event structures correctly in each case.
authorGwanglim Lee <gl77.lee@samsung.com>
Mon, 29 May 2017 11:24:55 +0000 (20:24 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 1 Jun 2017 05:18:43 +0000 (14:18 +0900)
Change-Id: I41f381d46163e6ecca0dae6ae44dd02ab803b85d

src/bin/e_bindings.c
src/bin/e_bindings.h
src/bin/e_comp_object.c
src/bin/e_zone.c

index ef703c423a516d0898271aac77b65ec15ad90fff..6ed098c943dcf7e473ffe518cd4969405b806e95 100644 (file)
@@ -140,7 +140,24 @@ e_bindings_evas_modifiers_convert(Evas_Modifier *modifiers)
 }
 
 E_API void
-e_bindings_evas_event_mouse_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event)
+e_bindings_evas_event_mouse_down_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event)
+{
+   memset(event, 0, sizeof(E_Binding_Event_Mouse_Button));
+   event->button = ev->button;
+   event->canvas.x = ev->output.x, event->canvas.y = ev->output.y;
+   event->timestamp = ev->timestamp;
+
+   event->modifiers = e_bindings_evas_modifiers_convert(ev->modifiers);
+
+   event->hold = (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD);
+   event->scroll = (ev->event_flags & EVAS_EVENT_FLAG_ON_SCROLL);
+
+   event->double_click = (ev->flags & EVAS_BUTTON_DOUBLE_CLICK);
+   event->triple_click = (ev->flags & EVAS_BUTTON_TRIPLE_CLICK);
+}
+
+E_API void
+e_bindings_evas_event_mouse_up_button_convert(const Evas_Event_Mouse_Up *ev, E_Binding_Event_Mouse_Button *event)
 {
    memset(event, 0, sizeof(E_Binding_Event_Mouse_Button));
    event->button = ev->button;
@@ -272,7 +289,7 @@ e_bindings_mouse_down_evas_event_handle(E_Binding_Context ctxt, E_Object *obj, E
 {
    E_Binding_Event_Mouse_Button event;
 
-   e_bindings_evas_event_mouse_button_convert(ev, &event);
+   e_bindings_evas_event_mouse_down_button_convert(ev, &event);
 
    return e_bindings_mouse_down_event_handle(ctxt, obj, &event);
 }
@@ -310,7 +327,7 @@ e_bindings_mouse_up_evas_event_handle(E_Binding_Context ctxt, E_Object *obj, Eva
 {
    E_Binding_Event_Mouse_Button event;
 
-   e_bindings_evas_event_mouse_button_convert((Evas_Event_Mouse_Down*)ev, &event);
+   e_bindings_evas_event_mouse_up_button_convert((Evas_Event_Mouse_Up*)ev, &event);
 
    return e_bindings_mouse_up_event_handle(ctxt, obj, &event);
 }
index 06436800c9b361270fea21ccfdf61780a9c9b335..4260f46441b97fbf850493b39010db6bc5894637 100644 (file)
@@ -177,7 +177,8 @@ E_API E_Action   *e_bindings_wheel_ecore_event_handle(E_Binding_Context ctxt, E_
 
 E_API int e_bindings_evas_modifiers_convert(Evas_Modifier *modifiers);
 E_API int e_bindings_modifiers_to_ecore_convert(E_Binding_Modifier modifiers);
-E_API void e_bindings_evas_event_mouse_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event);
+E_API void e_bindings_evas_event_mouse_down_button_convert(const Evas_Event_Mouse_Down *ev, E_Binding_Event_Mouse_Button *event);
+E_API void e_bindings_evas_event_mouse_up_button_convert(const Evas_Event_Mouse_Up *ev, E_Binding_Event_Mouse_Button *event);
 E_API void e_bindings_evas_event_mouse_wheel_convert(const Evas_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
 E_API void e_bindings_ecore_event_mouse_button_convert(const Ecore_Event_Mouse_Button *ev, E_Binding_Event_Mouse_Button *event);
 E_API void e_bindings_ecore_event_mouse_wheel_convert(const Ecore_Event_Mouse_Wheel *ev, E_Binding_Event_Wheel *event);
index bc12896a24a2eb49f0ee303f85bfc2ee7684364e..973d18f0494f54d74907c225df405d5ec20e9e83 100644 (file)
@@ -658,7 +658,7 @@ _e_comp_object_cb_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj E
 
    if (!cw->ec) return;
    if (e_client_action_get()) return;
-   e_bindings_evas_event_mouse_button_convert(ev, &ev2);
+   e_bindings_evas_event_mouse_down_button_convert(ev, &ev2);
    e_client_mouse_down(cw->ec, ev->button, &ev->output, &ev2);
 }
 
@@ -672,7 +672,7 @@ _e_comp_object_cb_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EIN
 
    if (!cw->ec) return;
    if (e_client_action_get() && (e_client_action_get() != cw->ec)) return;
-   e_bindings_evas_event_mouse_button_convert(ev, &ev2);
+   e_bindings_evas_event_mouse_up_button_convert(ev, &ev2);
    e_client_mouse_up(cw->ec, ev->button, &ev->output, &ev2);
 }
 
index 1ad4277247661dddda51721aceff39bed8727077..a4b7bca05e2758642242dce9c1625d1b01dcfb4f 100644 (file)
@@ -1313,7 +1313,7 @@ _e_zone_cb_bg_mouse_up(void *data,
      {
         E_Binding_Event_Mouse_Button event;
 
-        e_bindings_evas_event_mouse_button_convert(event_info, &event);
+        e_bindings_evas_event_mouse_up_button_convert(event_info, &event);
         if (zone->cur_mouse_action->func.end_mouse)
           zone->cur_mouse_action->func.end_mouse(E_OBJECT(zone), "", &event);
         else if (zone->cur_mouse_action->func.end)