From 80db4c0c220db9a04089729f159df5dab8835811 Mon Sep 17 00:00:00 2001 From: Xavi Artigas Date: Wed, 4 Apr 2018 12:46:41 +0200 Subject: Efl.Canvas.Event_Grabber (from Efl.Canvas.Object.Event.Grabber) Ref https://phab.enlightenment.org/T6847 Reviewed-by: Cedric Bail --- src/lib/evas/canvas/efl_canvas_event_grabber.eo | 49 +++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/lib/evas/canvas/efl_canvas_event_grabber.eo (limited to 'src/lib/evas/canvas/efl_canvas_event_grabber.eo') diff --git a/src/lib/evas/canvas/efl_canvas_event_grabber.eo b/src/lib/evas/canvas/efl_canvas_event_grabber.eo new file mode 100644 index 0000000000..53019d385e --- /dev/null +++ b/src/lib/evas/canvas/efl_canvas_event_grabber.eo @@ -0,0 +1,49 @@ +class Efl.Canvas.Event_Grabber (Efl.Canvas.Group) +{ + [[Low-level rectangle object. + + This provides a smart version of the typical "event rectangle", + which allows objects to set this as their parent and route events + to a group of objects. Events will not propagate to non-member objects + below this object. + + Adding members is done just like a normal smart object, using + efl_canvas_group_member_add (Eo API) or evas_object_smart_member_add (legacy). + + Child objects are not modified in any way, unlike other types of smart objects. + + No child objects should be stacked above the event + grabber parent while the grabber is visible. + A critical error will be raised if this is detected. + + @since 1.20 + ]] + data: Efl_Object_Event_Grabber_Data; + legacy_prefix: evas_object_event_grabber; + methods { + @property freeze_when_visible { + [[Stops the grabber from updating its internal stacking order while visible]] + values { + set: bool; [[If $true, stop updating]] + } + set {} + get {} + } + } + implements { + class.constructor; + Efl.Object.constructor; + Efl.Object.destructor; + Efl.Canvas.Group.group_member_add; + Efl.Canvas.Group.group_member_del; + Efl.Canvas.Group.group_member_is; + Efl.Canvas.Group.group_members_iterate; + Efl.Canvas.Group.group_calculate; + Efl.Canvas.Group.group_change; + Efl.Canvas.Group.group_need_recalculate { get; set; } + Efl.Gfx.position { set; } + Efl.Gfx.size { set; } + Efl.Gfx.visible { get; set; } + Efl.Gfx.Stack.layer { set; } + } +} -- cgit v1.2.1