projects
/
projects
/
chimara
/
chimara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix config.py
[projects/chimara/chimara.git]
/
libchimara
/
chimara-glk-private.h
diff --git
a/libchimara/chimara-glk-private.h
b/libchimara/chimara-glk-private.h
index 5ea1e54a51853274826aff1775c9a6d15d642926..0469b8da33ac313bacaf97e64c697630ed2f3fc7 100644
(file)
--- a/
libchimara/chimara-glk-private.h
+++ b/
libchimara/chimara-glk-private.h
@@
-23,19
+23,22
@@
struct _ChimaraGlkPrivate {
gboolean interactive;
/* Whether file operations are allowed */
gboolean protect;
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;
/* 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;
+ /* 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 *** */
/* *** Threading data *** */
+ /* Whether program is running */
+ gboolean running;
/* Glk program loaded in widget */
GModule *program;
/* Thread in which Glk program is run */
/* Glk program loaded in widget */
GModule *program;
/* Thread in which Glk program is run */
@@
-48,13
+51,28
@@
struct _ChimaraGlkPrivate {
/* Abort mechanism */
GMutex *abort_lock;
gboolean abort_signalled;
/* 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;
/* 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 *** */
/* *** 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 */
/* User-defined interrupt handler */
void (*interrupt_handler)(void);
/* Global tree of all windows */
@@
-65,12
+83,18
@@
struct _ChimaraGlkPrivate {
strid_t current_stream;
/* List of streams currently in existence */
GList *stream_list;
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;
/* 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);
/* Callbacks for registering and unregistering dispatch objects */
gidispatch_rock_t (*register_obj)(void *, glui32);
void (*unregister_obj)(void *, glui32, gidispatch_rock_t);
@@
-84,9
+108,9
@@
struct _ChimaraGlkPrivate {
gchar *current_dir;
};
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
#endif /* __CHIMARA_GLK_PRIVATE_H__ */
G_END_DECLS
#endif /* __CHIMARA_GLK_PRIVATE_H__ */