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

Reply via email to