X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=windows.h;h=2080ef3c5257b95fac71bd7ef5900f56245d9e00;hb=d2f20fe7cf821fb761353e8f63eaebb5bf4cbd9e;hp=c8b6841e94f1efece07741804f25e5b8b32895db;hpb=a3c0f0cc2892e7efdaa4c85c844aa4b1ad1e077f;p=plomrogue
diff --git a/windows.h b/windows.h
index c8b6841..2080ef3 100644
--- a/windows.h
+++ b/windows.h
@@ -1,34 +1,35 @@
+struct yx_uint16 {
+ uint16_t y;
+ uint16_t x; };
+
+struct Frame {
+ WINDOW * curses_win;
+ struct yx_uint16 size; };
+
struct WinMeta {
+ WINDOW * screen;
+ uint16_t pad_offset;
+ struct Frame pad;
struct Win * chain_start;
struct Win * chain_end;
- struct Win * active;
- int height; };
+ struct Win * active; };
struct Win {
struct Win * prev;
struct Win * next;
- int width;
- int height;
- int start_x;
- int start_y;
- WINDOW * curses_win;
- char border_left;
- char border_down;
+ struct yx_uint16 start;
+ struct Frame frame;
char * title;
void (* draw) (struct Win *);
void * data; };
-struct WinMeta init_win_meta (WINDOW *);
-struct Win init_window (struct WinMeta *, char *);
-void append_window (struct WinMeta *, struct Win *);
-void suspend_window (struct WinMeta *, struct Win *);
-void place_window (struct WinMeta *, struct Win *);
-void update_windows (struct WinMeta *, struct Win *);
-void destroy_window (struct Win *);
-void draw_windows (struct WinMeta *, struct Win *);
-void draw_all_windows (struct WinMeta *);
-void draw_window(struct WinMeta *, struct Win *);
-void undraw_window (WINDOW *);
-void resize_window (struct WinMeta *, char);
-void cycle_active_window (struct WinMeta *, char);
-void shift_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_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);
+extern void shift_active_window (struct WinMeta *, char);
+extern void reset_pad_offset (struct WinMeta *, uint16_t);