Changed build system to Automake. Split Glk code off into a GTK widget.
[rodin/chimara.git] / src / chimara-glk.h
1 /* Copyright / licensing information here. */
2
3 #ifndef __CHIMARA_GLK_H__
4 #define __CHIMARA_GLK_H__
5
6 #include <glib-object.h>
7 #include <gtk/gtk.h>
8
9 G_BEGIN_DECLS
10
11 #define CHIMARA_TYPE_GLK            (chimara_glk_get_type())
12 #define CHIMARA_GLK(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), \
13                                      CHIMARA_TYPE_GLK, ChimaraGlk))
14 #define CHIMARA_GLK_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), \
15                                      CHIMARA_TYPE_GLK, ChimaraGlkClass))
16 #define CHIMARA_IS_GLK(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
17                                      CHIMARA_TYPE_GLK))
18 #define CHIMARA_IS_GLK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), \
19                                      CHIMARA_TYPE_GLK))
20 #define CHIMARA_GLK_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), \
21                                      CHIMARA_TYPE_GLK, ChimaraGlkClass))
22
23 typedef struct _ChimaraGlk ChimaraGlk;
24 typedef struct _ChimaraGlkClass ChimaraGlkClass;
25
26 struct _ChimaraGlk {
27     GtkContainer parent_instance;
28     
29     /* Public members */
30 };
31
32 struct _ChimaraGlkClass {
33     GtkContainerClass parent_class;
34     
35     /* Signals */
36         void(* stopped) (ChimaraGlk *self);
37         void(* started) (ChimaraGlk *self);
38 };
39
40 GType chimara_glk_get_type(void) G_GNUC_CONST;
41 GtkWidget *chimara_glk_new(void);
42 void chimara_glk_set_interactive(ChimaraGlk *glk, gboolean interactive);
43 gboolean chimara_glk_get_interactive(ChimaraGlk *glk);
44 void chimara_glk_set_protect(ChimaraGlk *glk, gboolean protect);
45 gboolean chimara_glk_get_protect(ChimaraGlk *glk);
46 gboolean chimara_glk_run(ChimaraGlk *glk, GError **error);
47 void chimara_glk_stop(ChimaraGlk *glk);
48 void chimara_glk_wait(ChimaraGlk *glk);
49
50 G_END_DECLS
51
52 #endif /* __CHIMARA_GLK_H__ */