From 58d2d77977974c50f58d0f51a5daf77385a9d466 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Thu, 11 Apr 2013 07:05:08 +0100 Subject: [PATCH] Add support for mouse up and down events. Signed-off-by: Chris Michael --- src/bin/e_surface.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/bin/e_surface.c b/src/bin/e_surface.c index b83fc651f..33f47635a 100644 --- a/src/bin/e_surface.c +++ b/src/bin/e_surface.c @@ -44,6 +44,8 @@ static void _e_surface_cb_focus_out(void *data, Evas *evas EINA_UNUSED, void *ev static void _e_surface_cb_mouse_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event); static void _e_surface_cb_mouse_out(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event); static void _e_surface_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event); +static void _e_surface_cb_mouse_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event); +static void _e_surface_cb_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event); EAPI Evas_Object * e_surface_add(Evas *evas) @@ -173,6 +175,10 @@ _e_smart_add(Evas_Object *obj) _e_surface_cb_mouse_out, obj); evas_object_event_callback_add(sd->o_input, EVAS_CALLBACK_MOUSE_MOVE, _e_surface_cb_mouse_move, obj); + evas_object_event_callback_add(sd->o_input, EVAS_CALLBACK_MOUSE_DOWN, + _e_surface_cb_mouse_down, obj); + evas_object_event_callback_add(sd->o_input, EVAS_CALLBACK_MOUSE_UP, + _e_surface_cb_mouse_up, obj); evas_object_smart_member_add(sd->o_input, obj); /* create the image object */ @@ -207,7 +213,10 @@ _e_smart_del(Evas_Object *obj) _e_surface_cb_mouse_out); evas_object_event_callback_del(sd->o_input, EVAS_CALLBACK_MOUSE_MOVE, _e_surface_cb_mouse_move); - + evas_object_event_callback_del(sd->o_input, EVAS_CALLBACK_MOUSE_DOWN, + _e_surface_cb_mouse_down); + evas_object_event_callback_del(sd->o_input, EVAS_CALLBACK_MOUSE_UP, + _e_surface_cb_mouse_up); evas_object_del(sd->o_input); } @@ -360,3 +369,15 @@ _e_surface_cb_mouse_move(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EI { evas_object_smart_callback_call(data, "mouse_move", event); } + +static void +_e_surface_cb_mouse_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event) +{ + evas_object_smart_callback_call(data, "mouse_down", event); +} + +static void +_e_surface_cb_mouse_up(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event) +{ + evas_object_smart_callback_call(data, "mouse_up", event); +}