forked from enlightenment/efl
Add new api to set and get default event flags.
SVN revision: 66275
This commit is contained in:
parent
7e8ff5311b
commit
34581d0300
|
@ -567,3 +567,8 @@
|
|||
* Textblock: Added "b" and "i" as default tags that can be overridden
|
||||
by style, and added the infra to support this.
|
||||
* Textblock: Added evas_textblock_text_utf8_to_markup
|
||||
|
||||
2011-12-16 Carsten Haitzler (The Rasterman)
|
||||
|
||||
* Add new api to set and get default event flags.
|
||||
|
||||
|
|
|
@ -2374,6 +2374,33 @@ EAPI void evas_post_event_callback_remove_full (Evas *e, Evas_Objec
|
|||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* Set the default set of flags an event begins with
|
||||
*
|
||||
* @param e The canvas to set the default event flags of
|
||||
* @param flags The default flags to use
|
||||
*
|
||||
* Events in evas can have an event_flags member. This starts out with
|
||||
* and initial value (no flags). this lets you set the default flags that
|
||||
* an event begins with to be @p flags
|
||||
*
|
||||
* @since 1.2
|
||||
*/
|
||||
EAPI void evas_event_default_flags_set (Evas *e, Evas_Event_Flags flags) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Get the defaulty set of flags an event begins with
|
||||
*
|
||||
* @param e The canvas to get the default event flags from
|
||||
* @return The default event flags for that canvas
|
||||
*
|
||||
* This gets the default event flags events are produced with when fed in.
|
||||
*
|
||||
* @see evas_event_default_flags_set()
|
||||
* @since 1.2
|
||||
*/
|
||||
EAPI Evas_Event_Flags evas_event_default_flags_get (const Evas *e) EINA_ARG_NONNULL(1);
|
||||
|
||||
/**
|
||||
* Freeze all input events processing.
|
||||
*
|
||||
|
|
|
@ -135,6 +135,24 @@ evas_event_list_copy(Eina_List *list)
|
|||
}
|
||||
/* public functions */
|
||||
|
||||
EAPI void
|
||||
evas_event_default_flags_set(Evas *e, Evas_Event_Flags flags)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return;
|
||||
MAGIC_CHECK_END();
|
||||
e->default_event_flags = flags;
|
||||
}
|
||||
|
||||
EAPI Evas_Event_Flags
|
||||
evas_event_default_flags_get(const Evas *e)
|
||||
{
|
||||
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
|
||||
return EVAS_EVENT_FLAG_ON_HOLD;
|
||||
MAGIC_CHECK_END();
|
||||
return e->default_event_flags;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
evas_event_freeze(Evas *e)
|
||||
{
|
||||
|
@ -225,7 +243,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int
|
|||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* append new touch point to the touch point list */
|
||||
|
@ -295,7 +313,7 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data)
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
/* get new list of ins */
|
||||
ins = evas_event_objects_event_list(e, NULL, e->pointer.x, e->pointer.y);
|
||||
|
@ -339,7 +357,7 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data)
|
|||
ev_in.modifiers = &(e->modifiers);
|
||||
ev_in.locks = &(e->locks);
|
||||
ev_in.timestamp = timestamp;
|
||||
ev_in.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev_in.event_flags = e->default_event_flags;
|
||||
|
||||
EINA_LIST_FOREACH(ins, l, obj_itr)
|
||||
{
|
||||
|
@ -417,7 +435,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t
|
|||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* update released touch point */
|
||||
|
@ -510,7 +528,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestam
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
|
@ -587,7 +605,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
EINA_LIST_FOREACH(copy, l, obj)
|
||||
{
|
||||
|
@ -628,7 +646,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
if (copy) eina_list_free(copy);
|
||||
while (outs)
|
||||
|
@ -683,7 +701,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
ev2.buttons = e->pointer.button;
|
||||
ev2.output.x = e->pointer.x;
|
||||
|
@ -694,7 +712,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
|
|||
ev2.modifiers = &(e->modifiers);
|
||||
ev2.locks = &(e->locks);
|
||||
ev2.timestamp = timestamp;
|
||||
ev2.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev2.event_flags = e->default_event_flags;
|
||||
|
||||
ev3.buttons = e->pointer.button;
|
||||
ev3.output.x = e->pointer.x;
|
||||
|
@ -705,7 +723,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
|
|||
ev3.modifiers = &(e->modifiers);
|
||||
ev3.locks = &(e->locks);
|
||||
ev3.timestamp = timestamp;
|
||||
ev3.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev3.event_flags = e->default_event_flags;
|
||||
|
||||
/* get all new in objects */
|
||||
ins = evas_event_objects_event_list(e, NULL, x, y);
|
||||
|
@ -823,7 +841,7 @@ evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data)
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* get new list of ins */
|
||||
|
@ -879,7 +897,7 @@ evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data)
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* if our mouse button is grabbed to any objects */
|
||||
|
@ -957,7 +975,7 @@ evas_event_feed_multi_down(Evas *e,
|
|||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* append new touch point to the touch point list */
|
||||
|
@ -1039,7 +1057,7 @@ evas_event_feed_multi_up(Evas *e,
|
|||
ev.locks = &(e->locks);
|
||||
ev.flags = flags;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
/* update released touch point */
|
||||
|
@ -1122,7 +1140,7 @@ evas_event_feed_multi_move(Evas *e,
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
EINA_LIST_FOREACH(copy, l, obj)
|
||||
|
@ -1175,7 +1193,7 @@ evas_event_feed_multi_move(Evas *e,
|
|||
ev.modifiers = &(e->modifiers);
|
||||
ev.locks = &(e->locks);
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
/* get all new in objects */
|
||||
ins = evas_event_objects_event_list(e, NULL, x, y);
|
||||
|
@ -1257,7 +1275,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch
|
|||
ev.string = string;
|
||||
ev.compose = compose;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
if (e->grabs)
|
||||
{
|
||||
|
@ -1343,7 +1361,7 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char
|
|||
ev.string = string;
|
||||
ev.compose = compose;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
if (e->grabs)
|
||||
{
|
||||
|
@ -1422,7 +1440,7 @@ evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data
|
|||
ev.hold = hold;
|
||||
ev.data = (void *)data;
|
||||
ev.timestamp = timestamp;
|
||||
ev.event_flags = EVAS_EVENT_FLAG_NONE;
|
||||
ev.event_flags = e->default_event_flags;
|
||||
|
||||
_evas_walk(e);
|
||||
copy = evas_event_list_copy(e->pointer.object.in);
|
||||
|
|
|
@ -338,6 +338,7 @@ struct _Evas
|
|||
|
||||
int walking_list;
|
||||
int events_frozen;
|
||||
Evas_Event_Flags default_event_flags;
|
||||
|
||||
struct {
|
||||
Evas_Module *module;
|
||||
|
|
Loading…
Reference in New Issue