no NEWS update ? (same for ecore_evas extn) Vincent
On Fri, Dec 16, 2011 at 10:24 AM, Enlightenment SVN <[email protected]> wrote: > Log: > Add new api to set and get default event flags. > > > > Author: raster > Date: 2011-12-16 01:24:18 -0800 (Fri, 16 Dec 2011) > New Revision: 66275 > Trac: http://trac.enlightenment.org/e/changeset/66275 > > Modified: > trunk/evas/ChangeLog trunk/evas/src/lib/Evas.h > trunk/evas/src/lib/canvas/evas_events.c > trunk/evas/src/lib/include/evas_private.h > > Modified: trunk/evas/ChangeLog > =================================================================== > --- trunk/evas/ChangeLog 2011-12-16 09:07:41 UTC (rev 66274) > +++ trunk/evas/ChangeLog 2011-12-16 09:24:18 UTC (rev 66275) > @@ -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. > + > > Modified: trunk/evas/src/lib/Evas.h > =================================================================== > --- trunk/evas/src/lib/Evas.h 2011-12-16 09:07:41 UTC (rev 66274) > +++ trunk/evas/src/lib/Evas.h 2011-12-16 09:24:18 UTC (rev 66275) > @@ -2375,6 +2375,33 @@ > */ > > /** > + * 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. > * > * @param e The canvas to freeze input events processing on. > > Modified: trunk/evas/src/lib/canvas/evas_events.c > =================================================================== > --- trunk/evas/src/lib/canvas/evas_events.c 2011-12-16 09:07:41 UTC (rev > 66274) > +++ trunk/evas/src/lib/canvas/evas_events.c 2011-12-16 09:24:18 UTC (rev > 66275) > @@ -136,6 +136,24 @@ > /* 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) > { > MAGIC_CHECK(e, Evas, MAGIC_EVAS); > @@ -225,7 +243,7 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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 @@ > 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); > > Modified: trunk/evas/src/lib/include/evas_private.h > =================================================================== > --- trunk/evas/src/lib/include/evas_private.h 2011-12-16 09:07:41 UTC (rev > 66274) > +++ trunk/evas/src/lib/include/evas_private.h 2011-12-16 09:24:18 UTC (rev > 66275) > @@ -338,6 +338,7 @@ > > int walking_list; > int events_frozen; > + Evas_Event_Flags default_event_flags; > > struct { > Evas_Module *module; > > > ------------------------------------------------------------------------------ > Learn Windows Azure Live! Tuesday, Dec 13, 2011 > Microsoft is holding a special Learn Windows Azure training event for > developers. It will provide a great way to learn Windows Azure and what it > provides. You can attend the event by watching it streamed LIVE online. > Learn more at http://p.sf.net/sfu/ms-windowsazure > _______________________________________________ > enlightenment-svn mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn ------------------------------------------------------------------------------ Learn Windows Azure Live! Tuesday, Dec 13, 2011 Microsoft is holding a special Learn Windows Azure training event for developers. It will provide a great way to learn Windows Azure and what it provides. You can attend the event by watching it streamed LIVE online. Learn more at http://p.sf.net/sfu/ms-windowsazure _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
