Implemented garglk_set_program_name(), garglk_set_program_info(), garglk_set_story_name()
[rodin/chimara.git] / libchimara / chimara-glk-private.h
index 1ce36c377103f24225a9b1bf6f0c7076e8dd7caf..6743ecd3aa41d7862a4da5af42beb6da780eeb25 100644 (file)
@@ -23,10 +23,6 @@ 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 */
@@ -34,6 +30,11 @@ struct _ChimaraGlkPrivate {
        /* Hashtable containing the default and current style */
        struct StyleSet *default_styles;
        struct StyleSet *current_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 */
@@ -50,13 +51,28 @@ struct _ChimaraGlkPrivate {
     /* Abort mechanism */
     GMutex *abort_lock;
     gboolean abort_signalled;
+       /* Key press after shutdown mechanism */
+       GMutex *shutdown_lock;
+       GCond *shutdown_key_pressed;
        /* Window arrangement locks */
        GMutex *arrange_lock;
        GCond *rearranged;
        gboolean needs_rearrange;
        gboolean ignore_next_arrange_event;
+       /* 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 */
@@ -88,7 +104,7 @@ struct _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
 
 #endif /* __CHIMARA_GLK_PRIVATE_H__ */