X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=windows.h;h=779a672ec0f1348016b13ccab09c5d7c42307bc8;hb=a068b574ce8ac851be5ca1aefbaa487ef6c8e60e;hp=c8b6841e94f1efece07741804f25e5b8b32895db;hpb=a3c0f0cc2892e7efdaa4c85c844aa4b1ad1e077f;p=plomrogue diff --git a/windows.h b/windows.h index c8b6841..779a672 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; + WINDOW * curses; 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);