5 #include "chimara-glk-private.h"
11 #include "hyperlink.h"
17 INPUT_REQUEST_CHARACTER,
18 INPUT_REQUEST_CHARACTER_UNICODE,
20 INPUT_REQUEST_LINE_UNICODE
26 * This is an opaque structure (see <link linkend="chimara-Opaque-Structures">
27 * Opaque Structures</link> and should not be accessed directly.
29 struct glk_window_struct
33 gidispatch_rock_t disprock;
34 /* Pointer to the node in the global tree that contains this window */
36 /* Window parameters */
38 /* "widget" is the actual widget with the window's functionality */
40 /* "frame" is the widget that is the child of the ChimaraGlk container, such
41 as a scroll window. It may be the same as "widget". */
43 /* Width and height of the window's size units, in pixels */
46 /* Streams associated with the window */
47 strid_t window_stream;
49 /* Width and height of the window, in characters (text grids only) */
52 /* Window split data (pair windows only) */
55 glui32 constraint_size;
56 /* Input request stuff */
57 enum InputRequestType input_request_type;
58 gchar *line_input_buffer;
59 glui32 *line_input_buffer_unicode;
60 glui32 line_input_buffer_max_len;
61 gidispatch_rock_t buffer_rock;
62 gboolean mouse_input_requested;
65 /* Line input field (text grids only) */
67 GtkTextChildAnchor *input_anchor;
68 GtkWidget *input_entry;
69 gulong line_input_entry_changed;
71 gulong char_input_keypress_handler;
72 gulong line_input_keypress_handler;
73 gulong insert_text_handler;
74 gulong tag_event_handler;
78 GHashTable *hyperlinks;
79 struct hyperlink *current_hyperlink;
82 G_GNUC_INTERNAL void trash_window_thread_independent(ChimaraGlkPrivate *glk_data, winid_t win);