home · contact · privacy
Unite all scroll hint drawing functions into one.
[plomrogue] / windows.h
index b5be37f28c4a7742ca6d455706f5b2b4d482df63..2080ef3c5257b95fac71bd7ef5900f56245d9e00 100644 (file)
--- a/windows.h
+++ b/windows.h
@@ -2,31 +2,32 @@ struct yx_uint16 {
   uint16_t y;
   uint16_t x; };
 
+struct Frame {
+  WINDOW * curses_win;
+  struct yx_uint16 size; };
+
 struct WinMeta {
   WINDOW * screen;
-  WINDOW * pad;
-  uint16_t  pad_offset;
+  uint16_t pad_offset;
+  struct Frame pad;
   struct Win * chain_start;
   struct Win * chain_end;
-  struct Win * active;
-  uint16_t width;
-  uint16_t height; };
+  struct Win * active; };
 
 struct Win {
   struct Win * prev;
   struct Win * next;
   struct yx_uint16 start;
-  uint16_t width;
-  uint16_t height;
-  WINDOW * curses;
+  struct Frame frame;
   char * title;
   void (* draw) (struct Win *);
   void * data; };
 
-extern struct  WinMeta init_win_meta (WINDOW *);
+extern struct WinMeta init_win_meta (WINDOW *);
 extern struct Win init_window (struct WinMeta *, char *, void *, void *);
 extern void append_window (struct WinMeta *, struct Win *);
 extern void suspend_window (struct WinMeta *, struct Win *);
+extern void draw_scroll_hint (struct Frame *, uint16_t, uint32_t, char);
 extern void draw_all_windows (struct WinMeta *);
 extern void resize_active_window (struct WinMeta *, uint16_t, uint16_t);
 extern void cycle_active_window (struct WinMeta *, char);