projects
/
projects
/
chimara
/
chimara.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Began implementing OSX app-bundle support.
[projects/chimara/chimara.git]
/
libchimara
/
window.h
diff --git
a/libchimara/window.h
b/libchimara/window.h
index e0222b0215e47cccd8e9ab3432309453472d2771..aa3250274a5e5e3609e12252457b587f7a61a0cf 100644
(file)
--- a/
libchimara/window.h
+++ b/
libchimara/window.h
@@
-2,12
+2,15
@@
#define WINDOW_H
#include <gtk/gtk.h>
#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 "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
enum InputRequestType
@@
-39,6
+42,10
@@
struct glk_window_struct
/* "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;
/* "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;
+ /* In text buffer windows, the scrolled window and the pager are extra
+ widgets that are neither "widget" nor "frame" */
+ GtkWidget *scrolledwindow;
+ GtkWidget *pager;
/* Width and height of the window's size units, in pixels */
int unit_width;
int unit_height;
/* Width and height of the window's size units, in pixels */
int unit_width;
int unit_height;
@@
-61,6
+68,11
@@
struct glk_window_struct
gboolean mouse_input_requested;
GList *history;
GList *history_pos;
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;
/* Line input field (text grids only) */
glui32 input_length;
GtkTextChildAnchor *input_anchor;
@@
-71,11
+83,24
@@
struct glk_window_struct
gulong line_input_keypress_handler;
gulong insert_text_handler;
gulong tag_event_handler;
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_keypress_handler;
+ gulong pager_adjustment_handler;
/* Window buffer */
GString *buffer;
/* Window buffer */
GString *buffer;
+ GtkTextTag *zcolor;
+ GtkTextTag *zcolor_reversed;
/* Hyperlinks */
GHashTable *hyperlinks;
struct hyperlink *current_hyperlink;
/* 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;
};
#endif
};
#endif