X-Git-Url: https://plomlompom.com/repos/do_todos?a=blobdiff_plain;f=windows.h;h=b5be37f28c4a7742ca6d455706f5b2b4d482df63;hb=51bb8a9fbcc7519e844dadbe06529ef2bb1fa288;hp=904cc9f13a2981618551045ea060e38acbbd1911;hpb=cff3e45e2913b44b88bb75ed10a4931a224a943e;p=plomrogue diff --git a/windows.h b/windows.h index 904cc9f..b5be37f 100644 --- a/windows.h +++ b/windows.h @@ -1,3 +1,7 @@ +struct yx_uint16 { + uint16_t y; + uint16_t x; }; + struct WinMeta { WINDOW * screen; WINDOW * pad; @@ -11,6 +15,7 @@ struct WinMeta { struct Win { struct Win * prev; struct Win * next; + struct yx_uint16 start; uint16_t width; uint16_t height; WINDOW * curses; @@ -18,28 +23,12 @@ struct Win { void (* draw) (struct Win *); void * data; }; -struct yx { - uint16_t y; - uint16_t x; }; - -struct Corners { - 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 *, 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_windows (struct Win *); -void draw_windows_borders (struct Win *, struct Win *, struct Corners *, uint16_t); -void draw_window_borders (struct Win *, char); -void draw_all_windows (struct WinMeta *); -void resize_active_window (struct WinMeta *, uint16_t, uint16_t); -void cycle_active_window (struct WinMeta *, char); -void shift_active_window (struct WinMeta *, char); +extern struct WinMeta init_win_meta (WINDOW *); +extern struct Win init_window (struct WinMeta *, char *, void *, void *); +extern void append_window (struct WinMeta *, struct Win *); +extern void suspend_window (struct WinMeta *, struct Win *); +extern void draw_all_windows (struct WinMeta *); +extern void resize_active_window (struct WinMeta *, uint16_t, uint16_t); +extern void cycle_active_window (struct WinMeta *, char); +extern void shift_active_window (struct WinMeta *, char); +extern void reset_pad_offset (struct WinMeta *, uint16_t);