## ClutterBinLayout

ClutterBinLayout — A simple layout manager

## Functions

ClutterLayoutManager * | clutter_bin_layout_new ()
void | clutter_bin_layout_set_alignment ()
void | clutter_bin_layout_get_alignment ()
void | clutter_bin_layout_add ()

## Properties

ClutterBinAlignment | x-align | Read / Write
ClutterBinAlignment | y-align | Read / Write

## Types and Values

enum | ClutterBinAlignment
struct | ClutterBinLayout
struct | ClutterBinLayoutClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── ClutterLayoutManager
                ╰── ClutterBinLayout

## Description

ClutterBinLayout is a layout manager which implements the following policy:

- the preferred size is the maximum preferred size between all the children of the container using the layout;

- each child is allocated in "layers", on on top of the other;

- for each layer there are horizontal and vertical alignment policies.

The bin-layout example shows how to pack actors inside a ClutterBinLayout.

ClutterBinLayout is available since Clutter 1.2

## Functions

### clutter_bin_layout_new ()

    ClutterLayoutManager *
    clutter_bin_layout_new (ClutterBinAlignment x_align,
                            ClutterBinAlignment y_align);

Creates a new ClutterBinLayout layout manager

#### Parameters

x_align | the default alignment policy to be used on the horizontal axis |
y_align | the default alignment policy to be used on the vertical axis |

#### Returns

the newly created layout manager

Since 1.2

### clutter_bin_layout_set_alignment ()

    void
    clutter_bin_layout_set_alignment (ClutterBinLayout *self,
                                      ClutterActor *child,
                                      ClutterBinAlignment x_align,
                                      ClutterBinAlignment y_align);

`clutter_bin_layout_set_alignment` has been deprecated since version 1.12 and should not be used in newly-written code.

Use the “x-align” and “y-align” properties of ClutterActor instead.

Sets the horizontal and vertical alignment policies to be applied to a `child` of `self`

If `child` is `NULL` then the `x_align` and `y_align` values will be set as the default alignment policies

#### Parameters

self | a ClutterBinLayout |
child | a child of `container` . | [allow-none]
x_align | the horizontal alignment policy to be used for the `child` inside `container` |
y_align | the vertical aligment policy to be used on the `child` inside `container` |

Since 1.2

### clutter_bin_layout_get_alignment ()

    void
    clutter_bin_layout_get_alignment (ClutterBinLayout *self,
                                      ClutterActor *child,
                                      ClutterBinAlignment *x_align,
                                      ClutterBinAlignment *y_align);

`clutter_bin_layout_get_alignment` has been deprecated since version 1.12 and should not be used in newly-written code.

Use the “x-align” and the “y-align” properties of ClutterActor instead.

Retrieves the horizontal and vertical alignment policies for a child of `self`

If `child` is `NULL` the default alignment policies will be returned instead

#### Parameters

self | a ClutterBinLayout |
child | a child of `container` . | [allow-none]
x_align | return location for the horizontal alignment policy. | [out][allow-none]
y_align | return location for the vertical alignment policy. | [out][allow-none]

Since 1.2

### clutter_bin_layout_add ()

    void
    clutter_bin_layout_add (ClutterBinLayout *self,
                            ClutterActor *child,
                            ClutterBinAlignment x_align,
                            ClutterBinAlignment y_align);

`clutter_bin_layout_add` has been deprecated since version 1.12 and should not be used in newly-written code.

Use `clutter_actor_add_child()` instead.

Adds a ClutterActor to the container using `self` and sets the alignment policies for it

This function is equivalent to `clutter_container_add_actor()` and `clutter_layout_manager_child_set_property()` but it does not require a pointer to the ClutterContainer associated to the ClutterBinLayout

#### Parameters

self | a ClutterBinLayout |
child | a ClutterActor |
x_align | horizontal alignment policy for `child` |
y_align | vertical alignment policy for `child` |

Since 1.2

## Types and Values

### enum ClutterBinAlignment

`ClutterBinAlignment` has been deprecated since version 1.12 and should not be used in newly-written code.

Use ClutterActorAlign and the ClutterActor API instead

The alignment policies available on each axis for ClutterBinLayout

#### Members

CLUTTER_BIN_ALIGNMENT_FIXED | Fixed position alignment; the ClutterBinLayout will honour the fixed position provided by the actors themselves when allocating them |
CLUTTER_BIN_ALIGNMENT_FILL | Fill the allocation size |
CLUTTER_BIN_ALIGNMENT_START | Position the actors at the top or left side of the container, depending on the axis |
CLUTTER_BIN_ALIGNMENT_END | Position the actors at the bottom or right side of the container, depending on the axis |
CLUTTER_BIN_ALIGNMENT_CENTER | Position the actors at the center of the container, depending on the axis |

Since 1.2

### struct ClutterBinLayout

    struct ClutterBinLayout;

The ClutterBinLayout structure contains only private data and should be accessed using the provided API

Since 1.2

### struct ClutterBinLayoutClass

    struct ClutterBinLayoutClass {
    };

The ClutterBinLayoutClass structure contains only private data and should be accessed using the provided API

Since 1.2

## Property Details

### The `“x-align”` property

      “x-align”                  ClutterBinAlignment

The default horizontal alignment policy for actors managed by the ClutterBinLayout

`ClutterBinLayout:x-align` has been deprecated since version 1.12 and should not be used in newly-written code.

Use the “x-expand” and the “x-align” properties on ClutterActor instead.

Flags: Read / Write

Default value: CLUTTER_BIN_ALIGNMENT_CENTER

Since 1.2

### The `“y-align”` property

      “y-align”                  ClutterBinAlignment

The default vertical alignment policy for actors managed by the ClutterBinLayout

`ClutterBinLayout:y-align` has been deprecated since version 1.12 and should not be used in newly-written code.

Use the “y-expand” and the “y-align” properties on ClutterActor instead.

Flags: Read / Write

Default value: CLUTTER_BIN_ALIGNMENT_CENTER

Since 1.2