summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_gfx_stack.eo
blob: 54a00cd8d12a3a3be394b6a5ea2d9178576b3a38 (plain) (blame)
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
interface Efl.Gfx.Stack {
   legacy_prefix: null;
   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 @b 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 @b 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 Be careful, it doesn't make sense to change the layer of
            smart objects' children. Smart objects have a layer of their own,
            which should contain all their children objects.

            @see evas_object_layer_get() */
         }
         get {
            /*@
            Retrieves the layer of its canvas that the given object is part of.

            @return  Number of its layer

            @see evas_object_layer_set() */
         }
         values {
            short l; /*@ The number of the layer to place the object on.
            Must be between #EVAS_LAYER_MIN and #EVAS_LAYER_MAX. */
         }
      }
      @property below {
         get {
            /*@
            Get the Evas object stacked right below @p obj

            @return the #Efl_Gfx_Stack directly below @p obj, if any, or @c NULL,
            if none

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

            @see evas_object_layer_get()
            @see evas_object_layer_set()
            @see evas_object_below_get() */
            return: Efl_Gfx_Stack * @warn_unused;
         }
      }
      @property above {
         get {
            /*@
            Get the Evas object stacked right above @p obj

            @return the #Efl_Gfx_Stack directly above @p obj, if any, or @c NULL,
            if none

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

            @see evas_object_layer_get()
            @see evas_object_layer_set()
            @see evas_object_below_get() */
            return: Efl_Gfx_Stack * @warn_unused;
         }
      }
      stack_below {
         /*@
         Stack @p obj immediately below @p below

         Objects, in a given canvas, are stacked in the order they get added
         to it.  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.

         This function is intended to be used with <b>objects belonging to
         the same layer</b> in a given canvas, otherwise it will fail (and
         accomplish nothing).

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

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

         @see evas_object_layer_get()
         @see evas_object_layer_set()
         @see evas_object_stack_below() */

         params {
            @in Efl_Gfx_Stack *below @nonull; /*@ the object below which to stack */
         }
      }
      raise {
         /*@
         Raise @p obj to the top of its layer.

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

         @see evas_object_stack_above()
         @see evas_object_stack_below()
         @see evas_object_lower() */

      }
      stack_above {
         /*@
         Stack @p obj immediately above @p above

         Objects, in a given canvas, are stacked in the order they get added
         to it.  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.

         This function is intended to be used with <b>objects belonging to
         the same layer</b> in a given canvas, otherwise it will fail (and
         accomplish nothing).

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

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

         @see evas_object_layer_get()
         @see evas_object_layer_set()
         @see evas_object_stack_below() */

         params {
            @in Efl_Gfx_Stack *above @nonull; /*@ the object above which to stack */
         }
      }
      lower {
         /*@
         Lower @p obj to the bottom of its layer.

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

         @see evas_object_stack_above()
         @see evas_object_stack_below()
         @see evas_object_raise() */

      }
   }
}