X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk-private.h;h=0469b8da33ac313bacaf97e64c697630ed2f3fc7;hb=59f3bc1e4f21377c362c1f497fb225711127d7a0;hp=903d3530705f93f2dd163692e50e35d2a6e4b3f3;hpb=1589fbfcd406df40d8da4f078dad3327c4862871;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/chimara-glk-private.h b/libchimara/chimara-glk-private.h index 903d353..0469b8d 100644 --- a/libchimara/chimara-glk-private.h +++ b/libchimara/chimara-glk-private.h @@ -23,20 +23,18 @@ struct _ChimaraGlkPrivate { gboolean interactive; /* Whether file operations are allowed */ gboolean protect; - /* Font description of proportional font */ - PangoFontDescription *default_font_desc; - /* Font description of monospace font */ - 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; - gboolean style_initialized; /* Have styles been initialized */ + /* Hashtable containing the current styles set by CSS and GLK */ + struct StyleSet *styles; + struct StyleSet *glk_styles; + PangoAttrList *pager_attr_list; /* Final message displayed when game exits */ gchar *final_message; + /* Image cache */ + GSList *image_cache; /* *** Threading data *** */ /* Whether program is running */ @@ -64,8 +62,17 @@ struct _ChimaraGlkPrivate { /* Input queues */ GAsyncQueue *char_input_queue; GAsyncQueue *line_input_queue; + /* Resource loading locks */ + GMutex *resource_lock; + GCond *resource_loaded; + GCond *resource_info_available; + guint32 resource_available; /* *** Glk library data *** */ + /* Info about current plugin */ + gchar *program_name; + gchar *program_info; + gchar *story_name; /* User-defined interrupt handler */ void (*interrupt_handler)(void); /* Global tree of all windows */ @@ -76,12 +83,18 @@ struct _ChimaraGlkPrivate { strid_t current_stream; /* List of streams currently in existence */ GList *stream_list; + /* List of sound channels currently in existence */ + GList *schannel_list; /* Current timer */ guint timer_id; /* Current resource blorb map */ giblorb_map_t *resource_map; /* File stream pointing to the blorb used as current resource map */ strid_t resource_file; + /* Optional callback for loading resource data */ + ChimaraResourceLoadFunc resource_load_callback; + gpointer resource_load_callback_data; + GDestroyNotify resource_load_callback_destroy_data; /* Callbacks for registering and unregistering dispatch objects */ gidispatch_rock_t (*register_obj)(void *, glui32); void (*unregister_obj)(void *, glui32, gidispatch_rock_t);