summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_gfx_stack.eo
blob: 744ed78a592819b3fbede6851889fa3e41846c14 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
const Efl.Gfx.Stack.Layer.Min: short = -32768; [[bottom-most layer number]]
const Efl.Gfx.Stack.Layer.Max: short = 32767;  [[top-most layer number]]

interface Efl.Gfx.Stack
{
   [[Efl graphics stack interface]]
   event_prefix: efl_gfx;
   methods {
      @property layer {
         set {
            [[Sets the layer of its canvas that the given object will be part of.

              If you don't use this function, you'll be dealing with an unique
              layer of objects (the default one). Additional layers are handy when
              you don't want a set of objects to interfere with another set with
              regard to stacking. Two layers are completely disjoint in that
              matter.

              This is a low-level function, which you'd be using when something
              should be always on top, for example.

              Warning: Don't change the layer of
              smart objects' children. Smart objects have a layer of their own,
              which should contain all their child objects.

              See also @.layer.get()]]
         }
         get {
            [[Retrieves the layer of its canvas that the given object is part of.

              See also @.layer.set()]]
         }
         values {
            l: short; [[The number of the layer to place the object on.
                        Must be between #EFL_GFX_STACK_LAYER_MIN and #EFL_GFX_STACK_LAYER_MAX.]]
         }
      }
      @property below {
         get {
            [[Get the Evas object stacked right below $obj

              This function will traverse layers in its search, if there are
              objects on layers below the one $obj is placed at.

              See also @.layer.get(), @.layer.set() and @.below.get()]]
            return: Efl.Gfx.Stack @warn_unused; [[The #Efl_Gfx_Stack directly below $obj, if any,
                                                    or $null, if none]]
         }
      }
      @property above {
         get {
            [[Get the Evas object stacked right above $obj

              This function will traverse layers in its search, if there are
              objects on layers above the one $obj is placed at.

              See also @.layer.get(), @.layer.set() and @.below.get()]]
            return: Efl.Gfx.Stack @warn_unused; [[The #Efl_Gfx_Stack directly below $obj, if any,
                                                    or $null, if none]]
         }
      }
      stack_below {
         [[Stack $obj immediately $below

           Objects, in a given canvas, are stacked in the order they're added.
           This means that, if they overlap, the highest ones will
           cover the lowest ones, in that order. This function is a way to
           change the stacking order for the objects.

           Its intended to be used with objects belonging to
           the same layer in a given canvas, otherwise it will fail (and
           accomplish nothing).

           If you have smart objects on your canvas and $obj is a member of
           one of them, then $below must also be a member of the same
           smart object.

           Similarly, if $obj is not a member of a smart object, $below
           must not be either.

           See also @.layer.get(), @.layer.set() and @.stack_below()]]

         params {
            @in below: Efl.Gfx.Stack @nonull; [[The object below which to stack]]
         }
      }
      raise {
         [[Raise $obj to the top of its layer.

           $obj will, then, be the highest one in the layer it belongs
           to. Object on other layers won't get touched.

           See also @.stack_above(), @.stack_below() and @.lower()]]

      }
      stack_above {
         [[Stack $obj immediately $above

           Objects, in a given canvas, are stacked in the order they're added.
           This means that, if they overlap, the highest ones will
           cover the lowest ones, in that order. This function is a way to
           change the stacking order for the objects.

           Its intended to be used with objects belonging to
           the same layer in a given canvas, otherwise it will fail (and
           accomplish nothing).

           If you have smart objects on your canvas and $obj is a member of
           one of them, then $above must also be a member of the same
           smart object.

           Similarly, if $obj is not a member of a smart object, $above
           must not be either.

           See also @.layer.get(), @.layer.set() and @.stack_below()]]

         params {
            @in above: Efl.Gfx.Stack @nonull; [[The object above which to stack]]
         }
      }
      lower {
         [[Lower $obj to the bottom of its layer.

           $obj will, then, be the lowest one in the layer it belongs
           to. Objects on other layers won't get touched.

           See also @.stack_above(), @.stack_below() and @.raise() ]]

      }
   }
   events {
      restack; [[Object stacking was changed.]]
   }
}