- Fixed a bug that made Nitfol crash since [130]
[rodin/chimara.git] / libchimara / chimara-glk-private.h
index e1067b247506fd78aea1b759709182e470807175..1ce36c377103f24225a9b1bf6f0c7076e8dd7caf 100644 (file)
@@ -5,7 +5,9 @@
 #include <gmodule.h>
 #include <pango/pango.h>
 #include "glk.h"
+#include "style.h"
 #include "gi_blorb.h"
+#include "gi_dispa.h"
 #include "chimara-glk.h"
 
 G_BEGIN_DECLS
@@ -27,8 +29,15 @@ struct _ChimaraGlkPrivate {
        PangoFontDescription *monospace_font_desc;
        /* Spacing between Glk windows */
        guint spacing;
+       /* The CSS file to read style defaults from */
+       gchar *css_file;
+       /* Hashtable containing the default and current style */
+       struct StyleSet *default_styles;
+       struct StyleSet *current_styles;
 
        /* *** Threading data *** */
+       /* Whether program is running */
+       gboolean running;
     /* Glk program loaded in widget */
     GModule *program;
     /* Thread in which Glk program is run */
@@ -64,6 +73,11 @@ struct _ChimaraGlkPrivate {
        giblorb_map_t *resource_map;
        /* File stream pointing to the blorb used as current resource map */
        strid_t resource_file;
+       /* Callbacks for registering and unregistering dispatch objects */
+       gidispatch_rock_t (*register_obj)(void *, glui32);
+       void (*unregister_obj)(void *, glui32, gidispatch_rock_t);
+       gidispatch_rock_t (*register_arr)(void *, glui32, char *);
+       void (*unregister_arr)(void *, glui32, char *, gidispatch_rock_t);
 
        /* *** Platform-dependent Glk library data *** */
        /* Flag for functions to find out if they are being called from startup code */
@@ -72,8 +86,8 @@ struct _ChimaraGlkPrivate {
        gchar *current_dir;
 };
 
-#define CHIMARA_GLK_PRIVATE(obj) \
-       (G_TYPE_INSTANCE_GET_PRIVATE((obj), CHIMARA_TYPE_GLK, ChimaraGlkPrivate))
+#define CHIMARA_GLK_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), CHIMARA_TYPE_GLK, ChimaraGlkPrivate))
+#define CHIMARA_GLK_USE_PRIVATE(o, n) ChimaraGlkPrivate *n = CHIMARA_GLK_PRIVATE(o)
        
 G_END_DECLS