summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_grid.eo
blob: 393b5337546f99d89563d495024f33f066197425 (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
class Evas.Grid (Evas.Smart_Clipped)
{
   legacy_prefix: evas_object_grid;
   eo_prefix: evas_obj_grid;
   properties {
      mirrored {
         set {
            /*@
            Sets the mirrored mode of the grid. In mirrored mode the grid items go
            from right to left instead of left to right. That is, 0,0 is top right, not
            to left.

            @since 1.1 */
         }
         get {
            /*@
            Gets the mirrored mode of the grid.

            @return @c EINA_TRUE if it's a mirrored grid, @c EINA_FALSE otherwise.
            @see evas_object_grid_mirrored_set()
            @since 1.1 */
         }
         values {
            bool mirrored; /*@ the mirrored mode to set */
         }
      }
      size {
         set {
            /*@
            Set the virtual resolution for the grid

            @since 1.1 */
         }
         get {
            /*@
            Get the current virtual resolution

            @see evas_object_grid_size_set()
            @since 1.1 */
         }
         values {
            int w; /*@ The virtual horizontal size (resolution) in integer units */
            int h; /*@ The virtual vertical size (resolution) in integer units */
         }
      }
      children {
         get {
            /*@
            Get the list of children for the grid.

            @note This is a duplicate of the list kept by the grid internally.
            It's up to the user to destroy it when it no longer needs it.
            It's possible to remove objects from the grid when walking this
            list, but these removals won't be reflected on it.
            @since 1.1 */
            return: free(own(list<Evas.Object *> *), eina_list_free) @warn_unused;
         }
      }
   }
   methods {
      accessor_new @const {
         /*@
         Get an accessor to get random access to the list of children for the grid.

         @note Do not remove or delete objects while walking the list.
         @since 1.1 */
         return: free(own(accessor<Evas.Object *> *), eina_accessor_free)
            @warn_unused;
      }
      clear {
         /*@
         Faster way to remove all child objects from a grid object.

         @since 1.1 */

         params {
            @in bool clear; /*@ if true, it will delete just removed children. */
         }
      }
      iterator_new @const {
         /*@
         Get an iterator to walk the list of children for the grid.

         @note Do not remove or delete objects while walking the list.
         @since 1.1 */
         return: free(own(iterator<Evas.Object *> *), eina_iterator_free)
            @warn_unused;
      }
      add_to {
         /*@
         Create a grid that is child of a given element @a parent.

         @see evas_object_grid_add()
         @since 1.1 */

         return: Evas_Object * @warn_unused;
      }
      unpack {
         /*@
         Remove child from grid.

         @note removing a child will immediately call a walk over children in order
         to recalculate numbers of columns and rows. If you plan to remove
         all children, use evas_object_grid_clear() instead.

         @return 1 on success, 0 on failure.
         @since 1.1 */

         return: bool;
         params {
            @in Evas_Object *child @nonull;
         }
      }
      pack_get @const {
         /*@
         Get the pack options for a grid child

         Get the pack x, y, width and height in virtual coordinates set by
         evas_object_grid_pack()
         @return 1 on success, 0 on failure.
         @since 1.1 */
         return: bool;
         params {
            @in Evas_Object *child; /*@ The grid child to query for coordinates */
            @out int x; /*@ The pointer to where the x coordinate will be returned */
            @out int y; /*@ The pointer to where the y coordinate will be returned */
            @out int w; /*@ The pointer to where the width will be returned */
            @out int h; /*@ The pointer to where the height will be returned */
         }
      }
      pack {
         /*@
         Add a new child to a grid object.

         @return 1 on success, 0 on failure.
         @since 1.1 */

         return: bool;
         params {
            @in Evas_Object *child @nonull; /*@ The child object to add. */
            @in int x; /*@ The virtual x coordinate of the child */
            @in int y; /*@ The virtual y coordinate of the child */
            @in int w; /*@ The virtual width of the child */
            @in int h; /*@ The virtual height of the child */
         }
      }
   }
   implements {
      Eo.Base.constructor;
   }
}