X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fwindow.h;h=72ee91b529c3e51ebbab3b756373c1c1fbaa678e;hb=74177812e42bcd5f6abe84270855824163df753d;hp=e0222b0215e47cccd8e9ab3432309453472d2771;hpb=68d8cb11ff2e3e6978cc01947c66312bacd52a99;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/window.h b/libchimara/window.h index e0222b0..72ee91b 100644 --- a/libchimara/window.h +++ b/libchimara/window.h @@ -2,12 +2,15 @@ #define WINDOW_H #include +#include "chimara-glk-private.h" #include "glk.h" #include "gi_dispa.h" #include "stream.h" #include "input.h" #include "style.h" #include "hyperlink.h" +#include "mouse.h" +#include "graphics.h" enum InputRequestType @@ -61,6 +64,11 @@ struct glk_window_struct 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; @@ -71,11 +79,26 @@ struct glk_window_struct 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_expose_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; + PangoLayout *pager_layout; }; #endif