home · contact · privacy
Moved basic yx_uint16 handling into its own library.
[plomrogue] / src / windows.h
1 #include "yx_uint16.h"
2
3 struct Frame {
4   WINDOW * curses_win;
5   struct yx_uint16 size; };
6
7 struct WinMeta {
8   WINDOW * screen;
9   uint16_t pad_offset;
10   struct Frame pad;
11   struct Win * chain_start;
12   struct Win * chain_end;
13   struct Win * active; };
14
15 struct Win {
16   struct Win * prev;
17   struct Win * next;
18   struct yx_uint16 start;
19   struct Frame frame;
20   char * title;
21   void (* draw) (struct Win *);
22   void * data; };
23
24 extern struct WinMeta init_win_meta (WINDOW *);
25 extern struct Win init_win (struct WinMeta *, char *, void *, void *);
26 extern void append_win (struct WinMeta *, struct Win *);
27 extern void suspend_win (struct WinMeta *, struct Win *);
28 extern void draw_scroll_hint (struct Frame *, uint16_t, uint32_t, char);
29 extern void draw_all_wins (struct WinMeta *);
30 extern void resize_active_win (struct WinMeta *, uint16_t, uint16_t);
31 extern void cycle_active_win (struct WinMeta *, char);
32 extern void shift_active_win (struct WinMeta *, char);
33 extern void reset_pad_offset (struct WinMeta *, uint16_t);