### Function

# Gtkdistribute_natural_allocation

#### Declaration [src]

    int
    gtk_distribute_natural_allocation (
      int extra_space,
      guint n_requested_sizes,
      GtkRequestedSize* sizes
    )

#### Description [src]

Distributes `extra_space` to child `sizes` by bringing smaller children up to natural size first.

The remaining space will be added to the `minimum_size` member of the `GtkRequestedSize` struct. If all sizes reach their natural size then the remaining space is returned.

#### Parameters

`extra_space`

  Type: `int`

  Extra space to redistribute among children after subtracting minimum sizes and any child padding from the overall allocation.

`n_requested_sizes`

  Type: `guint`

  Number of requests to fit into the allocation.

`sizes`

  Type: An array of `GtkRequestedSize`

  An array of structs with a client pointer and a minimum/natural size in the orientation of the allocation.

  The length of the array is specified in the `n_requested_sizes` argument.
  The data is owned by the caller of the function.

#### Return value

Type: `int`

The remainder of `extra_space` after redistributing space to `sizes`.