#define _XEMACS_WINDOW_H_
#include "redisplay.h"
+#ifdef HAVE_SCROLLBARS
#include "scrollbar.h"
+#endif
/* All windows in use are arranged into a tree, with pointers up and down.
face_cachel_dynarr *face_cachels;
/* glyph cache elements correct for this window and its current buffer */
glyph_cachel_dynarr *glyph_cachels;
-
-
+ /* we cannot have a per-device cache of widgets / subwindows because
+ each visible instance needs to be a separate instance. The lowest
+ level of granularity we can get easily is the window that the
+ subwindow is in. This will fail if we attach the same subwindow
+ twice to a buffer. However, we are quite unlikely to do this,
+ especially with buttons which will need individual callbacks. The
+ proper solution is probably not worth the effort. */
+ Lisp_Object subwindow_instance_cache;
/* List of starting positions for display lines. Only valid if
buffer has not changed. */
line_start_cache_dynarr *line_start_cache;
int window_displayed_height (struct window *);
int window_is_leftmost (struct window *w);
int window_is_rightmost (struct window *w);
+int window_is_lowest (struct window *w);
+int window_is_highest (struct window *w);
int window_truncation_on (struct window *w);
int window_needs_vertical_divider (struct window *);
int window_scrollbar_width (struct window *w);
int window_bottom_gutter_height (struct window *w);
int window_left_gutter_width (struct window *w, int modeline);
int window_right_gutter_width (struct window *w, int modeline);
-int window_bottom_toolbar_height (struct window *w);
void delete_all_subwindows (struct window *w);
void set_window_pixheight (Lisp_Object window, int pixheight,