1 #ifndef __CHIMARA_GLK_PRIVATE_H__
2 #define __CHIMARA_GLK_PRIVATE_H__
6 #include <pango/pango.h>
9 #include "chimara-glk.h"
13 typedef struct _ChimaraGlkPrivate ChimaraGlkPrivate;
15 struct _ChimaraGlkPrivate {
16 /* Pointer back to the widget itself for use in thread */
19 /* *** Widget properties *** */
20 /* Whether user input is expected */
22 /* Whether file operations are allowed */
24 /* Font description of proportional font */
25 PangoFontDescription *default_font_desc;
26 /* Font description of monospace font */
27 PangoFontDescription *monospace_font_desc;
28 /* Spacing between Glk windows */
30 /* The CSS file to read style defaults from */
32 /* Hashtable containing the default styles */
33 GHashTable *default_styles;
35 /* *** Threading data *** */
36 /* Glk program loaded in widget */
38 /* Thread in which Glk program is run */
40 /* Event queue and threading stuff */
43 GCond *event_queue_not_empty;
44 GCond *event_queue_not_full;
47 gboolean abort_signalled;
48 /* Window arrangement locks */
51 gboolean needs_rearrange;
52 gboolean ignore_next_arrange_event;
54 /* *** Glk library data *** */
55 /* User-defined interrupt handler */
56 void (*interrupt_handler)(void);
57 /* Global tree of all windows */
59 /* List of filerefs currently in existence */
62 strid_t current_stream;
63 /* List of streams currently in existence */
67 /* Current resource blorb map */
68 giblorb_map_t *resource_map;
69 /* File stream pointing to the blorb used as current resource map */
70 strid_t resource_file;
72 /* *** Platform-dependent Glk library data *** */
73 /* Flag for functions to find out if they are being called from startup code */
75 /* "Current directory" for creating filerefs */
79 #define CHIMARA_GLK_PRIVATE(obj) \
80 (G_TYPE_INSTANCE_GET_PRIVATE((obj), CHIMARA_TYPE_GLK, ChimaraGlkPrivate))
84 #endif /* __CHIMARA_GLK_PRIVATE_H__ */