X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk-private.h;h=5ea1e54a51853274826aff1775c9a6d15d642926;hb=e4819b66649d4963a0661cba603c2967b02a6b80;hp=25417d368524d95c18533cd5b783c1d5fa767611;hpb=2ce0ccd78003fce557bb76883c87ca2cb101608d;p=rodin%2Fchimara.git diff --git a/libchimara/chimara-glk-private.h b/libchimara/chimara-glk-private.h index 25417d3..5ea1e54 100644 --- a/libchimara/chimara-glk-private.h +++ b/libchimara/chimara-glk-private.h @@ -5,7 +5,9 @@ #include #include #include "glk.h" +#include "style.h" #include "gi_blorb.h" +#include "gi_dispa.h" #include "chimara-glk.h" G_BEGIN_DECLS @@ -29,8 +31,9 @@ struct _ChimaraGlkPrivate { guint spacing; /* The CSS file to read style defaults from */ gchar *css_file; - /* Hashtable containing the default styles */ - GHashTable *default_styles; + /* Hashtable containing the default and current style */ + struct StyleSet *default_styles; + struct StyleSet *current_styles; /* *** Threading data *** */ /* Glk program loaded in widget */ @@ -68,6 +71,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 */