devilhorns pushed a commit to branch master.
commit 57ca050f7ce977d03f7e7311b9ebaab369af3499
Author: Chris Michael <[email protected]>
Date: Thu Apr 11 09:25:55 2013 +0100
Add e_border_input_object_set function.
Add missing function prototype declarations for mouse events.
Signed-off-by: Chris Michael <[email protected]>
---
src/bin/e_border.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 9610f62..65d0cfe 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -174,6 +174,13 @@ static void
_e_border_shape_input_rectangle_set(E_Border *bd);
static void _e_border_show(E_Border *bd);
static void _e_border_hide(E_Border *bd);
+static void _e_border_cb_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object
*obj EINA_UNUSED, void *event_info);
+static void _e_border_cb_mouse_out(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED, void *event_info);
+static void _e_border_cb_mouse_move(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED, void *event_info);
+static void _e_border_cb_mouse_down(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED, void *event_info);
+static void _e_border_cb_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object
*obj EINA_UNUSED, void *event_info);
+static void _e_border_cb_mouse_wheel(void *data, Evas *e EINA_UNUSED,
Evas_Object *obj EINA_UNUSED, void *event_info);
+
static Eina_Bool _e_border_cb_mouse_x_wheel(void *d EINA_UNUSED, int t,
Ecore_Event_Mouse_Wheel *ev);
static Eina_Bool _e_border_cb_mouse_x_up(void *d EINA_UNUSED, int t,
Ecore_Event_Mouse_Button *ev);
static Eina_Bool _e_border_cb_mouse_x_down(void *d EINA_UNUSED, int t,
Ecore_Event_Mouse_Button *ev);
@@ -184,6 +191,7 @@ static Eina_Bool _e_border_cb_mouse_x_out(void *d, int t
EINA_UNUSED, Ecore_X_Ev
static void _e_border_move_lost_window_to_center(E_Border *bd);
static void _e_border_reset_lost_window(E_Border *bd);
static Eina_Bool _e_border_pointer_warp_to_center_timer(void *data);
+
/* local subsystem globals */
static Eina_List *handlers = NULL;
static Eina_List *borders = NULL;
@@ -4615,6 +4623,31 @@ e_border_resize_limit(E_Border *bd,
*h += bd->client_inset.t + bd->client_inset.b;
}
+EAPI void
+e_border_input_object_set(E_Border *bd, Evas_Object *input_obj)
+{
+ E_OBJECT_CHECK(bd);
+ E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
+
+ bd->input_object = input_obj;
+ if (!bd->input_object) return;
+
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_IN,
+ _e_border_cb_mouse_in, bd);
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_MOVE,
+ _e_border_cb_mouse_move, bd);
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_OUT,
+ _e_border_cb_mouse_out, bd);
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_DOWN,
+ _e_border_cb_mouse_down, bd);
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_UP,
+ _e_border_cb_mouse_up, bd);
+ evas_object_event_callback_add(bd->input_object, EVAS_CALLBACK_MOUSE_WHEEL,
+ _e_border_cb_mouse_wheel, bd);
+
+ bd->callbacks_set = EINA_TRUE;
+}
+
/* local subsystem functions */
static void
_e_border_free(E_Border *bd)
--
------------------------------------------------------------------------------
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