X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=windows.h;h=8f06ffc38c85be20bf6681bb181ce2c72ee9291f;hb=891ff33aec8906fe8203910a26c56650ce74b904;hp=059ce5f2e53e3e57b1f881702ca5b48bcfe755f5;hpb=3d455d7de0778ee27e234412c9b0ad253cf8a4ed;p=plomrogue diff --git a/windows.h b/windows.h index 059ce5f..8f06ffc 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 *); +void scroll_pad (struct WinMeta *, char); 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_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);