1 /* gtk-clutter-embed.h: Embeddable ClutterStage
3 * Copyright (C) 2007 OpenedHand
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library. If not see <http://www.fsf.org/licensing>.
19 * Iain Holmes <iain@openedhand.com>
20 * Emmanuele Bassi <ebassi@openedhand.com>
23 #if !defined(__CLUTTER_GTK_H_INSIDE__) && !defined(CLUTTER_GTK_COMPILATION)
24 #error "Only <clutter-gtk/clutter-gtk.h> can be included directly."
27 #ifndef __GTK_CLUTTER_EMBED_H__
28 #define __GTK_CLUTTER_EMBED_H__
31 #include <clutter/clutter.h>
35 #define GTK_CLUTTER_TYPE_EMBED (gtk_clutter_embed_get_type ())
36 #define GTK_CLUTTER_EMBED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_CLUTTER_TYPE_EMBED, GtkClutterEmbed))
37 #define GTK_CLUTTER_IS_EMBED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_CLUTTER_TYPE_EMBED))
38 #define GTK_CLUTTER_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_CLUTTER_TYPE_EMBED, GtkClutterEmbedClass))
39 #define GTK_CLUTTER_IS_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_CLUTTER_TYPE_EMBED))
40 #define GTK_CLUTTER_EMBED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_CLUTTER_TYPE_EMBED, GtkClutterEmbedClass))
42 typedef struct _GtkClutterEmbed GtkClutterEmbed;
43 typedef struct _GtkClutterEmbedPrivate GtkClutterEmbedPrivate;
44 typedef struct _GtkClutterEmbedClass GtkClutterEmbedClass;
49 * A #GtkWidget containing the default Clutter stage.
53 struct _GtkClutterEmbed
56 GtkWidget parent_instance;
58 GtkClutterEmbedPrivate *priv;
62 * GtkClutterEmbedClass:
64 * Base class for #GtkClutterEmbed.
68 struct _GtkClutterEmbedClass
71 GtkWidgetClass parent_class;
73 /* padding for future expansion */
74 void (*_clutter_gtk_reserved1) (void);
75 void (*_clutter_gtk_reserved2) (void);
76 void (*_clutter_gtk_reserved3) (void);
77 void (*_clutter_gtk_reserved4) (void);
78 void (*_clutter_gtk_reserved5) (void);
79 void (*_clutter_gtk_reserved6) (void);
82 GType gtk_clutter_embed_get_type (void) G_GNUC_CONST;
83 GtkWidget * gtk_clutter_embed_new (void);
84 ClutterActor *gtk_clutter_embed_get_stage (GtkClutterEmbed *embed);
88 #endif /* __GTK_CLUTTER_EMBED_H__ */