4 * An OpenGL based 'interactive canvas' library.
6 * Copyright (C) 2008 Intel Corporation.
8 * Authored By: Robert Bragg <robert@linux.intel.com>
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2 of the License, or (at your option) any later version.
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
24 #if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
25 #error "Only <clutter/clutter.h> can be included directly."
28 #ifndef __CLUTTER_CLONE_H__
29 #define __CLUTTER_CLONE_H__
31 #include <clutter/clutter-actor.h>
35 #define CLUTTER_TYPE_CLONE (clutter_clone_get_type())
36 #define CLUTTER_CLONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_CLONE, ClutterClone))
37 #define CLUTTER_CLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_CLONE, ClutterCloneClass))
38 #define CLUTTER_IS_CLONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_CLONE))
39 #define CLUTTER_IS_CLONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_CLONE))
40 #define CLUTTER_CLONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_CLONE, ClutterCloneClass))
42 typedef struct _ClutterClone ClutterClone;
43 typedef struct _ClutterCloneClass ClutterCloneClass;
44 typedef struct _ClutterClonePrivate ClutterClonePrivate;
49 * The #ClutterClone structure contains only private data
50 * and should be accessed using the provided API
57 ClutterActor parent_instance;
59 ClutterClonePrivate *priv;
65 * The #ClutterCloneClass structure contains only private data
69 struct _ClutterCloneClass
72 ClutterActorClass parent_class;
74 /* padding for future expansion */
75 void (*_clutter_actor_clone1) (void);
76 void (*_clutter_actor_clone2) (void);
77 void (*_clutter_actor_clone3) (void);
78 void (*_clutter_actor_clone4) (void);
81 GType clutter_clone_get_type (void) G_GNUC_CONST;
83 ClutterActor *clutter_clone_new (ClutterActor *source);
84 void clutter_clone_set_source (ClutterClone *self,
85 ClutterActor *source);
86 ClutterActor *clutter_clone_get_source (ClutterClone *self);
90 #endif /* __CLUTTER_CLONE_H__ */