Pager in place
[rodin/chimara.git] / libchimara / window.h
index 853f896ab729f58bffbda25ee4b036e598918ca7..e13549614351e776e35344f283152043fc46780a 100644 (file)
@@ -2,12 +2,15 @@
 #define WINDOW_H
 
 #include <gtk/gtk.h>
+#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
@@ -70,10 +73,22 @@ struct glk_window_struct
        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;
        /* Window buffer */
        GString *buffer;
+       /* Hyperlinks */
+       GHashTable *hyperlinks;
+       struct hyperlink *current_hyperlink;
+       /* Graphics */
+       glui32 background_color;
+       /* Pager (textbuffer only) */
+       gboolean currently_paging;
+       PangoLayout *pager_layout;
 };
 
 #endif