X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=src%2Fwindow.h;h=3395bb482296225c9d663da43a6f6ac228c826d4;hb=47d20aad0aecf8161a3ec94bdc7da9cd42f4ae62;hp=4e705f2d69822bbf14a510b6691974d7e237a151;hpb=199d247c0c2155c1c8fca97fcc6087efdd29e482;p=rodin%2Fchimara.git diff --git a/src/window.h b/src/window.h index 4e705f2..3395bb4 100644 --- a/src/window.h +++ b/src/window.h @@ -6,6 +6,8 @@ #include "stream.h" #include "error.h" +#include "callbacks.h" +#include "input.h" enum InputRequestType { @@ -18,17 +20,31 @@ enum InputRequestType struct glk_window_struct { - GNode *window_node; - glui32 rock; - glui32 window_type; + /* Pointer to the node in the global tree that contains this window */ + GNode *window_node; + /* Window parameters */ + glui32 type; + /* "widget" is the actual widget with the window's functionality */ GtkWidget *widget; + /* "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; + /* Width and height of the window's size units, in pixels */ + int unit_width; + int unit_height; + /* Streams associated with the window */ strid_t window_stream; strid_t echo_stream; + /* Input request stuff */ enum InputRequestType input_request_type; gchar *line_input_buffer; glui32 *line_input_buffer_unicode; glui32 line_input_buffer_max_len; + gboolean mouse_input_requested; + /* Signal handlers */ + gulong keypress_handler; + gulong insert_text_handler; }; #endif