devilhorns pushed a commit to branch master.
commit 58d2d77977974c50f58d0f51a5daf77385a9d466
Author: Chris Michael <[email protected]>
Date: Thu Apr 11 07:05:08 2013 +0100
Add support for mouse up and down events.
Signed-off-by: Chris Michael <[email protected]>
---
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 b83fc65..33f4763 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);
+}
--
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter