X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=windows.h;h=01919310961938cde80e937d63c030796f7c5fb5;hb=022adf371f9b2c62a47a9e94dfdc2ee36fce02f1;hp=c8b6841e94f1efece07741804f25e5b8b32895db;hpb=a3c0f0cc2892e7efdaa4c85c844aa4b1ad1e077f;p=plomrogue
diff --git a/windows.h b/windows.h
index c8b6841..0191931 100644
--- a/windows.h
+++ b/windows.h
@@ -1,7 +1,11 @@
struct WinMeta {
+ WINDOW * screen;
+ WINDOW * pad;
+ int pad_offset;
struct Win * chain_start;
struct Win * chain_end;
struct Win * active;
+ int width;
int height; };
struct Win {
@@ -9,26 +13,32 @@ struct Win {
struct Win * next;
int width;
int height;
- int start_x;
- int start_y;
WINDOW * curses_win;
- char border_left;
- char border_down;
char * title;
void (* draw) (struct Win *);
void * data; };
+struct yx {
+ int y;
+ int x; };
+
+struct Corners {
+ struct yx tl;
+ struct yx tr;
+ struct yx bl;
+ struct yx br; };
+
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 *);
+struct yx 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_windows (struct Win *);
+void draw_windows_borders (struct Win *, struct Win *, struct Corners *, int);
+void draw_window_borders (struct Win *, char);
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);