5 #include "chimara-glk-private.h"
11 #include "hyperlink.h"
18 INPUT_REQUEST_CHARACTER,
19 INPUT_REQUEST_CHARACTER_UNICODE,
21 INPUT_REQUEST_LINE_UNICODE
27 * This is an opaque structure (see <link linkend="chimara-Opaque-Structures">
28 * Opaque Structures</link> and should not be accessed directly.
30 struct glk_window_struct
34 gidispatch_rock_t disprock;
35 /* Pointer to the node in the global tree that contains this window */
37 /* Window parameters */
39 /* "widget" is the actual widget with the window's functionality */
41 /* "frame" is the widget that is the child of the ChimaraGlk container, such
42 as a scroll window. It may be the same as "widget". */
44 /* Width and height of the window's size units, in pixels */
47 /* Streams associated with the window */
48 strid_t window_stream;
50 /* Width and height of the window, in characters (text grids only) */
53 /* Window split data (pair windows only) */
56 glui32 constraint_size;
57 /* Input request stuff */
58 enum InputRequestType input_request_type;
59 gchar *line_input_buffer;
60 glui32 *line_input_buffer_unicode;
61 glui32 line_input_buffer_max_len;
62 gidispatch_rock_t buffer_rock;
63 gboolean mouse_input_requested;
66 /* Line input field (text grids only) */
68 GtkTextChildAnchor *input_anchor;
69 GtkWidget *input_entry;
70 gulong line_input_entry_changed;
72 gulong char_input_keypress_handler;
73 gulong line_input_keypress_handler;
74 gulong insert_text_handler;
75 gulong tag_event_handler;
76 gulong shutdown_keypress_handler;
77 gulong button_press_event_handler;
81 GHashTable *hyperlinks;
82 struct hyperlink *current_hyperlink;