ClutterActor * _clutter_backend_create_stage (ClutterBackend *backend, ClutterStage *wrapper, GError **error) { ClutterBackendClass *klass; ClutterStageManager *stage_manager; ClutterActor *stage = NULL; g_return_val_if_fail (CLUTTER_IS_BACKEND (backend), FALSE); g_return_val_if_fail (CLUTTER_IS_STAGE (wrapper), FALSE); stage_manager = clutter_stage_manager_get_default (); klass = CLUTTER_BACKEND_GET_CLASS (backend); if (klass->create_stage) stage = klass->create_stage (backend, wrapper, error); if (!stage) return NULL; g_assert (CLUTTER_IS_STAGE_WINDOW (stage)); _clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage)); _clutter_stage_manager_add_stage (stage_manager, wrapper); return stage; }
/** * clutter_stage_manager_set_default_stage: * @stage_manager: a #ClutterStageManager * @stage: a #ClutterStage * * Sets @stage as the default stage. * * Since: 0.8 */ void clutter_stage_manager_set_default_stage (ClutterStageManager *stage_manager, ClutterStage *stage) { g_return_if_fail (CLUTTER_IS_STAGE_MANAGER (stage_manager)); g_return_if_fail (CLUTTER_IS_STAGE (stage)); if (!g_slist_find (stage_manager->stages, stage)) _clutter_stage_manager_add_stage (stage_manager, stage); default_stage = stage; g_object_notify (G_OBJECT (stage_manager), "default-stage"); }