X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fwindow.h;h=1fecb5e92944339c5afa243fc447c3093284fddc;hb=9cf2c15bb9775ea5c540bc4128f1b79881da3cd7;hp=71bbb7436168cbbe368ae5827920e05f58d7c422;hpb=f48bef46bd39ddac5067af1a4ac9b977b6158d07;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/window.h b/libchimara/window.h index 71bbb74..1fecb5e 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 @@ -59,17 +62,37 @@ struct glk_window_struct glui32 line_input_buffer_max_len; gidispatch_rock_t buffer_rock; gboolean mouse_input_requested; + GList *history; + GList *history_pos; /* Line input field (text grids only) */ glui32 input_length; GtkTextChildAnchor *input_anchor; GtkWidget *input_entry; + gulong line_input_entry_changed; /* Signal handlers */ - gulong keypress_handler; + gulong char_input_keypress_handler; + gulong line_input_keypress_handler; gulong insert_text_handler; - gulong mouse_click_handler; - gulong mouse_move_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; + /* Pager (textbuffer only) */ + gboolean currently_paging; + PangoLayout *pager_layout; }; #endif