forked from enlightenment/efl
Evas events: Added evas_event_refeed_event.
Patch by Aharon Hillel. SVN revision: 61117
This commit is contained in:
parent
7221f62185
commit
ba9e8ca113
|
@ -1193,7 +1193,6 @@ EAPI Evas *evas_new (void) EINA_WARN_UNUSED
|
||||||
*/
|
*/
|
||||||
EAPI void evas_free (Evas *e) EINA_ARG_NONNULL(1);
|
EAPI void evas_free (Evas *e) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inform to the evas that it got the focus.
|
* Inform to the evas that it got the focus.
|
||||||
*
|
*
|
||||||
|
@ -2464,6 +2463,21 @@ EAPI void evas_event_feed_key_up (Evas *e, const char *k
|
||||||
*/
|
*/
|
||||||
EAPI void evas_event_feed_hold (Evas *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
|
EAPI void evas_event_feed_hold (Evas *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Re feed event.
|
||||||
|
*
|
||||||
|
* @param e The given canvas pointer.
|
||||||
|
* @param event_copy the event to refeed
|
||||||
|
* @param event_type Event type
|
||||||
|
*
|
||||||
|
* This function re-feeds the event pointed by event_copy
|
||||||
|
*
|
||||||
|
* This function call evas_event_feed_* functions, so it can
|
||||||
|
* cause havoc if not used wisely. Please use it responsibly.
|
||||||
|
*/
|
||||||
|
EAPI void evas_event_refeed_event (Evas *e, void *event_copy, Evas_Callback_Type event_type); EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -196,6 +196,7 @@ evas_event_thaw_eval(Evas *e)
|
||||||
return;
|
return;
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
if (e->events_frozen != 0) return;
|
if (e->events_frozen != 0) return;
|
||||||
|
|
||||||
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y,
|
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y,
|
||||||
e->last_timestamp, NULL);
|
e->last_timestamp, NULL);
|
||||||
}
|
}
|
||||||
|
@ -1466,3 +1467,79 @@ evas_object_pointer_mode_get(const Evas_Object *obj)
|
||||||
MAGIC_CHECK_END();
|
MAGIC_CHECK_END();
|
||||||
return obj->pointer_mode;
|
return obj->pointer_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
evas_event_refeed_event(Evas *e, void *event_copy, Evas_Callback_Type event_type)
|
||||||
|
{
|
||||||
|
switch(event_type)
|
||||||
|
{
|
||||||
|
case EVAS_CALLBACK_MOUSE_IN:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_In *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_in(e, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MOUSE_OUT:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Out *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_out(e, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MOUSE_DOWN:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Down *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_down(e, ev->button, ev->flags, ev-> timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MOUSE_UP:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Up *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_up(e, ev->button, ev->flags, ev-> timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MOUSE_MOVE:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Move *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_move(e, ev->cur.canvas.x, ev->cur.canvas.y, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MOUSE_WHEEL:
|
||||||
|
{
|
||||||
|
Evas_Event_Mouse_Wheel *ev = event_copy;
|
||||||
|
evas_event_feed_mouse_wheel(e, ev->direction, ev-> z, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MULTI_DOWN:
|
||||||
|
{
|
||||||
|
Evas_Event_Multi_Down *ev = event_copy;
|
||||||
|
evas_event_feed_multi_down(e, ev->device, ev->canvas.x, ev->canvas.y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, ev->canvas.xsub, ev->canvas.ysub, ev->flags, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MULTI_UP:
|
||||||
|
{
|
||||||
|
Evas_Event_Multi_Up *ev = event_copy;
|
||||||
|
evas_event_feed_multi_up(e, ev->device, ev->canvas.x, ev->canvas.y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, ev->canvas.xsub, ev->canvas.ysub, ev->flags, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_MULTI_MOVE:
|
||||||
|
{
|
||||||
|
Evas_Event_Multi_Move *ev = event_copy;
|
||||||
|
evas_event_feed_multi_move(e, ev->device, ev->cur.canvas.x, ev->cur.canvas.y, ev->radius, ev->radius_x, ev->radius_y, ev->pressure, ev->angle, ev->cur.canvas.xsub, ev->cur.canvas.ysub, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_KEY_DOWN:
|
||||||
|
{
|
||||||
|
Evas_Event_Key_Down *ev = event_copy;
|
||||||
|
evas_event_feed_key_down(e, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case EVAS_CALLBACK_KEY_UP:
|
||||||
|
{
|
||||||
|
Evas_Event_Key_Up *ev = event_copy;
|
||||||
|
evas_event_feed_key_up(e, ev->keyname, ev->key, ev->string, ev->compose, ev->timestamp, ev->data);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: /* All non-input events are not handeled */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue