home · contact · privacy
Use yx_uint16 struct for WinMeta and Win struct size attributes.
[plomrogue] / windows.h
index 904cc9f13a2981618551045ea060e38acbbd1911..1f3dfa0fd3d9094be287aabe6a2593e63cf2cfa7 100644 (file)
--- a/windows.h
+++ b/windows.h
@@ -1,3 +1,7 @@
+struct yx_uint16 {
+  uint16_t y;
+  uint16_t x; };
+
 struct WinMeta {
   WINDOW * screen;
   WINDOW * pad;
@@ -5,41 +9,24 @@ struct WinMeta {
   struct Win * chain_start;
   struct Win * chain_end;
   struct Win * active;
-  uint16_t width;
-  uint16_t height; };
+  struct yx_uint16 size; };
 
 struct Win {
   struct Win * prev;
   struct Win * next;
-  uint16_t width;
-  uint16_t height;
+  struct yx_uint16 start;
+  struct yx_uint16 size;
   WINDOW * curses;
   char * title;
   void (* draw) (struct Win *);
   void * data; };
 
-struct yx {
-  uint16_t y;
-  uint16_t x; };
-
-struct Corners {
-  struct yx tl;
-  struct yx tr;
-  struct yx bl;
-  struct yx br; };
-
-struct  WinMeta init_win_meta (WINDOW *);
-void scroll_pad (struct WinMeta *, char);
-struct Win init_window (struct WinMeta *, char *, void *, void *);
-void append_window (struct WinMeta *, struct Win *);
-void suspend_window (struct WinMeta *, struct Win *);
-struct yx place_window (struct WinMeta *, struct Win *);
-void update_windows (struct WinMeta *, struct Win *);
-void destroy_window (struct Win *);
-void draw_windows (struct Win *);
-void draw_windows_borders (struct Win *, struct Win *, struct Corners *, uint16_t);
-void draw_window_borders (struct Win *, char);
-void draw_all_windows (struct WinMeta *);
-void resize_active_window (struct WinMeta *, uint16_t, uint16_t);
-void cycle_active_window (struct WinMeta *, char);
-void shift_active_window (struct WinMeta *, char);
+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_all_windows (struct WinMeta *);
+extern void resize_active_window (struct WinMeta *, uint16_t, uint16_t);
+extern void cycle_active_window (struct WinMeta *, char);
+extern void shift_active_window (struct WinMeta *, char);
+extern void reset_pad_offset (struct WinMeta *, uint16_t);