summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-08-25 16:03:45 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-08-26 10:18:01 +0900
commit443aa91d5352810c24403281dffad96f0472b368 (patch)
treebad69791b20c6cf6ef92f7e003a727f3a11163b1
parent7b25619213ead0d39001ce57320075b69fccdec2 (diff)
downloadefl-443aa91d5352810c24403281dffad96f0472b368.tar.gz
evas: Simplify internal evas_object_event_callback_call
This removes the distinction between legacy and new eo style event info, since all those types have now been ported to eo.
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c65
-rw-r--r--src/lib/evas/canvas/evas_events.c241
-rw-r--r--src/lib/evas/canvas/evas_focus.c4
-rw-r--r--src/lib/evas/canvas/evas_object_inform.c18
-rw-r--r--src/lib/evas/canvas/evas_object_main.c6
-rw-r--r--src/lib/evas/include/evas_private.h2
6 files changed, 188 insertions, 148 deletions
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index af3f51d324..81a1e6dd4a 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -87,13 +87,22 @@ _legacy_evas_callback_type(const Efl_Event_Description *desc)
return EVAS_CALLBACK_LAST;
}
+typedef enum {
+ EFL_EVENT_TYPE_NULL,
+ EFL_EVENT_TYPE_OBJECT,
+ EFL_EVENT_TYPE_STRUCT,
+ EFL_EVENT_TYPE_POINTER,
+ EFL_EVENT_TYPE_KEY,
+ EFL_EVENT_TYPE_HOLD
+} Efl_Event_Info_Type;
+
typedef struct
{
EINA_INLIST;
Evas_Object_Event_Cb func;
void *data;
Evas_Callback_Type type;
- int efl_event_info; // for key, pointer and hold
+ Efl_Event_Info_Type efl_event_type;
} _eo_evas_object_cb_info;
typedef struct
@@ -104,13 +113,8 @@ typedef struct
Evas_Callback_Type type;
} _eo_evas_cb_info;
-#define EFL_EVENT_TYPE_LEGACY 0
-#define EFL_EVENT_TYPE_POINTER 1
-#define EFL_EVENT_TYPE_KEY 2
-#define EFL_EVENT_TYPE_HOLD 3
-
static int
-_evas_event_efl_event_info_exists(Evas_Callback_Type type)
+_evas_event_efl_event_info_type(Evas_Callback_Type type)
{
switch (type)
{
@@ -125,13 +129,26 @@ _evas_event_efl_event_info_exists(Evas_Callback_Type type)
case EVAS_CALLBACK_MULTI_MOVE:
case EVAS_CALLBACK_AXIS_UPDATE:
return EFL_EVENT_TYPE_POINTER;
+
case EVAS_CALLBACK_KEY_DOWN:
case EVAS_CALLBACK_KEY_UP:
return EFL_EVENT_TYPE_KEY;
+
case EVAS_CALLBACK_HOLD:
return EFL_EVENT_TYPE_HOLD;
+
+ case EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN:
+ case EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT: /* Efl.Canvas.Object */
+ return EFL_EVENT_TYPE_OBJECT;
+
+ case EVAS_CALLBACK_RENDER_POST: /* Efl_Gfx_Event_Render_Post */
+ return EFL_EVENT_TYPE_STRUCT;
+
+ case EVAS_CALLBACK_DEVICE_CHANGED: /* Efl.Input.Device */
+ return EFL_EVENT_TYPE_OBJECT;
+
default:
- return EFL_EVENT_TYPE_LEGACY;
+ return EFL_EVENT_TYPE_NULL;
}
}
@@ -144,10 +161,10 @@ _eo_evas_object_cb(void *data, const Eo_Event *event)
void *event_info;
Evas *evas;
+ if (!info->func) return;
evas = evas_object_evas_get(event->object);
- if (!info->func) return;
- switch (info->efl_event_info)
+ switch (info->efl_event_type)
{
case EFL_EVENT_TYPE_POINTER:
event_info = efl_event_pointer_legacy_info_fill(efl_event_info, info->type, &event_flags);
@@ -161,7 +178,9 @@ _eo_evas_object_cb(void *data, const Eo_Event *event)
event_info = efl_event_hold_legacy_info_fill(efl_event_info, &event_flags);
break;
- case EFL_EVENT_TYPE_LEGACY:
+ case EFL_EVENT_TYPE_NULL:
+ case EFL_EVENT_TYPE_STRUCT:
+ case EFL_EVENT_TYPE_OBJECT:
info->func(info->data, evas, event->object, event->info);
return;
@@ -277,7 +296,7 @@ evas_event_callback_call(Evas *eo_e, Evas_Callback_Type type, void *event_info)
void
evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj,
Evas_Callback_Type type, void *event_info, int event_id,
- const Efl_Event_Description *efl_event_desc, Efl_Event *efl_event_info)
+ const Efl_Event_Description *efl_event_desc)
{
/* MEM OK */
const Evas_Button_Flags mask = EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK;
@@ -308,27 +327,25 @@ evas_object_event_callback_call(Evas_Object *eo_obj, Evas_Object_Protected_Data
if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP))
{
- flags = efl_event_pointer_button_flags_get(efl_event_info);
+ flags = efl_event_pointer_button_flags_get(event_info);
if (flags & mask)
{
if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1))
- efl_event_pointer_button_flags_set(efl_event_info, flags & ~mask);
+ efl_event_pointer_button_flags_set(event_info, flags & ~mask);
}
obj->last_mouse_down_counter = e->last_mouse_down_counter;
}
- if (_evas_event_efl_event_info_exists(type))
+ if (!efl_event_desc)
{
- efl_event_callback_call(eo_obj, efl_event_desc, efl_event_info);
- }
- else
- {
- efl_event_callback_call(eo_obj, _legacy_evas_callback_table(type), event_info);
- if (efl_event_desc) CRI("Internal error with events!"); // FIXME
+ /* This can happen for DEL and FREE which are defined only in here */
+ efl_event_desc = _legacy_evas_callback_table(type);
}
+ efl_event_callback_call(eo_obj, efl_event_desc, event_info);
+
if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP))
- efl_event_pointer_button_flags_set(efl_event_info, flags);
+ efl_event_pointer_button_flags_set(event_info, flags);
nothing_here:
if (!obj->no_propagate)
@@ -337,7 +354,7 @@ nothing_here:
(type <= EVAS_CALLBACK_KEY_UP))
{
Evas_Object_Protected_Data *smart_parent = efl_data_scope_get(obj->smart.parent, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(obj->smart.parent, smart_parent, type, event_info, event_id, efl_event_desc, efl_event_info);
+ evas_object_event_callback_call(obj->smart.parent, smart_parent, type, event_info, event_id, efl_event_desc);
}
}
_evas_unwalk(e);
@@ -366,7 +383,7 @@ evas_object_event_callback_priority_add(Evas_Object *eo_obj, Evas_Callback_Type
cb_info->func = func;
cb_info->data = (void *)data;
cb_info->type = type;
- cb_info->efl_event_info = _evas_event_efl_event_info_exists(type);
+ cb_info->efl_event_type = _evas_event_efl_event_info_type(type);
const Efl_Event_Description *desc = _legacy_evas_callback_table(type);
efl_event_callback_priority_add(eo_obj, desc, priority, _eo_evas_object_cb, cb_info);
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c
index 1dd71cc964..f94566b8fe 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -439,10 +439,10 @@ _evas_event_source_mouse_down_events(Evas_Object *eo_obj, Evas *eo_e,
child = efl_data_scope_get(eo_child, EFL_CANVAS_OBJECT_CLASS);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_DOWN, NULL,
- event_id, EFL_EVENT_POINTER_DOWN, evt);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_DOWN, NULL,
- event_id, EFL_EVENT_FINGER_DOWN, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_DOWN, evt,
+ event_id, EFL_EVENT_POINTER_DOWN);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_DOWN, evt,
+ event_id, EFL_EVENT_FINGER_DOWN);
if (e->delete_me) break;
if (obj->pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN)
break;
@@ -503,10 +503,10 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
_evas_event_havemap_adjust_f(eo_child, child, &ev->prev, child->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_MOVE;
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, NULL,
- event_id, EFL_EVENT_POINTER_MOVE, evt);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id, EFL_EVENT_POINTER_MOVE);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
}
else
outs = eina_list_append(outs, eo_child);
@@ -530,8 +530,8 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
EINA_COW_WRITE_END(evas_object_proxy_cow, src->proxy, proxy_write);
ev->action = EFL_POINTER_ACTION_OUT;
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
}
}
}
@@ -567,10 +567,10 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
{
ev->action = EFL_POINTER_ACTION_MOVE;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, NULL,
- event_id, EFL_EVENT_POINTER_MOVE, evt);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id, EFL_EVENT_POINTER_MOVE);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
}
else if (child->mouse_in)
{
@@ -579,8 +579,8 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
ev->cur = curpt;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_OUT;
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if (e->delete_me) break;
}
@@ -601,8 +601,8 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e,
ev->cur = curpt;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_IN;
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id2, EFL_EVENT_POINTER_IN, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id2, EFL_EVENT_POINTER_IN);
if (e->delete_me) break;
}
}
@@ -667,10 +667,10 @@ _evas_event_source_mouse_up_events(Evas_Object *eo_obj, Evas *eo_e,
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_UP, NULL,
- event_id, EFL_EVENT_POINTER_UP, evt);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_UP, NULL,
- event_id, EFL_EVENT_FINGER_UP, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_UP, evt,
+ event_id, EFL_EVENT_POINTER_UP);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MULTI_UP, evt,
+ event_id, EFL_EVENT_FINGER_UP);
if (e->delete_me) break;
if (obj->pointer_mode ==
EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN)
@@ -700,8 +700,8 @@ _evas_event_source_hold_events(Evas_Object *eo_obj, int event_id, Efl_Event_Hold
{
if (src->delete_me) return;
child = efl_data_scope_get(eo_child, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD, NULL,
- event_id, EFL_EVENT_HOLD, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD, evt,
+ event_id, EFL_EVENT_HOLD);
if (src->layer->evas->delete_me) break;
}
}
@@ -738,8 +738,8 @@ _evas_event_source_wheel_events(Evas_Object *eo_obj, Evas *eo_e,
child = efl_data_scope_get(eo_child, EFL_CANVAS_OBJECT_CLASS);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_WHEEL, NULL,
- event_id, EFL_EVENT_POINTER_WHEEL, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_WHEEL, evt,
+ event_id, EFL_EVENT_POINTER_WHEEL);
if (e->delete_me) break;
}
eina_list_free(copy);
@@ -790,8 +790,8 @@ _evas_event_source_multi_down_events(Evas_Object_Protected_Data *obj, Evas_Publi
child = efl_data_scope_get(eo_child, EFL_CANVAS_OBJECT_CLASS);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_DOWN, NULL,
- event_id, EFL_EVENT_FINGER_DOWN, ev->eo);
+ evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_DOWN, evt,
+ event_id, EFL_EVENT_FINGER_DOWN);
if (e->delete_me) break;
}
eina_list_free(copy);
@@ -836,8 +836,8 @@ _evas_event_source_multi_up_events(Evas_Object_Protected_Data *obj, Evas_Public_
}
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_UP, NULL,
- event_id, EFL_EVENT_FINGER_UP, ev->eo);
+ evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_UP, evt,
+ event_id, EFL_EVENT_FINGER_UP);
if (e->delete_me || e->is_frozen) break;
}
eina_list_free(copy);
@@ -888,8 +888,8 @@ _evas_event_source_multi_move_events(Evas_Object_Protected_Data *obj, Evas_Publi
child = efl_data_scope_get(eo_child, EFL_CANVAS_OBJECT_CLASS);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, ev->eo);
+ evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if (e->delete_me || e->is_frozen) break;
}
}
@@ -926,8 +926,8 @@ _evas_event_source_multi_move_events(Evas_Object_Protected_Data *obj, Evas_Publi
evas_object_is_inside(eo_child, child, ev->cur.x, ev->cur.y)))
{
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, ev->eo);
+ evas_object_event_callback_call(obj->object, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if (e->delete_me || e->is_frozen) break;
}
}
@@ -993,8 +993,8 @@ _evas_event_source_mouse_in_events(Evas_Object *eo_obj, Evas *eo_e,
child->mouse_in = 1;
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id, EFL_EVENT_POINTER_IN, evt);
+ evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id, EFL_EVENT_POINTER_IN);
if (e->delete_me || e->is_frozen) break;
}
}
@@ -1045,8 +1045,8 @@ _evas_event_source_mouse_out_events(Evas_Object *eo_obj, Evas *eo_e,
ev->cur = point;
_evas_event_havemap_adjust_f(eo_child, child, &ev->cur, child->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if (e->is_frozen) continue;
}
eina_list_free(copy);
@@ -1215,6 +1215,7 @@ evas_event_thaw_eval(Evas *eo_e)
static void
_canvas_event_feed_mouse_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
int event_id, b;
@@ -1234,6 +1235,7 @@ _canvas_event_feed_mouse_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
if (e->is_frozen) return;
e->last_timestamp = ev->timestamp;
eo_e = e->evas;
+ evt = ev->eo;
event_id = _evas_object_event_new();
@@ -1287,12 +1289,12 @@ _canvas_event_feed_mouse_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_DOWN, NULL,
- event_id, EFL_EVENT_POINTER_DOWN, ev->eo);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_DOWN, NULL,
- event_id, EFL_EVENT_FINGER_DOWN, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_DOWN, evt,
+ event_id, EFL_EVENT_POINTER_DOWN);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_DOWN, evt,
+ event_id, EFL_EVENT_FINGER_DOWN);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
- _evas_event_source_mouse_down_events(eo_obj, eo_e, ev->eo, event_id);
+ _evas_event_source_mouse_down_events(eo_obj, eo_e, evt, event_id);
if (e->is_frozen || e->delete_me) break;
if (obj->pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN)
break;
@@ -1344,8 +1346,8 @@ _post_up_handle(Evas_Public_Data *e, Efl_Event_Pointer *parent_ev)
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_out_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me) break;
@@ -1374,8 +1376,8 @@ _post_up_handle(Evas_Public_Data *e, Efl_Event_Pointer *parent_ev)
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj_itr, obj_itr, &ev->cur, obj_itr->mouse_grabbed);
- evas_object_event_callback_call(eo_obj_itr, obj_itr, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id, EFL_EVENT_POINTER_IN, evt);
+ evas_object_event_callback_call(eo_obj_itr, obj_itr, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id, EFL_EVENT_POINTER_IN);
if ((obj_itr->proxy->is_proxy) &&
(obj_itr->proxy->src_events))
_evas_event_source_mouse_in_events(eo_obj_itr, eo_e, evt, event_id);
@@ -1413,6 +1415,7 @@ _post_up_handle(Evas_Public_Data *e, Efl_Event_Pointer *parent_ev)
static void
_canvas_event_feed_mouse_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
int event_id, b;
@@ -1432,6 +1435,7 @@ _canvas_event_feed_mouse_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data
if (e->is_frozen) return;
e->last_timestamp = ev->timestamp;
eo_e = e->evas;
+ evt = ev->eo;
event_id = _evas_object_event_new();
@@ -1465,12 +1469,12 @@ _canvas_event_feed_mouse_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_UP, NULL,
- event_id, EFL_EVENT_POINTER_UP, ev->eo);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_UP, NULL,
- event_id, EFL_EVENT_FINGER_UP, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_UP, evt,
+ event_id, EFL_EVENT_POINTER_UP);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_UP, evt,
+ event_id, EFL_EVENT_FINGER_UP);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
- _evas_event_source_mouse_up_events(eo_obj, eo_e, ev->eo, event_id);
+ _evas_event_source_mouse_up_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me) break;
}
}
@@ -1485,7 +1489,7 @@ _canvas_event_feed_mouse_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data
_evas_post_event_callback_call(eo_e, e);
if (e->pointer.mouse_grabbed == 0)
- _post_up_handle(e, ev->eo);
+ _post_up_handle(e, evt);
if (e->pointer.mouse_grabbed < 0)
{
@@ -1654,8 +1658,8 @@ _canvas_event_feed_mouse_wheel_internal(Eo *eo_e, Efl_Event_Pointer_Data *pe)
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_WHEEL, NULL,
- event_id, EFL_EVENT_POINTER_WHEEL, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_WHEEL, evt,
+ event_id, EFL_EVENT_POINTER_WHEEL);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_wheel_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
@@ -1756,10 +1760,10 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
{
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, NULL,
- event_id, EFL_EVENT_POINTER_MOVE, evt);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id, EFL_EVENT_POINTER_MOVE);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_move_events(eo_obj, eo_e, evt, event_id);
}
@@ -1796,8 +1800,8 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
e->pointer.object.in = eina_list_remove(e->pointer.object.in, eo_obj);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_out_events(eo_obj, eo_e, evt, event_id);
}
@@ -1841,10 +1845,10 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_MOVE;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, NULL,
- event_id, EFL_EVENT_POINTER_MOVE, evt);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id, EFL_EVENT_POINTER_MOVE);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_move_events(eo_obj, eo_e, evt, event_id);
}
@@ -1857,8 +1861,8 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_OUT;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_out_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me) break;
@@ -1884,8 +1888,8 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_IN;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id, EFL_EVENT_POINTER_IN, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id, EFL_EVENT_POINTER_IN);
if ((obj->proxy->is_proxy) &&
(obj->proxy->src_events))
_evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id);
@@ -1973,10 +1977,10 @@ nogrep:
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_MOVE;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, NULL,
- event_id, EFL_EVENT_POINTER_MOVE, evt);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt,
+ event_id, EFL_EVENT_POINTER_MOVE);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_move_events(eo_obj, eo_e, evt, event_id);
}
@@ -1990,8 +1994,8 @@ nogrep:
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_OUT;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_out_events(eo_obj, eo_e, evt, event_id);
}
@@ -2015,8 +2019,8 @@ nogrep:
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
ev->action = EFL_POINTER_ACTION_IN;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id, EFL_EVENT_POINTER_IN, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id, EFL_EVENT_POINTER_IN);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me) break;
@@ -2075,6 +2079,7 @@ static void
_canvas_event_feed_mouse_in_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
{
Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+ Efl_Event_Pointer *evt;
Eina_List *ins;
Eina_List *l;
Evas_Object *eo_obj;
@@ -2088,6 +2093,7 @@ _canvas_event_feed_mouse_in_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
e->last_timestamp = ev->timestamp;
if (e->pointer.mouse_grabbed != 0) return;
+ evt = ev->eo;
ev->action = EFL_POINTER_ACTION_IN;
ev->pressed_buttons = e->pointer.button;
ev->cur.x = e->pointer.x;
@@ -2112,10 +2118,10 @@ _canvas_event_feed_mouse_in_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, NULL,
- event_id, EFL_EVENT_POINTER_IN, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt,
+ event_id, EFL_EVENT_POINTER_IN);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
- _evas_event_source_mouse_in_events(eo_obj, eo_e, ev->eo, event_id);
+ _evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
}
}
@@ -2134,6 +2140,7 @@ static void
_canvas_event_feed_mouse_out_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
{
Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
int event_id;
@@ -2146,6 +2153,7 @@ _canvas_event_feed_mouse_out_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
event_id = _evas_object_event_new();
+ evt = ev->eo;
ev->action = EFL_POINTER_ACTION_OUT;
ev->pressed_buttons = e->pointer.button;
ev->cur.x = e->pointer.x;
@@ -2169,10 +2177,10 @@ _canvas_event_feed_mouse_out_internal(Evas *eo_e, Efl_Event_Pointer_Data *ev)
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, NULL,
- event_id, EFL_EVENT_POINTER_OUT, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_OUT, evt,
+ event_id, EFL_EVENT_POINTER_OUT);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
- _evas_event_source_mouse_out_events(eo_obj, eo_e, ev->eo, event_id);
+ _evas_event_source_mouse_out_events(eo_obj, eo_e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
}
obj->mouse_grabbed = 0;
@@ -2225,6 +2233,7 @@ evas_event_feed_mouse_out(Eo *eo_e, unsigned int timestamp, const void *data)
static void
_canvas_event_feed_multi_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
Eina_Vector2 point;
@@ -2244,6 +2253,7 @@ _canvas_event_feed_multi_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
event_id = _evas_object_event_new();
point = ev->cur;
+ evt = ev->eo;
ev->action = EFL_POINTER_ACTION_DOWN;
ev->modifiers = &(e->modifiers);
ev->locks = &(e->locks);
@@ -2272,10 +2282,10 @@ _canvas_event_feed_multi_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_DOWN, NULL,
- event_id, EFL_EVENT_FINGER_DOWN, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_DOWN, evt,
+ event_id, EFL_EVENT_FINGER_DOWN);
if ((obj->proxy->is_proxy) || (obj->proxy->src_events))
- _evas_event_source_multi_down_events(obj, e, ev->eo, event_id);
+ _evas_event_source_multi_down_events(obj, e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
}
eina_list_free(copy);
@@ -2291,6 +2301,7 @@ _canvas_event_feed_multi_down_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
static void
_canvas_event_feed_multi_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
Eina_Vector2 point;
@@ -2310,6 +2321,7 @@ _canvas_event_feed_multi_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data
event_id = _evas_object_event_new();
point = ev->cur;
+ evt = ev->eo;
ev->action = EFL_POINTER_ACTION_UP;
ev->modifiers = &(e->modifiers);
ev->locks = &(e->locks);
@@ -2332,14 +2344,14 @@ _canvas_event_feed_multi_up_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data
obj->mouse_grabbed--;
e->pointer.mouse_grabbed--;
}
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_UP, NULL,
- event_id, EFL_EVENT_FINGER_UP, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_UP, evt,
+ event_id, EFL_EVENT_FINGER_UP);
if ((obj->proxy->is_proxy) || (obj->proxy->src_events))
- _evas_event_source_multi_up_events(obj, e, ev->eo, event_id);
+ _evas_event_source_multi_up_events(obj, e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
}
eina_list_free(copy);
- if ((e->pointer.mouse_grabbed == 0) && !_post_up_handle(e, ev->eo))
+ if ((e->pointer.mouse_grabbed == 0) && !_post_up_handle(e, evt))
_evas_post_event_callback_call(eo_e, e);
/* remove released touch point from the touch point list */
_evas_touch_point_remove(eo_e, ev->tool);
@@ -2440,6 +2452,7 @@ evas_event_feed_multi_up(Eo *eo_e, int d, int x, int y, double rad, double radx,
static void
_canvas_event_feed_multi_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
Eina_Vector2 point;
@@ -2456,6 +2469,7 @@ _canvas_event_feed_multi_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
if ((!e->pointer.inside) && (e->pointer.mouse_grabbed == 0)) return;
+ evt = ev->eo;
ev->cur.x = e->pointer.x;
ev->cur.y = e->pointer.y;
ev->modifiers = &(e->modifiers);
@@ -2487,10 +2501,10 @@ _canvas_event_feed_multi_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
{
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if ((obj->proxy->is_proxy) || (obj->proxy->src_events))
- _evas_event_source_multi_move_events(obj, e, ev->eo, event_id);
+ _evas_event_source_multi_move_events(obj, e, evt, event_id);
if (e->delete_me || e->is_frozen) break;
}
@@ -2527,10 +2541,10 @@ _canvas_event_feed_multi_move_internal(Evas_Public_Data *e, Efl_Event_Pointer_Da
{
ev->cur = point;
_evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj->mouse_grabbed);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, NULL,
- event_id, EFL_EVENT_FINGER_MOVE, ev->eo);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, evt,
+ event_id, EFL_EVENT_FINGER_MOVE);
if ((obj->proxy->is_proxy) || (obj->proxy->src_events))
- _evas_event_source_multi_move_events(obj, e, ev->eo, event_id);
+ _evas_event_source_multi_move_events(obj, e, evt, event_id);
}
if (e->delete_me || e->is_frozen) break;
}
@@ -2579,6 +2593,7 @@ static void
_canvas_event_feed_key_down_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev)
{
Eina_Bool exclusive = EINA_FALSE;
+ Efl_Event_Pointer *evt;
int event_id = 0;
if (!e || !ev) return;
@@ -2588,6 +2603,7 @@ _canvas_event_feed_key_down_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev
event_id = _evas_object_event_new();
+ evt = ev->eo;
ev->modifiers = &(e->modifiers);
ev->locks = &(e->locks);
ev->event_flags = e->default_event_flags;
@@ -2619,8 +2635,8 @@ _canvas_event_feed_key_down_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev
if (!e->is_frozen &&
!evas_event_freezes_through(g->object, object_obj))
{
- evas_object_event_callback_call(g->object, object_obj, EVAS_CALLBACK_KEY_DOWN, NULL,
- event_id, EFL_EVENT_KEY_DOWN, ev->eo);
+ evas_object_event_callback_call(g->object, object_obj, EVAS_CALLBACK_KEY_DOWN, evt,
+ event_id, EFL_EVENT_KEY_DOWN);
}
if (g->exclusive) exclusive = EINA_TRUE;
}
@@ -2652,8 +2668,8 @@ _canvas_event_feed_key_down_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev
Evas_Object_Protected_Data *focused_obj = efl_data_scope_get(e->focused, EFL_CANVAS_OBJECT_CLASS);
if (!e->is_frozen && !evas_event_freezes_through(e->focused, focused_obj))
{
- evas_object_event_callback_call(e->focused, focused_obj, EVAS_CALLBACK_KEY_DOWN, NULL,
- event_id, EFL_EVENT_KEY_DOWN, ev->eo);
+ evas_object_event_callback_call(e->focused, focused_obj, EVAS_CALLBACK_KEY_DOWN, evt,
+ event_id, EFL_EVENT_KEY_DOWN);
}
}
_evas_post_event_callback_call(e->evas, e);
@@ -2666,6 +2682,7 @@ static void
_canvas_event_feed_key_up_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev)
{
Eina_Bool exclusive = EINA_FALSE;
+ Efl_Event_Pointer *evt;
int event_id = 0;
if (!e || !ev) return;
@@ -2675,6 +2692,7 @@ _canvas_event_feed_key_up_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev)
event_id = _evas_object_event_new();
+ evt = ev->eo;
ev->modifiers = &(e->modifiers);
ev->locks = &(e->locks);
ev->event_flags = e->default_event_flags;
@@ -2706,8 +2724,8 @@ _canvas_event_feed_key_up_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev)
!evas_event_freezes_through(g->object, object_obj))
{
evas_object_event_callback_call
- (g->object, object_obj, EVAS_CALLBACK_KEY_UP, NULL,
- event_id, EFL_EVENT_KEY_UP, ev->eo);
+ (g->object, object_obj, EVAS_CALLBACK_KEY_UP, evt,
+ event_id, EFL_EVENT_KEY_UP);
}
if (g->exclusive) exclusive = EINA_TRUE;
}
@@ -2741,8 +2759,8 @@ _canvas_event_feed_key_up_internal(Evas_Public_Data *e, Efl_Event_Key_Data *ev)
if (!e->is_frozen && !evas_event_freezes_through(e->focused, focused_obj))
{
evas_object_event_callback_call
- (e->focused, focused_obj, EVAS_CALLBACK_KEY_UP, NULL,
- event_id, EFL_EVENT_KEY_UP, ev->eo);
+ (e->focused, focused_obj, EVAS_CALLBACK_KEY_UP, evt,
+ event_id, EFL_EVENT_KEY_UP);
}
}
_evas_post_event_callback_call(e->evas, e);
@@ -2847,8 +2865,8 @@ evas_event_feed_hold(Eo *eo_e, int hold, unsigned int timestamp, const void *dat
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
if ( !evas_event_freezes_through(eo_obj, obj))
{
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD, NULL,
- event_id, EFL_EVENT_HOLD, evt);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD, evt,
+ event_id, EFL_EVENT_HOLD);
if ((obj->proxy->is_proxy) && (obj->proxy->src_events))
_evas_event_source_hold_events(eo_obj, event_id, evt);
}
@@ -2866,6 +2884,7 @@ evas_event_feed_hold(Eo *eo_e, int hold, unsigned int timestamp, const void *dat
void
_canvas_event_feed_axis_update_internal(Evas_Public_Data *e, Efl_Event_Pointer_Data *ev)
{
+ Efl_Event_Pointer *evt;
Eina_List *l, *copy;
Evas_Object *eo_obj;
int event_id = 0;
@@ -2879,6 +2898,7 @@ _canvas_event_feed_axis_update_internal(Evas_Public_Data *e, Efl_Event_Pointer_D
ev->action = EFL_POINTER_ACTION_AXIS;
event_id = _evas_object_event_new();
+ evt = ev->eo;
if (ev->device) efl_ref(ev->device);
@@ -2891,8 +2911,8 @@ _canvas_event_feed_axis_update_internal(Evas_Public_Data *e, Efl_Event_Pointer_D
if (!evas_event_freezes_through(eo_obj, obj))
{
evas_object_event_callback_call(eo_obj, obj,
- EVAS_CALLBACK_AXIS_UPDATE, NULL,
- event_id, EFL_EVENT_POINTER_AXIS, ev->eo);
+ EVAS_CALLBACK_AXIS_UPDATE, evt,
+ event_id, EFL_EVENT_POINTER_AXIS);
if (e->delete_me || e->is_frozen) break;
}
}
@@ -2918,7 +2938,6 @@ evas_event_feed_axis_update(Evas *eo_e, unsigned int timestamp, int device, int
ev->data = (void *) data;
ev->timestamp = timestamp;
ev->action = EFL_POINTER_ACTION_AXIS;
- ev->device = _evas_device_top_get(eo_e); // FIXME
ev->tool = toolid;
// see also ecore_evas.c
@@ -2960,6 +2979,10 @@ evas_event_feed_axis_update(Evas *eo_e, unsigned int timestamp, int device, int
}
}
+ /* FIXME: set proper device based on the device id (X or WL specific) */
+ ev->device = _evas_device_top_get(eo_e); // FIXME
+ (void) device;
+
_canvas_event_feed_axis_update_internal(e, ev);
efl_del(evt);
diff --git a/src/lib/evas/canvas/evas_focus.c b/src/lib/evas/canvas/evas_focus.c
index 7b896706f0..fc1515f3a6 100644
--- a/src/lib/evas/canvas/evas_focus.c
+++ b/src/lib/evas/canvas/evas_focus.c
@@ -27,7 +27,7 @@ _efl_canvas_object_key_focus_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Ei
if (obj->layer->evas->focused) goto end;
obj->focused = 1;
obj->layer->evas->focused = eo_obj;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_IN, NULL, event_id, NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_IN, NULL, event_id, EFL_CANVAS_OBJECT_EVENT_FOCUS_IN);
evas_event_callback_call(obj->layer->evas->evas,
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, eo_obj);
}
@@ -35,7 +35,7 @@ _efl_canvas_object_key_focus_set(Eo *eo_obj, Evas_Object_Protected_Data *obj, Ei
{
obj->focused = 0;
obj->layer->evas->focused = NULL;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_OUT, NULL, event_id, NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_OUT, NULL, event_id, EFL_CANVAS_OBJECT_EVENT_FOCUS_OUT);
evas_event_callback_call(obj->layer->evas->evas,
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, eo_obj);
}
diff --git a/src/lib/evas/canvas/evas_object_inform.c b/src/lib/evas/canvas/evas_object_inform.c
index 9d77ad9b57..77b7f1ca43 100644
--- a/src/lib/evas/canvas/evas_object_inform.c
+++ b/src/lib/evas/canvas/evas_object_inform.c
@@ -8,7 +8,7 @@ evas_object_inform_call_show(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_SHOW, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_SHOW, NULL, _evas_object_event_new(), EFL_GFX_EVENT_SHOW);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -17,14 +17,14 @@ evas_object_inform_call_hide(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HIDE, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HIDE, NULL, _evas_object_event_new(), EFL_GFX_EVENT_HIDE);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
void
evas_object_inform_call_move(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
{
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOVE, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOVE, NULL, _evas_object_event_new(), EFL_GFX_EVENT_MOVE);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -32,7 +32,7 @@ void
evas_object_inform_call_resize(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESIZE, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESIZE, NULL, _evas_object_event_new(), EFL_GFX_EVENT_RESIZE);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -40,7 +40,7 @@ void
evas_object_inform_call_restack(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESTACK, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_RESTACK, NULL, _evas_object_event_new(), EFL_GFX_EVENT_RESTACK);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -48,7 +48,7 @@ void
evas_object_inform_call_changed_size_hints(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, NULL, _evas_object_event_new(), EFL_GFX_EVENT_CHANGE_SIZE_HINTS);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -62,7 +62,7 @@ evas_object_inform_call_image_preloaded(Evas_Object *eo_obj)
_evas_object_image_preloading_check(eo_obj);
_evas_object_image_preloading_set(eo_obj, 0);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_PRELOADED, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_PRELOADED, NULL, _evas_object_event_new(), EFL_IMAGE_EVENT_PRELOAD);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -70,7 +70,7 @@ void
evas_object_inform_call_image_unloaded(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_UNLOADED, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_UNLOADED, NULL, _evas_object_event_new(), EFL_IMAGE_EVENT_UNLOAD);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
@@ -78,6 +78,6 @@ void
evas_object_inform_call_image_resize(Evas_Object *eo_obj)
{
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_RESIZE, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_IMAGE_RESIZE, NULL, _evas_object_event_new(), EFL_IMAGE_EVENT_RESIZE);
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index d7e3aa570f..1e63b5c72c 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -693,11 +693,11 @@ _efl_canvas_object_efl_object_destructor(Eo *eo_obj, Evas_Object_Protected_Data
obj->focused = EINA_FALSE;
if ((obj->layer) && (obj->layer->evas))
obj->layer->evas->focused = NULL;
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_OUT, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FOCUS_OUT, NULL, _evas_object_event_new(), EFL_CANVAS_OBJECT_EVENT_FOCUS_OUT);
if ((obj->layer) && (obj->layer->evas))
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
}
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_DEL, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_DEL, NULL, _evas_object_event_new(), NULL);
if ((obj->layer) && (obj->layer->evas))
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
if ((obj->mouse_grabbed > 0) && (obj->layer) && (obj->layer->evas))
@@ -755,7 +755,7 @@ _efl_canvas_object_efl_object_destructor(Eo *eo_obj, Evas_Object_Protected_Data
evas_object_map_set(eo_obj, NULL);
if (obj->is_smart) evas_object_smart_del(eo_obj);
- evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FREE, NULL, _evas_object_event_new(), NULL, NULL);
+ evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_FREE, NULL, _evas_object_event_new(), NULL);
if ((obj->layer) && (obj->layer->evas))
_evas_post_event_callback_call(obj->layer->evas->evas, obj->layer->evas);
evas_object_smart_cleanup(eo_obj);
diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h
index ceac5872ad..b3b52a1560 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1552,7 +1552,7 @@ void evas_object_clip_across_clippees_check(Evas_Object *obj, Evas_Object_Protec
void evas_object_mapped_clip_across_mark(Evas_Object *obj, Evas_Object_Protected_Data *pd);
void evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info);
void evas_object_callback_init(Efl_Canvas_Object *eo_obj, Evas_Object_Protected_Data *obj);
-void evas_object_event_callback_call(Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Callback_Type type, void *event_info, int event_id, const Efl_Event_Description *efl_event_desc, Efl_Event *efl_event_info);
+void evas_object_event_callback_call(Evas_Object *obj, Evas_Object_Protected_Data *pd, Evas_Callback_Type type, void *event_info, int event_id, const Efl_Event_Description *efl_event_desc);
Eina_List *evas_event_objects_event_list(Evas *e, Evas_Object *stop, int x, int y);
int evas_mem_free(int mem_required);
int evas_mem_degrade(int mem_required);