diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am index 572353021a..b1f075e794 100644 --- a/src/Makefile_Evas.am +++ b/src/Makefile_Evas.am @@ -27,7 +27,9 @@ BUILT_SOURCES += \ lib/evas/canvas/evas_object.eo.c \ lib/evas/canvas/evas_object.eo.h \ lib/evas/canvas/evas.eo.c \ - lib/evas/canvas/evas.eo.h + lib/evas/canvas/evas.eo.h \ + lib/evas/canvas/evas_grid.eo.c \ + lib/evas/canvas/evas_grid.eo.h EXTRA_DIST += \ lib/evas/canvas/evas_object.eo \ @@ -42,7 +44,8 @@ EXTRA_DIST += \ lib/evas/canvas/evas_smart_clipped.eo \ lib/evas/canvas/evas_table.eo \ lib/evas/canvas/evas_common_interface.eo \ - lib/evas/canvas/evas.eo + lib/evas/canvas/evas.eo \ + lib/evas/canvas/evas_grid.eo lib_LTLIBRARIES += lib/evas/libevas.la noinst_LTLIBRARIES = @@ -70,7 +73,8 @@ nodist_installed_evascanvasheaders_DATA = \ lib/evas/canvas/evas_table.eo.h \ lib/evas/canvas/evas_common_interface.eo.h \ lib/evas/canvas/evas_object.eo.h \ - lib/evas/canvas/evas.eo.h + lib/evas/canvas/evas.eo.h \ + lib/evas/canvas/evas_grid.eo.h noinst_HEADERS = \ lib/evas/include/evas_inline.x \ diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 6d383e7997..bc391f49c2 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -4256,6 +4256,8 @@ enum * * @{ */ +#include "canvas/evas_grid.eo.h" +#if 0 #define EVAS_OBJ_GRID_CLASS evas_object_grid_class_get() const Eo_Class *evas_object_grid_class_get(void) EINA_CONST; @@ -4451,6 +4453,7 @@ enum */ #define evas_obj_grid_mirrored_set(mirrored) EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, mirrored) +#endif /** * @} */ diff --git a/src/lib/evas/canvas/evas_grid.eo b/src/lib/evas/canvas/evas_grid.eo new file mode 100644 index 0000000000..e573f3611d --- /dev/null +++ b/src/lib/evas/canvas/evas_grid.eo @@ -0,0 +1,155 @@ +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 { + Eina_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 Eina_List * @warn_unused; + } + } + } + methods { + accessor_new { + /*@ + 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 */ + + const; + return Eina_Accessor * @warn_unused; + } + clear { + /*@ + Faster way to remove all child objects from a grid object. + + @since 1.1 */ + + params { + @in Eina_Bool clear; /*@ if true, it will delete just removed children. */ + } + } + iterator_new { + /*@ + 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 */ + + const; + return Eina_Iterator * @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 Eina_Bool; + params { + @in Evas_Object *child @nonull; + } + } + pack_get { + /*@ + 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 */ + + const; + return Eina_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 Eina_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; + } +} diff --git a/src/lib/evas/canvas/evas_object_grid.c b/src/lib/evas/canvas/evas_object_grid.c index 707dd696b8..caf7615e2b 100644 --- a/src/lib/evas/canvas/evas_object_grid.c +++ b/src/lib/evas/canvas/evas_object_grid.c @@ -4,11 +4,9 @@ #include -EAPI Eo_Op EVAS_OBJ_GRID_BASE_ID = EO_NOOP; - #define MY_CLASS EVAS_OBJ_GRID_CLASS -typedef struct _Evas_Object_Grid_Data Evas_Object_Grid_Data; +typedef struct _Evas_Grid_Data Evas_Grid_Data; typedef struct _Evas_Object_Grid_Option Evas_Object_Grid_Option; typedef struct _Evas_Object_Grid_Iterator Evas_Object_Grid_Iterator; typedef struct _Evas_Object_Grid_Accessor Evas_Object_Grid_Accessor; @@ -20,7 +18,7 @@ struct _Evas_Object_Grid_Option int x, y, w, h; }; -struct _Evas_Object_Grid_Data +struct _Evas_Grid_Data { Evas_Object_Smart_Clipped_Data base; Eina_List *children; @@ -47,7 +45,7 @@ struct _Evas_Object_Grid_Accessor }; #define EVAS_OBJECT_GRID_DATA_GET(o, ptr) \ - Evas_Object_Grid_Data *ptr = eo_data_scope_get(o, MY_CLASS) + Evas_Grid_Data *ptr = eo_data_scope_get(o, MY_CLASS) #define EVAS_OBJECT_GRID_DATA_GET_OR_RETURN(o, ptr) \ EVAS_OBJECT_GRID_DATA_GET(o, ptr); \ @@ -165,7 +163,7 @@ EVAS_SMART_SUBCLASS_NEW("Evas_Object_Grid", _evas_object_grid, static void _evas_object_grid_smart_add(Evas_Object *o) { - Evas_Object_Grid_Data *priv; + Evas_Grid_Data *priv; priv = evas_object_smart_data_get(o); if (!priv) @@ -257,8 +255,8 @@ evas_object_grid_add(Evas *evas) return obj; } -static void -_constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_evas_grid_constructor(Eo *obj, Evas_Grid_Data *class_data EINA_UNUSED) { eo_do_super(obj, MY_CLASS, eo_constructor()); eo_do(obj, evas_obj_smart_attach(_evas_object_grid_smart_class_new())); @@ -266,83 +264,40 @@ _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED) // return evas_object_smart_add(evas, _evas_object_grid_smart_class_new()); } -EAPI Evas_Object * -evas_object_grid_add_to(Evas_Object *parent) -{ - Evas_Object *o = NULL; - eo_do(parent, evas_obj_grid_add_to(&o)); - return o; -} - -static void -_add_to(Eo *parent, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Evas_Object* +_evas_grid_add_to(Eo *parent, Evas_Grid_Data *_pd EINA_UNUSED) { Evas *evas; - Evas_Object **ret = va_arg(*list, Evas_Object **); + Evas_Object *ret; evas = evas_object_evas_get(parent); - *ret = evas_object_grid_add(evas); - evas_object_smart_member_add(*ret, parent); + ret = evas_object_grid_add(evas); + evas_object_smart_member_add(ret, parent); + + return ret; } -EAPI void -evas_object_grid_size_set(Evas_Object *o, int w, int h) +EOLIAN static void +_evas_grid_size_set(Eo *o, Evas_Grid_Data *priv, int w, int h) { - eo_do(o, evas_obj_grid_size_set(w, h)); -} - -static void -_size_set(Eo *o, void *_pd, va_list *list) -{ - Evas_Object_Grid_Data *priv = _pd; - int w = va_arg(*list, int); - int h = va_arg(*list, int); - if ((priv->size.w == w) && (priv->size.h == h)) return; priv->size.w = w; priv->size.h = h; evas_object_smart_changed(o); } -EAPI void -evas_object_grid_size_get(const Evas_Object *o, int *w, int *h) +EOLIAN static void +_evas_grid_size_get(Eo *o EINA_UNUSED, Evas_Grid_Data *priv, int *w, int *h) { - eo_do((Eo *)o, evas_obj_grid_size_get(w, h)); -} - -static void -_size_get(Eo *o EINA_UNUSED, void *_pd, va_list *list) -{ - const Evas_Object_Grid_Data *priv = _pd; - int *w = va_arg(*list, int *); - int *h = va_arg(*list, int *); if (w) *w = priv->size.w; if (h) *h = priv->size.h; } -EAPI Eina_Bool -evas_object_grid_pack(Evas_Object *o, Evas_Object *child, int x, int y, int w, int h) -{ - Eina_Bool ret = EINA_FALSE; - eo_do(o, evas_obj_grid_pack(child, x, y, w, h, &ret)); - return ret; -} - -static void -_pack(Eo *o, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_evas_grid_pack(Eo *o, Evas_Grid_Data *priv, Evas_Object *child, int x, int y, int w, int h) { Evas_Object_Grid_Option *opt; Eina_Bool newobj = EINA_FALSE; - Evas_Object_Grid_Data *priv = _pd; - - Evas_Object *child = va_arg(*list, Evas_Object *); - int x = va_arg(*list, int); - int y = va_arg(*list, int); - int w = va_arg(*list, int); - int h = va_arg(*list, int); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - opt = _evas_object_grid_option_get(child); if (!opt) { @@ -350,7 +305,7 @@ _pack(Eo *o, void *_pd, va_list *list) if (!opt) { ERR("could not allocate grid option data."); - return; + return EINA_FALSE; } newobj = EINA_TRUE; } @@ -371,69 +326,48 @@ _pack(Eo *o, void *_pd, va_list *list) } // FIXME: we could keep a changed list evas_object_smart_changed(o); - if (ret) *ret = EINA_TRUE; + + return EINA_TRUE; } static void -_evas_object_grid_remove_opt(Evas_Object_Grid_Data *priv, Evas_Object_Grid_Option *opt) +_evas_object_grid_remove_opt(Evas_Grid_Data *priv, Evas_Object_Grid_Option *opt) { priv->children = eina_list_remove_list(priv->children, opt->l); opt->l = NULL; } -EAPI Eina_Bool -evas_object_grid_unpack(Evas_Object *o, Evas_Object *child) -{ - Eina_Bool ret = EINA_FALSE; - eo_do(o, evas_obj_grid_unpack(child, &ret)); - return ret; -} - -static void -_unpack(Eo *o, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_evas_grid_unpack(Eo *o, Evas_Grid_Data *priv, Evas_Object *child) { Evas_Object_Grid_Option *opt; - Evas_Object_Grid_Data *priv = _pd; - - Evas_Object *child = va_arg(*list, Evas_Object *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; - if (o != evas_object_smart_parent_get(child)) { ERR("cannot unpack child from incorrect grid!"); - return; + return EINA_FALSE; } opt = _evas_object_grid_option_del(child); if (!opt) { ERR("cannot unpack child with no packing option!"); - return; + return EINA_FALSE; } _evas_object_grid_child_disconnect(o, child); _evas_object_grid_remove_opt(priv, opt); evas_object_smart_member_del(child); free(opt); - if (ret) *ret = EINA_TRUE; + + return EINA_TRUE; } -EAPI void -evas_object_grid_clear(Evas_Object *o, Eina_Bool clear) -{ - eo_do(o, evas_obj_grid_clear(clear)); -} - -static void -_clear(Eo *o, void *_pd, va_list *list) +EOLIAN static void +_evas_grid_clear(Eo *o, Evas_Grid_Data *priv, Eina_Bool clear) { Evas_Object_Grid_Option *opt; - Evas_Object_Grid_Data *priv = _pd; - Eina_Bool clear = va_arg(*list, int); - EINA_LIST_FREE(priv->children, opt) { _evas_object_grid_child_disconnect(o, opt->obj); @@ -445,24 +379,9 @@ _clear(Eo *o, void *_pd, va_list *list) } } -EAPI Eina_Bool -evas_object_grid_pack_get(const Evas_Object *o, Evas_Object *child, int *x, int *y, int *w, int *h) +EOLIAN static Eina_Bool +_evas_grid_pack_get(Eo *o EINA_UNUSED, Evas_Grid_Data *_pd EINA_UNUSED, Evas_Object *child, int *x, int *y, int *w, int *h) { - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *)o, evas_obj_grid_pack_get(child, x, y, w, h, &ret)); - return ret; -} - -static void -_pack_get(Eo *o EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) -{ - Evas_Object *child = va_arg(*list, Evas_Object *); - int *x = va_arg(*list, int *); - int *y = va_arg(*list, int *); - int *w = va_arg(*list, int *); - int *h = va_arg(*list, int *); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Evas_Object_Grid_Option *opt; if (x) *x = 0; @@ -470,46 +389,24 @@ _pack_get(Eo *o EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) if (w) *w = 0; if (h) *h = 0; opt = _evas_object_grid_option_get(child); - if (!opt) - { - *ret = 0; - return; - } + if (!opt) return 0; if (x) *x = opt->x; if (y) *y = opt->y; if (w) *w = opt->w; if (h) *h = opt->h; - *ret = 1; + + return 1; } -EAPI Eina_Iterator * -evas_object_grid_iterator_new(const Evas_Object *o) +EOLIAN static Eina_Iterator* +_evas_grid_iterator_new(Eo *o, Evas_Grid_Data *priv) { - Eina_Iterator *ret = NULL; - eo_do((Eo *)o, evas_obj_grid_iterator_new(&ret)); - return ret; -} - -static void -_iterator_new(Eo *o, void *_pd, va_list *list) -{ - Eina_Iterator **ret = va_arg(*list, Eina_Iterator **); Evas_Object_Grid_Iterator *it; - const Evas_Object_Grid_Data *priv = _pd; - - if (!priv->children) - { - *ret = NULL; - return; - } + if (!priv->children) return NULL; it = calloc(1, sizeof(Evas_Object_Grid_Iterator)); - if (!it) - { - *ret = NULL; - return; - } + if (!it) return NULL; EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); @@ -520,37 +417,18 @@ _iterator_new(Eo *o, void *_pd, va_list *list) it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_evas_object_grid_iterator_get_container); it->iterator.free = FUNC_ITERATOR_FREE(_evas_object_grid_iterator_free); - *ret = &it->iterator; + return &it->iterator; } -EAPI Eina_Accessor * -evas_object_grid_accessor_new(const Evas_Object *o) +EOLIAN static Eina_Accessor* +_evas_grid_accessor_new(Eo *o, Evas_Grid_Data *priv) { - Eina_Accessor *ret = NULL; - eo_do((Eo *)o, evas_obj_grid_accessor_new(&ret)); - return ret; -} - -static void -_accessor_new(Eo *o, void *_pd, va_list *list) -{ - Eina_Accessor **ret = va_arg(*list, Eina_Accessor **); Evas_Object_Grid_Accessor *it; - const Evas_Object_Grid_Data *priv = _pd; - - if (!priv->children) - { - *ret = NULL; - return; - } + if (!priv->children) return NULL; it = calloc(1, sizeof(Evas_Object_Grid_Accessor)); - if (!it) - { - *ret = NULL; - return; - } + if (!it) return NULL; EINA_MAGIC_SET(&it->accessor, EINA_MAGIC_ACCESSOR); @@ -561,61 +439,30 @@ _accessor_new(Eo *o, void *_pd, va_list *list) it->accessor.get_container = FUNC_ACCESSOR_GET_CONTAINER(_evas_object_grid_accessor_get_container); it->accessor.free = FUNC_ACCESSOR_FREE(_evas_object_grid_accessor_free); - *ret = &it->accessor; + return &it->accessor; } -EAPI Eina_List * -evas_object_grid_children_get(const Evas_Object *o) +EOLIAN static Eina_List* +_evas_grid_children_get(Eo *o EINA_UNUSED, Evas_Grid_Data *priv) { - Eina_List *ret = NULL; - eo_do((Eo *)o, evas_obj_grid_children_get(&ret)); - return ret; -} - -static void -_children_get(Eo *o EINA_UNUSED, void *_pd, va_list *list) -{ - Eina_List **ret = va_arg(*list, Eina_List **); - Eina_List *new_list = NULL, *l; Evas_Object_Grid_Option *opt; - const Evas_Object_Grid_Data *priv = _pd; - EINA_LIST_FOREACH(priv->children, l, opt) new_list = eina_list_append(new_list, opt->obj); - *ret = new_list; + return new_list; } -EAPI Eina_Bool -evas_object_grid_mirrored_get(const Evas_Object *o) +EOLIAN static Eina_Bool +_evas_grid_mirrored_get(Eo *o EINA_UNUSED, Evas_Grid_Data *priv) { - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *)o, evas_obj_grid_mirrored_get(&ret)); - return ret; + return priv->is_mirrored; } -static void -_mirrored_get(Eo *o EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static void +_evas_grid_mirrored_set(Eo *o EINA_UNUSED, Evas_Grid_Data *priv, Eina_Bool mirrored) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - const Evas_Object_Grid_Data *priv = _pd; - *ret = priv->is_mirrored; -} - -EAPI void -evas_object_grid_mirrored_set(Evas_Object *obj, Eina_Bool mirrored) -{ - eo_do(obj, evas_obj_grid_mirrored_set(mirrored)); -} - -static void -_mirrored_set(Eo *o EINA_UNUSED, void *_pd, va_list *list) -{ - Eina_Bool mirrored = va_arg(*list, int); - - Evas_Object_Grid_Data *priv = _pd; mirrored = !!mirrored; if (priv->is_mirrored != mirrored) { @@ -624,54 +471,4 @@ _mirrored_set(Eo *o EINA_UNUSED, void *_pd, va_list *list) } } -static void -_class_constructor(Eo_Class *klass) -{ - const Eo_Op_Func_Description func_desc[] = { - EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_ADD_TO), _add_to), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_SIZE_SET), _size_set), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_SIZE_GET), _size_get), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_PACK), _pack), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_UNPACK), _unpack), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_CLEAR), _clear), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_PACK_GET), _pack_get), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_ITERATOR_NEW), _iterator_new), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_ACCESSOR_NEW), _accessor_new), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_CHILDREN_GET), _children_get), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_MIRRORED_GET), _mirrored_get), - EO_OP_FUNC(EVAS_OBJ_GRID_ID(EVAS_OBJ_GRID_SUB_ID_MIRRORED_SET), _mirrored_set), - EO_OP_FUNC_SENTINEL - }; - eo_class_funcs_set(klass, func_desc); -} - -static const Eo_Op_Description op_desc[] = { - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_ADD_TO, "Create a grid that is child of a given element parent."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_SIZE_SET, "Set the virtual resolution for the grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_SIZE_GET, "Get the current virtual resolution."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_PACK, "Add a new child to a grid object."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_UNPACK, "Remove child from grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_CLEAR, "Faster way to remove all child objects from a grid object."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_PACK_GET, "Get the pack options for a grid child."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_ITERATOR_NEW, "Get an iterator to walk the list of children for the grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_ACCESSOR_NEW, "Get an accessor to get random access to the list of children for the grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_CHILDREN_GET, "Get the list of children for the grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_MIRRORED_GET, "Gets the mirrored mode of the grid."), - EO_OP_DESCRIPTION(EVAS_OBJ_GRID_SUB_ID_MIRRORED_SET, "Sets the mirrored mode of the grid."), - EO_OP_DESCRIPTION_SENTINEL -}; - -static const Eo_Class_Description class_desc = { - EO_VERSION, - "Evas_Grid", - EO_CLASS_TYPE_REGULAR, - EO_CLASS_DESCRIPTION_OPS(&EVAS_OBJ_GRID_BASE_ID, op_desc, EVAS_OBJ_GRID_SUB_ID_LAST), - NULL, - sizeof(Evas_Object_Grid_Data), - _class_constructor, - NULL -}; - -EO_DEFINE_CLASS(evas_object_grid_class_get, &class_desc, EVAS_OBJ_SMART_CLIPPED_CLASS, NULL); - +#include "canvas/evas_grid.eo.c"