X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=windows.h;h=c194907b6c41046fc784b76d367829a506d7d3f8;hb=e4208c726efd55a3a5ff2be966d3fbd7d38ba9e3;hp=7ea160a557d8f72f2212d0bbe88d075a9023458f;hpb=566e41ab42605e975937f1f2bd8566e1edc5589b;p=plomrogue diff --git a/windows.h b/windows.h index 7ea160a..c194907 100644 --- a/windows.h +++ b/windows.h @@ -2,31 +2,34 @@ struct yx_uint16 { uint16_t y; uint16_t x; }; +struct Frame { + WINDOW * curses_win; + struct yx_uint16 size; }; + struct WinMeta { WINDOW * screen; - WINDOW * pad; uint16_t pad_offset; + struct Frame pad; struct Win * chain_start; struct Win * chain_end; - struct Win * active; - struct yx_uint16 size; }; + struct Win * active; }; struct Win { struct Win * prev; struct Win * next; struct yx_uint16 start; - struct yx_uint16 size; - WINDOW * curses; + struct Frame frame; char * title; void (* draw) (struct Win *); void * data; }; 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 struct Win init_win (struct WinMeta *, char *, void *, void *); +extern void append_win (struct WinMeta *, struct Win *); +extern void suspend_win (struct WinMeta *, struct Win *); +extern void draw_scroll_hint (struct Frame *, uint16_t, uint32_t, char); +extern void draw_all_wins (struct WinMeta *); +extern void resize_active_win (struct WinMeta *, uint16_t, uint16_t); +extern void cycle_active_win (struct WinMeta *, char); +extern void shift_active_win (struct WinMeta *, char); extern void reset_pad_offset (struct WinMeta *, uint16_t);