## Stage Manager

Stage Manager — Maintains the list of stages

## Functions

ClutterStageManager * | clutter_stage_manager_get_default ()
void | clutter_stage_manager_set_default_stage ()
ClutterStage * | clutter_stage_manager_get_default_stage ()
GSList * | clutter_stage_manager_list_stages ()
const GSList * | clutter_stage_manager_peek_stages ()

## Properties

ClutterStage * | default-stage | Read

## Signals

void | stage-added | Run Last
void | stage-removed | Run Last

## Types and Values

| ClutterStageManager
struct | ClutterStageManagerClass

## Object Hierarchy

        GObject
        ╰── ClutterStageManager

## Description

ClutterStageManager is a singleton object, owned by Clutter, which maintains the list of currently active stages

Every newly-created ClutterStage will cause the emission of the “stage-added” signal; once a ClutterStage has been destroyed, the “stage-removed” signal will be emitted

ClutterStageManager is available since Clutter 0.8

## Functions

### clutter_stage_manager_get_default ()

    ClutterStageManager *
    clutter_stage_manager_get_default (void);

Returns the default ClutterStageManager.

#### Returns

the default stage manager instance. The returned object is owned by Clutter and you should not reference or unreference it.

[transfer none]

Since: 0.8

### clutter_stage_manager_set_default_stage ()

    void
    clutter_stage_manager_set_default_stage
                                   (ClutterStageManager *stage_manager,
                                    ClutterStage *stage);

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

Calling this function has no effect

Sets `stage` as the default stage.

#### Parameters

stage_manager | a ClutterStageManager |
stage | a ClutterStage |

Since: 0.8

### clutter_stage_manager_get_default_stage ()

    ClutterStage *
    clutter_stage_manager_get_default_stage
                                   (ClutterStageManager *stage_manager);

Returns the default ClutterStage.

#### Parameters

stage_manager | a ClutterStageManager |

#### Returns

the default stage. The returned object is owned by Clutter and you should never reference or unreference it.

[transfer none]

Since: 0.8

### clutter_stage_manager_list_stages ()

    GSList *
    clutter_stage_manager_list_stages (ClutterStageManager *stage_manager);

Lists all currently used stages.

#### Parameters

stage_manager | a ClutterStageManager |

#### Returns

a newly allocated list of ClutterStage objects. Use `g_slist_free()` to deallocate it when done.

[transfer container][element-type Clutter.Stage]

Since: 0.8

### clutter_stage_manager_peek_stages ()

    const GSList *
    clutter_stage_manager_peek_stages (ClutterStageManager *stage_manager);

Lists all currently used stages.

#### Parameters

stage_manager | a ClutterStageManager |

#### Returns

a pointer to the internal list of ClutterStage objects. The returned list is owned by the ClutterStageManager and should never be modified or freed.

[transfer none][element-type Clutter.Stage]

Since: 1.0

## Types and Values

### ClutterStageManager

    typedef struct _ClutterStageManager ClutterStageManager;

The ClutterStageManager structure is private.

Since: 1.0

### struct ClutterStageManagerClass

    struct ClutterStageManagerClass {
    };

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

Since: 1.0

## Property Details

### The `“default-stage”` property

      “default-stage”            ClutterStage *

The default stage used by Clutter.

Flags: Read

Since: 0.8

## Signal Details

### The `“stage-added”` signal

    void
    user_function (ClutterStageManager *stage_manager,
                   ClutterStage        *stage,
                   gpointer             user_data)

The ::stage-added signal is emitted each time a new ClutterStage has been added to the stage manager.

#### Parameters

stage_manager | the object which received the signal |
stage | the added stage |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 0.8

### The `“stage-removed”` signal

    void
    user_function (ClutterStageManager *stage_manager,
                   ClutterStage        *stage,
                   gpointer             user_data)

The ::stage-removed signal is emitted each time a ClutterStage has been removed from the stage manager.

#### Parameters

stage_manager | the object which received the signal |
stage | the removed stage |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since: 0.8