## Stage Manager

Stage Manager — Maintains the list of stages

## Synopsis

                        ClutterStageManager;
    struct              ClutterStageManagerClass;
    ClutterStageManager * clutter_stage_manager_get_default (void);
    void                clutter_stage_manager_set_default_stage
                                                            (ClutterStageManager *stage_manager,
                                                             ClutterStage *stage);
    ClutterStage *        clutter_stage_manager_get_default_stage
                                                            (ClutterStageManager *stage_manager);
    GSList *              clutter_stage_manager_list_stages (ClutterStageManager *stage_manager);
    const GSList *        clutter_stage_manager_peek_stages (ClutterStageManager *stage_manager);

## Object Hierarchy

      GObject
       +----ClutterStageManager

## Properties

      "default-stage"            ClutterStage*         : Read

## Signals

      "stage-added"                                    : Run Last
      "stage-removed"                                  : Run Last

## 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

## Details

### 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

### 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);

### Warning

`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.

`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.

`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.

`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.

`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

## Property Details

### The `"default-stage"` property

      "default-stage"            ClutterStage*         : Read

The default stage used by Clutter.

Since 0.8

## Signal Details

### The `"stage-added"` signal

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

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

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

Since 0.8

### The `"stage-removed"` signal

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

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

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

Since 0.8