X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=windows.h;h=522f26f37b882dd0eba3049327768930287e89ac;hb=898e67b7106acf4eb55689c44f67c359616ca39d;hp=6ffcb96b37bc2b868adb8795add3e06add04e952;hpb=35d55596e7595e473d3aa4a71e17c8dd23841b2f;p=plomrogue
diff --git a/windows.h b/windows.h
index 6ffcb96..522f26f 100644
--- a/windows.h
+++ b/windows.h
@@ -1,23 +1,26 @@
struct WinMeta {
+ WINDOW * screen;
+ WINDOW * pad;
+ uint16_t pad_offset;
struct Win * chain_start;
struct Win * chain_end;
struct Win * active;
- int height;
- int width; };
+ uint16_t width;
+ uint16_t height; };
struct Win {
struct Win * prev;
struct Win * next;
- int width;
- int height;
- WINDOW * curses_win;
+ uint16_t width;
+ uint16_t height;
+ WINDOW * curses;
char * title;
void (* draw) (struct Win *);
void * data; };
struct yx {
- int y;
- int x; };
+ uint16_t y;
+ uint16_t x; };
struct Corners {
struct yx tl;
@@ -26,17 +29,18 @@ struct Corners {
struct yx br; };
struct WinMeta init_win_meta (WINDOW *);
-struct Win init_window (struct WinMeta *, char *);
+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_window(struct Win *);
void draw_windows (struct Win *);
-void draw_windows_borders (struct Win *, struct Win *, struct Corners *, int);
+void draw_windows_borders (struct Win *, struct Win *, struct Corners *, uint16_t);
void draw_window_borders (struct Win *, char);
+void draw_vertical_scroll_hint (struct WinMeta *, uint16_t, uint32_t, char);
void draw_all_windows (struct WinMeta *);
-void resize_window (struct WinMeta *, char);
+void resize_active_window (struct WinMeta *, uint16_t, uint16_t);
void cycle_active_window (struct WinMeta *, char);
-void shift_window (struct WinMeta *, char);
+void shift_active_window (struct WinMeta *, char);