X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=windows.h;h=522f26f37b882dd0eba3049327768930287e89ac;hb=9719816eebca3b914d530a751bff6ab3cd7f0daf;hp=690ba44eebdf9f36c490be14449fa0bf9b3e8b1d;hpb=b5a0fd1d2cc0c53f44fb93cc3b757aab0a797768;p=plomrogue diff --git a/windows.h b/windows.h index 690ba44..522f26f 100644 --- a/windows.h +++ b/windows.h @@ -1,25 +1,26 @@ struct WinMeta { + WINDOW * screen; + WINDOW * pad; + uint16_t pad_offset; struct Win * chain_start; struct Win * chain_end; struct Win * active; - int height; - int width; }; + uint16_t width; + uint16_t height; }; struct Win { struct Win * prev; struct Win * next; - int width; - int height; - WINDOW * curses_win; - char border_left; - char border_down; + uint16_t width; + uint16_t height; + WINDOW * curses; char * title; void (* draw) (struct Win *); void * data; }; struct yx { - int y; - int x; }; + uint16_t y; + uint16_t x; }; struct Corners { struct yx tl; @@ -28,17 +29,18 @@ struct Corners { 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 *); 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_windows_borders (struct Win *, struct Win *, struct Corners *, uint16_t); void draw_window_borders (struct Win *, char); +void draw_vertical_scroll_hint (struct WinMeta *, uint16_t, uint32_t, char); void draw_all_windows (struct WinMeta *); -void resize_window (struct WinMeta *, char); +void resize_active_window (struct WinMeta *, uint16_t, uint16_t); void cycle_active_window (struct WinMeta *, char); -void shift_window (struct WinMeta *, char); +void shift_active_window (struct WinMeta *, char);