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 #ifndef __GTK_CLUTTER_EMBED_H__
24 #define __GTK_CLUTTER_EMBED_H__
26 #include <gtk/gtkwidget.h>
27 #include <clutter/clutter-actor.h>
31 #define GTK_TYPE_CLUTTER_EMBED (gtk_clutter_embed_get_type ())
32 #define GTK_CLUTTER_EMBED(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_CLUTTER_EMBED, GtkClutterEmbed))
33 #define GTK_IS_CLUTTER_EMBED(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_CLUTTER_EMBED))
34 #define GTK_CLUTTER_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_CLUTTER_EMBED, GtkClutterEmbedClass))
35 #define GTK_IS_CLUTTER_EMBED_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_CLUTTER_EMBED))
36 #define GTK_CLUTTER_EMBED_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_CLUTTER_EMBED, GtkClutterEmbedClass))
38 typedef struct _GtkClutterEmbed GtkClutterEmbed;
39 typedef struct _GtkClutterEmbedPrivate GtkClutterEmbedPrivate;
40 typedef struct _GtkClutterEmbedClass GtkClutterEmbedClass;
45 * A #GtkWidget containing the default Clutter stage.
49 struct _GtkClutterEmbed
52 GtkWidget parent_instance;
54 GtkClutterEmbedPrivate *priv;
58 * GtkClutterEmbedClass:
60 * Base class for #GtkClutterEmbed.
64 struct _GtkClutterEmbedClass
67 GtkWidgetClass parent_class;
69 /* padding for future expansion */
70 void (*_clutter_gtk_reserved1) (void);
71 void (*_clutter_gtk_reserved2) (void);
72 void (*_clutter_gtk_reserved3) (void);
73 void (*_clutter_gtk_reserved4) (void);
74 void (*_clutter_gtk_reserved5) (void);
75 void (*_clutter_gtk_reserved6) (void);
78 GType gtk_clutter_embed_get_type (void) G_GNUC_CONST;
79 GtkWidget * gtk_clutter_embed_new (void);
80 ClutterActor *gtk_clutter_embed_get_stage (GtkClutterEmbed *embed);
82 ClutterInitError gtk_clutter_init (int *argc, char ***argv);
86 #endif /* __GTK_CLUTTER_EMBED_H__ */