4
* An OpenGL based 'interactive canvas' library.
6
* Copyright (C) 2008 OpenedHand
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
21
* Author: Emmanuele Bassi <ebassi@linux.intel.com>
24
#ifndef __CLUTTER_STAGE_MANAGER_H__
25
#define __CLUTTER_STAGE_MANAGER_H__
27
#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
28
#error "Only <clutter/clutter.h> can be included directly."
31
#include <clutter/clutter-types.h>
35
#define CLUTTER_TYPE_STAGE_MANAGER (clutter_stage_manager_get_type ())
36
#define CLUTTER_STAGE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_STAGE_MANAGER, ClutterStageManager))
37
#define CLUTTER_IS_STAGE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_STAGE_MANAGER))
38
#define CLUTTER_STAGE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_STAGE_MANAGER, ClutterStageManagerClass))
39
#define CLUTTER_IS_STAGE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_STAGE_MANAGER))
40
#define CLUTTER_STAGE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_STAGE_MANAGER, ClutterStageManagerClass))
42
typedef struct _ClutterStageManager ClutterStageManager;
43
typedef struct _ClutterStageManagerClass ClutterStageManagerClass;
46
* ClutterStageManager:
48
* The #ClutterStageManager structure is private.
54
* ClutterStageManagerClass:
56
* The #ClutterStageManagerClass structure contains only private data
57
* and should be accessed using the provided API
61
struct _ClutterStageManagerClass
64
GObjectClass parent_class;
66
void (* stage_added) (ClutterStageManager *stage_manager,
68
void (* stage_removed) (ClutterStageManager *stage_manager,
72
CLUTTER_AVAILABLE_IN_1_0
73
GType clutter_stage_manager_get_type (void) G_GNUC_CONST;
75
CLUTTER_AVAILABLE_IN_1_0
76
ClutterStageManager *clutter_stage_manager_get_default (void);
77
CLUTTER_AVAILABLE_IN_1_0
78
ClutterStage * clutter_stage_manager_get_default_stage (ClutterStageManager *stage_manager);
79
CLUTTER_AVAILABLE_IN_1_0
80
GSList * clutter_stage_manager_list_stages (ClutterStageManager *stage_manager);
81
CLUTTER_AVAILABLE_IN_1_0
82
const GSList * clutter_stage_manager_peek_stages (ClutterStageManager *stage_manager);
86
#endif /* __CLUTTER_STAGE_MANAGER_H__ */