#include "input.h"
#include "style.h"
#include "hyperlink.h"
+#include "mouse.h"
+#include "graphics.h"
enum InputRequestType
/* "frame" is the widget that is the child of the ChimaraGlk container, such
as a scroll window. It may be the same as "widget". */
GtkWidget *frame;
+ /* In text buffer windows, the scrolled window and the pager are extra
+ widgets that are neither "widget" nor "frame" */
+ GtkWidget *scrolledwindow;
+ GtkWidget *pager;
/* Width and height of the window's size units, in pixels */
int unit_width;
int unit_height;
gboolean mouse_input_requested;
GList *history;
GList *history_pos;
+ GSList *extra_line_terminators;
+ GSList *current_extra_line_terminators;
+ /* Line input echoing (text buffers only) */
+ gboolean echo_line_input;
+ gboolean echo_current_line_input;
/* Line input field (text grids only) */
glui32 input_length;
GtkTextChildAnchor *input_anchor;
gulong line_input_keypress_handler;
gulong insert_text_handler;
gulong tag_event_handler;
+ gulong shutdown_keypress_handler;
+ gulong button_press_event_handler;
+ gulong size_allocate_handler;
+ gulong pager_keypress_handler;
+ gulong pager_adjustment_handler;
/* Window buffer */
GString *buffer;
+ GtkTextTag *zcolor;
+ GtkTextTag *zcolor_reversed;
/* Hyperlinks */
GHashTable *hyperlinks;
struct hyperlink *current_hyperlink;
+ gboolean hyperlink_event_requested;
+ /* Graphics */
+ glui32 background_color;
+ cairo_surface_t *backing_store;
+ /* Pager (textbuffer only) */
+ gboolean currently_paging;
};
-G_GNUC_INTERNAL void trash_window_thread_independent(ChimaraGlkPrivate *glk_data, winid_t win);
-
#endif