Grid
Elementary

## Functions

void | elm_grid_size_set (Elm_Grid *obj, int w, int h)
| Set the virtual size of the grid.
void | elm_grid_size_get (const Elm_Grid *obj, int *w, int *h)
| Get the virtual size of the grid.
Eina_List * | elm_grid_children_get (const Elm_Grid *obj)
| Get the list of the children for the grid.
void | elm_grid_clear (Elm_Grid *obj, Eina_Bool clear)
| Faster way to remove all child objects from a grid object.
void | elm_grid_unpack (Elm_Grid *obj, Efl_Canvas_Object *subobj)
| Unpack a child from a grid object.
void | elm_grid_pack (Elm_Grid *obj, Efl_Canvas_Object *subobj, int x, int y, int w, int h)
| Pack child at given position and size.
Evas_Object * | elm_grid_add (Evas_Object *parent)
| Add a new grid to the parent.
void | elm_grid_pack_set (Evas_Object *subobj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
| Set packing of an existing child at to position and size.
void | elm_grid_pack_get (Evas_Object *subobj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
| Get packing of a child.

## Detailed Description

The grid is a grid layout widget that lays out a series of children as a fixed "grid" of widgets using a given percentage of the grid width and height each using the child object.

The Grid uses a "Virtual resolution" that is stretched to fill the grid widgets size itself. The default is 100 x 100, so that means the position and sizes of children will effectively be percentages (0 to 100) of the width or height of the grid widget

## Function Documentation

## elm_grid_size_set()

void elm_grid_size_set | ( | Elm_Grid * | obj,
|  | int | w,
|  | int | h )

Set the virtual size of the grid.

Parameters

  [in] | obj | The object.
  [in] | w | The virtual width of the grid
  [in] | h | The virtual height of the grid

## elm_grid_size_get()

void elm_grid_size_get | ( | const Elm_Grid * | obj,
|  | int * | w,
|  | int * | h )

Get the virtual size of the grid.

Parameters

  [in] | obj | The object.
  [out] | w | The virtual width of the grid
  [out] | h | The virtual height of the grid

## elm_grid_children_get()

Eina_List * elm_grid_children_get | ( | const Elm_Grid * | obj | ) |

Get the list of the 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.

Parameters

  [in] | obj | The object.

Returns
  List of children

## elm_grid_clear()

void elm_grid_clear | ( | Elm_Grid * | obj,
|  | Eina_Bool | clear )

Faster way to remove all child objects from a grid object.

Parameters

  [in] | obj | The object.
  [in] | clear | If `true`, it will delete just removed children

## elm_grid_unpack()

void elm_grid_unpack | ( | Elm_Grid * | obj,
|  | Efl_Canvas_Object * | subobj )

Unpack a child from a grid object.

Parameters

  [in] | obj | The object.
  [in] | subobj | The child to unpack

## elm_grid_pack()

void elm_grid_pack | ( | Elm_Grid * | obj,
|  | Efl_Canvas_Object * | subobj,
|  | int | x,
|  | int | y,
|  | int | w,
|  | int | h )

Pack child at given position and size.

Parameters

  [in] | obj | The object.
  [in] | subobj | The child to pack.
  [in] | x | The virtual x coord at which to pack it.
  [in] | y | The virtual y coord at which to pack it.
  [in] | w | The virtual width at which to pack it.
  [in] | h | The virtual height at which to pack it.

## elm_grid_add()

Evas_Object * elm_grid_add | ( | Evas_Object * | parent | ) |

Add a new grid to the parent.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## elm_grid_pack_set()

void elm_grid_pack_set | ( | Evas_Object * | subobj,
|  | Evas_Coord | x,
|  | Evas_Coord | y,
|  | Evas_Coord | w,
|  | Evas_Coord | h )

Set packing of an existing child at to position and size.

Parameters

  subobj | The child to set packing of
  x | The virtual x coord at which to pack it
  y | The virtual y coord at which to pack it
  w | The virtual width at which to pack it
  h | The virtual height at which to pack it

References evas_object_grid_pack().

## elm_grid_pack_get()

void elm_grid_pack_get | ( | Evas_Object * | subobj,
|  | Evas_Coord * | x,
|  | Evas_Coord * | y,
|  | Evas_Coord * | w,
|  | Evas_Coord * | h )

Get packing of a child.

Parameters

  subobj | The child to query
  x | Pointer to integer to store the virtual x coord
  y | Pointer to integer to store the virtual y coord
  w | Pointer to integer to store the virtual width
  h | Pointer to integer to store the virtual height

References evas_object_grid_pack_get().