summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_canvas_event_grabber.eo
blob: d36d73cfc572e64e6ff8fa1512c091bef15d6170 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class @beta Efl.Canvas.Event_Grabber extends 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_remove;
      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.Entity.position { set; }
      Efl.Gfx.Entity.size { set; }
      Efl.Gfx.Entity.visible { get; set; }
      Efl.Gfx.Stack.layer { set; }
   }
}