X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=windows.h;h=497908e4ab19614d24b67fd7dd4c52ba3a32899a;hb=eb87a0032df063d6a73220f2b5e6f4ff98b7644d;hp=01919310961938cde80e937d63c030796f7c5fb5;hpb=e0f6898722d88af212b9fd658aa8a54226deabc3;p=plomrogue diff --git a/windows.h b/windows.h index 0191931..497908e 100644 --- a/windows.h +++ b/windows.h @@ -1,44 +1,31 @@ struct WinMeta { WINDOW * screen; WINDOW * pad; - int pad_offset; + uint16_t pad_offset; struct Win * chain_start; struct Win * chain_end; struct Win * active; - int width; - int height; }; + uint16_t width; + uint16_t height; }; struct Win { struct Win * prev; struct Win * next; - int width; - int height; - WINDOW * curses_win; + uint16_t startx; + uint16_t starty; + uint16_t width; + uint16_t height; + 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 *); -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 *, int); -void draw_window_borders (struct Win *, char); -void draw_all_windows (struct WinMeta *); -void resize_window (struct WinMeta *, char); -void cycle_active_window (struct WinMeta *, char); -void shift_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);