EFL_EVENT_POINTER_UP,
EFL_EVENT_POINTER_MOVE,
EFL_EVENT_POINTER_WHEEL,
- EFL_EVENT_POINTER_DOWN,
- EFL_EVENT_POINTER_UP,
- EFL_EVENT_POINTER_MOVE,
+ EFL_EVENT_FINGER_DOWN,
+ EFL_EVENT_FINGER_UP,
+ EFL_EVENT_FINGER_MOVE,
EVAS_OBJECT_EVENT_FREE,
EFL_EVENT_KEY_DOWN,
EFL_EVENT_KEY_UP,
const Efl_Event_Description *efl_event_desc)
{
/* MEM OK */
- const Evas_Button_Flags mask = EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK;
+ const Evas_Button_Flags CLICK_MASK = EVAS_BUTTON_DOUBLE_CLICK | EVAS_BUTTON_TRIPLE_CLICK;
Evas_Button_Flags flags = EVAS_BUTTON_NONE;
Evas_Public_Data *e;
if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP))
{
flags = efl_input_pointer_button_flags_get(event_info);
- if (flags & mask)
+ if (flags & CLICK_MASK)
{
if (obj->last_mouse_down_counter < (e->last_mouse_down_counter - 1))
- efl_input_pointer_button_flags_set(event_info, flags & ~mask);
+ efl_input_pointer_button_flags_set(event_info, flags & ~CLICK_MASK);
}
obj->last_mouse_down_counter = e->last_mouse_down_counter;
}
efl_event_callback_legacy_call(eo_obj, efl_event_desc, event_info);
- if ((type == EVAS_CALLBACK_MOUSE_DOWN) || (type == EVAS_CALLBACK_MOUSE_UP))
- efl_input_pointer_button_flags_set(event_info, flags);
+ /* multi events with finger 0 - only for eo callbacks */
+ if (type == EVAS_CALLBACK_MOUSE_DOWN)
+ {
+ if (_evas_object_callback_has_by_type(obj, EVAS_CALLBACK_MULTI_DOWN))
+ efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_DOWN, event_info);
+ efl_input_pointer_button_flags_set(event_info, flags);
+ }
+ else if (type == EVAS_CALLBACK_MOUSE_UP)
+ {
+ if (_evas_object_callback_has_by_type(obj, EVAS_CALLBACK_MULTI_UP))
+ efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_UP, event_info);
+ efl_input_pointer_button_flags_set(event_info, flags);
+ }
+ else if (type == EVAS_CALLBACK_MOUSE_MOVE)
+ {
+ if (_evas_object_callback_has_by_type(obj, EVAS_CALLBACK_MULTI_MOVE))
+ efl_event_callback_call(eo_obj, EFL_EVENT_FINGER_MOVE, event_info);
+ }
nothing_here:
if (!obj->no_propagate)
_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, 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;
ev->action = EFL_POINTER_ACTION_MOVE;
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);
_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, 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)
{
_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, 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)
_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, 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, evt, event_id);
if (e->is_frozen || e->delete_me) break;
_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, 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, evt, event_id);
if (e->delete_me) break;
_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, 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);
}
ev->action = EFL_POINTER_ACTION_MOVE;
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);
}
ev->action = EFL_POINTER_ACTION_MOVE;
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);
}