5 #include "chimara-glk-private.h"
11 #include "hyperlink.h"
19 INPUT_REQUEST_CHARACTER,
20 INPUT_REQUEST_CHARACTER_UNICODE,
22 INPUT_REQUEST_LINE_UNICODE
28 * This is an opaque structure (see <link linkend="chimara-Opaque-Structures">
29 * Opaque Structures</link> and should not be accessed directly.
31 struct glk_window_struct
35 gidispatch_rock_t disprock;
36 /* Pointer to the node in the global tree that contains this window */
38 /* Window parameters */
40 /* "widget" is the actual widget with the window's functionality */
42 /* "frame" is the widget that is the child of the ChimaraGlk container, such
43 as a scroll window. It may be the same as "widget". */
45 /* Width and height of the window's size units, in pixels */
48 /* Streams associated with the window */
49 strid_t window_stream;
51 /* Width and height of the window, in characters (text grids only) */
54 /* Window split data (pair windows only) */
57 glui32 constraint_size;
58 /* Input request stuff */
59 enum InputRequestType input_request_type;
60 gchar *line_input_buffer;
61 glui32 *line_input_buffer_unicode;
62 glui32 line_input_buffer_max_len;
63 gidispatch_rock_t buffer_rock;
64 gboolean mouse_input_requested;
67 gboolean echo_line_input;
68 /* Line input field (text grids only) */
70 GtkTextChildAnchor *input_anchor;
71 GtkWidget *input_entry;
72 gulong line_input_entry_changed;
74 gulong char_input_keypress_handler;
75 gulong line_input_keypress_handler;
76 gulong insert_text_handler;
77 gulong tag_event_handler;
78 gulong shutdown_keypress_handler;
79 gulong button_press_event_handler;
80 gulong size_allocate_handler;
81 gulong pager_expose_handler;
82 gulong pager_keypress_handler;
83 gulong pager_adjustment_handler;
87 GtkTextTag *zcolor_reversed;
89 GHashTable *hyperlinks;
90 struct hyperlink *current_hyperlink;
91 gboolean hyperlink_event_requested;
93 glui32 background_color;
94 /* Pager (textbuffer only) */
95 gboolean currently_paging;
96 PangoLayout *pager_layout;