X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=windows.h;h=b5df4981e98fe13a7d9f3cc9ed2e19e44692c02b;hb=a470e49ace2874380e6018a6166dd2a61e3c689c;hp=059ce5f2e53e3e57b1f881702ca5b48bcfe755f5;hpb=3d455d7de0778ee27e234412c9b0ad253cf8a4ed;p=plomrogue
diff --git a/windows.h b/windows.h
index 059ce5f..b5df498 100644
--- a/windows.h
+++ b/windows.h
@@ -1,46 +1,45 @@
struct WinMeta {
+ WINDOW * screen;
+ WINDOW * pad;
+ int pad_offset;
struct Win * chain_start;
struct Win * chain_end;
struct Win * active;
- int height;
- int width; };
+ int width;
+ int height; };
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;
+ WINDOW * curses;
char * title;
void (* draw) (struct Win *);
void * data; };
+struct yx {
+ int y;
+ int x; };
+
struct Corners {
- int tl_y;
- int tl_x;
- int tr_y;
- int tr_x;
- int bl_y;
- int bl_x;
- int br_y;
- int br_x; };
+ 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 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 *);
-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_window(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 resize_window (struct WinMeta *, char);
+void resize_active_window (struct WinMeta *, int, int);
void cycle_active_window (struct WinMeta *, char);
-void shift_window (struct WinMeta *, char);
+void shift_active_window (struct WinMeta *, char);