Clutter Reference Manual: ClutterBox

## ClutterBox ClutterBox — A Generic layout container |

## Functions

ClutterActor * | clutter_box_new ()
void | clutter_box_set_layout_manager ()
ClutterLayoutManager * | clutter_box_get_layout_manager ()
void | clutter_box_set_color ()
void | clutter_box_get_color ()
void | clutter_box_pack ()
void | clutter_box_packv ()
void | clutter_box_pack_after ()
void | clutter_box_pack_before ()
void | clutter_box_pack_at ()

## Properties

ClutterColor * | color | Read / Write
gboolean | color-set | Read / Write

## Types and Values

struct | ClutterBox
struct | ClutterBoxClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── ClutterActor
                ╰── ClutterBox

## Implemented Interfaces

ClutterBox implements ClutterContainer, ClutterScriptable, ClutterAnimatable and AtkImplementorIface.

## Description

ClutterBox is a ClutterActor sub-class implementing the ClutterContainer interface. A Box delegates the whole size requisition and size allocation to a ClutterLayoutManager instance.

ClutterBox is available since Clutter 1.2

## Functions

### clutter_box_new ()

    ClutterActor *
    clutter_box_new (ClutterLayoutManager *manager);

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

Use `clutter_actor_new()` instead.

Creates a new ClutterBox. The children of the box will be layed out by the passed `manager`

#### Parameters

manager | a ClutterLayoutManager |

#### Returns

the newly created ClutterBox actor

Since 1.2

### clutter_box_set_layout_manager ()

    void
    clutter_box_set_layout_manager (ClutterBox *box,
                                    ClutterLayoutManager *manager);

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

Use `clutter_actor_set_layout_manager()` instead.

Sets the ClutterLayoutManager for `box`

A ClutterLayoutManager is a delegate object that controls the layout of the children of `box`

#### Parameters

box | a ClutterBox |
manager | a ClutterLayoutManager |

Since 1.2

### clutter_box_get_layout_manager ()

    ClutterLayoutManager *
    clutter_box_get_layout_manager (ClutterBox *box);

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

Use `clutter_actor_get_layout_manager()` instead.

Retrieves the ClutterLayoutManager instance used by `box`

#### Parameters

box | a ClutterBox |

#### Returns

a ClutterLayoutManager. The returned ClutterLayoutManager is owned by the ClutterBox and it should not be unreferenced.

[transfer none]

Since 1.2

### clutter_box_set_color ()

    void
    clutter_box_set_color (ClutterBox *box,
                           const ClutterColor *color);

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

Use `clutter_actor_set_background_color()` instead.

Sets (or unsets) the background color for `box`

#### Parameters

box | a ClutterBox |
color | the background color, or `NULL` to unset. | [allow-none]

Since 1.2

### clutter_box_get_color ()

    void
    clutter_box_get_color (ClutterBox *box,
                           ClutterColor *color);

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

Use `clutter_actor_get_background_color()` instead.

Retrieves the background color of `box`

If the “color-set” property is set to `FALSE` the returned ClutterColor is undefined

#### Parameters

box | a ClutterBox |
color | return location for a ClutterColor. | [out caller-allocates]

Since 1.2

### clutter_box_pack ()

    void
    clutter_box_pack (ClutterBox *box,
                      ClutterActor *actor,
                      const gchar *first_property,
                      ...);

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

Use `clutter_actor_add_child()` instead.

Adds `actor` to `box` and sets layout properties at the same time, if the ClutterLayoutManager used by `box` has them

This function is a wrapper around `clutter_container_add_actor()` and `clutter_layout_manager_child_set()`

Language bindings should use the vector-based `clutter_box_packv()` variant instead

#### Parameters

box | a ClutterBox |
actor | a ClutterActor |
first_property | the name of the first property to set, or `NULL` |
... | a list of property name and value pairs, terminated by `NULL` |

Since 1.2

### clutter_box_packv ()

    void
    clutter_box_packv (ClutterBox *box,
                       ClutterActor *actor,
                       guint n_properties,
                       const gchar * const properties[],
                       const GValue *values);

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

Use `clutter_actor_add_child()` instead.

Vector-based variant of `clutter_box_pack()`, intended for language bindings to use

#### Parameters

box | a ClutterBox |
actor | a ClutterActor |
n_properties | the number of properties to set |
properties | a vector containing the property names to set. | [array length=n_properties][element-type utf8]
values | a vector containing the property values to set. | [array length=n_properties]

Since 1.2

### clutter_box_pack_after ()

    void
    clutter_box_pack_after (ClutterBox *box,
                            ClutterActor *actor,
                            ClutterActor *sibling,
                            const gchar *first_property,
                            ...);

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

Use `clutter_actor_insert_child_above()` instead.

Adds `actor` to `box` , placing it after `sibling` , and sets layout properties at the same time, if the ClutterLayoutManager used by `box` supports them

If `sibling` is `NULL` then `actor` is placed at the end of the list of children, to be allocated and painted after every other child

This function is a wrapper around `clutter_container_add_actor()`, `clutter_container_raise_child()` and `clutter_layout_manager_child_set()`

#### Parameters

box | a ClutterBox |
actor | a ClutterActor |
sibling | a ClutterActor or `NULL`. | [allow-none]
first_property | the name of the first property to set, or `NULL` |
... | a list of property name and value pairs, terminated by `NULL` |

Since 1.2

### clutter_box_pack_before ()

    void
    clutter_box_pack_before (ClutterBox *box,
                             ClutterActor *actor,
                             ClutterActor *sibling,
                             const gchar *first_property,
                             ...);

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

Use `clutter_actor_insert_child_below()` instead.

Adds `actor` to `box` , placing it before `sibling` , and sets layout properties at the same time, if the ClutterLayoutManager used by `box` supports them

If `sibling` is `NULL` then `actor` is placed at the beginning of the list of children, to be allocated and painted below every other child

This function is a wrapper around `clutter_container_add_actor()`, `clutter_container_lower_child()` and `clutter_layout_manager_child_set()`

#### Parameters

box | a ClutterBox |
actor | a ClutterActor |
sibling | a ClutterActor or `NULL`. | [allow-none]
first_property | the name of the first property to set, or `NULL` |
... | a list of property name and value pairs, terminated by `NULL` |

Since 1.2

### clutter_box_pack_at ()

    void
    clutter_box_pack_at (ClutterBox *box,
                         ClutterActor *actor,
                         gint position,
                         const gchar *first_property,
                         ...);

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

Use `clutter_actor_insert_child_at_index()` instead.

Adds `actor` to `box` , placing it at `position` , and sets layout properties at the same time, if the ClutterLayoutManager used by `box` supports them

If `position` is a negative number, or is larger than the number of children of `box` , the new child is added at the end of the list of children

#### Parameters

box | a ClutterBox |
actor | a ClutterActor |
position | the position to insert the `actor` at |
first_property | the name of the first property to set, or `NULL` |
... | a list of property name and value pairs, terminated by `NULL` |

Since 1.2

## Types and Values

### struct ClutterBox

    struct ClutterBox;

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

Since 1.2

### struct ClutterBoxClass

    struct ClutterBoxClass {
    };

The ClutterBoxClass structure contains only private data

Since 1.2

## Property Details

### The `“color”` property

      “color”                    ClutterColor *

The color to be used to paint the background of the ClutterBox. Setting this property will set the “color-set” property as a side effect

Flags: Read / Write

Since 1.2

### The `“color-set”` property

      “color-set”                gboolean

Whether the “color” property has been set

Flags: Read / Write

Default value: FALSE

Since 1.2