X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fchimara-glk-private.h;h=85e3af28dbd4d0c238a05a71584cfe6550d9424c;hb=40c961bdf2523ebdcb6717f2537f97156fd19ab4;hp=b3c90853795eb9465a6c62d3ae7cd5e044acd768;hpb=cbd4cb7f8c62b2ba51329a4cb082a96115a7529d;p=rodin%2Fchimara.git diff --git a/libchimara/chimara-glk-private.h b/libchimara/chimara-glk-private.h index b3c9085..85e3af2 100644 --- a/libchimara/chimara-glk-private.h +++ b/libchimara/chimara-glk-private.h @@ -34,6 +34,9 @@ struct _ChimaraGlkPrivate { /* Hashtable containing the default and current style */ struct StyleSet *default_styles; struct StyleSet *current_styles; + gboolean style_initialized; /* Have styles been initialized */ + /* Final message displayed when game exits */ + gchar *final_message; /* *** Threading data *** */ /* Whether program is running */ @@ -50,6 +53,9 @@ 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; @@ -58,6 +64,13 @@ 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; + /* Image cache */ + GSList *image_cache; /* *** Glk library data *** */ /* User-defined interrupt handler */ @@ -81,10 +94,6 @@ struct _ChimaraGlkPrivate { 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); - /* Have styles been initialized */ - gboolean style_initialized; - /* Is widget still displaying windows from last run */ - gboolean needs_reset; /* *** Platform-dependent Glk library data *** */ /* Flag for functions to find out if they are being called from startup code */ @@ -96,8 +105,6 @@ 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_GNUC_INTERNAL void _chimara_glk_free_nonwindow_private_data(ChimaraGlkPrivate *self); - G_END_DECLS #endif /* __CHIMARA_GLK_PRIVATE_H__ */