X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fwindow.h;h=853f896ab729f58bffbda25ee4b036e598918ca7;hb=0c75df5f3c9b9dce26f54dfceaefd71a48a8a392;hp=48ced889e332dc5464c9d5e0d89e26e290ab85cc;hpb=278e68652925e367e726d5e462d56f40eabec1dd;p=rodin%2Fchimara.git diff --git a/libchimara/window.h b/libchimara/window.h index 48ced88..853f896 100644 --- a/libchimara/window.h +++ b/libchimara/window.h @@ -3,10 +3,11 @@ #include #include "glk.h" - +#include "gi_dispa.h" #include "stream.h" #include "input.h" #include "style.h" +#include "hyperlink.h" enum InputRequestType @@ -28,6 +29,7 @@ struct glk_window_struct { /*< private >*/ glui32 magic, rock; + gidispatch_rock_t disprock; /* Pointer to the node in the global tree that contains this window */ GNode *window_node; /* Window parameters */ @@ -55,14 +57,23 @@ struct glk_window_struct gchar *line_input_buffer; glui32 *line_input_buffer_unicode; 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; + /* Window buffer */ + GString *buffer; }; #endif