home · contact · privacy
Completely rebuilt how window borders are realized. Are now drawn in top window,...
[plomrogue] / windows.h
1 struct WinMeta {
2   struct Win * chain_start;
3   struct Win * chain_end;
4   struct Win * active;
5   int height;
6   int width; };
7
8 struct Win {
9   struct Win * prev;
10   struct Win * next;
11   int width;
12   int height;
13   int start_x;
14   int start_y;
15   WINDOW * curses_win;
16   char border_left;
17   char border_down;
18   char * title;
19   void (* draw) (struct Win *);
20   void * data; };
21
22 struct Corners {
23   int tl_y;
24   int tl_x;
25   int tr_y;
26   int tr_x;
27   int bl_y;
28   int bl_x;
29   int br_y;
30   int br_x; };
31
32 struct  WinMeta init_win_meta (WINDOW *);
33 struct Win init_window (struct WinMeta *, char *);
34 void append_window (struct WinMeta *, struct Win *);
35 void suspend_window (struct WinMeta *, struct Win *);
36 void place_window (struct WinMeta *, struct Win *);
37 void update_windows (struct WinMeta *, struct Win *);
38 void destroy_window (struct Win *);
39 void draw_window(struct Win *);
40 void draw_windows (struct Win *);
41 void draw_windows_borders (struct Win *, struct Win *, struct Corners *, int);
42 void draw_window_borders (struct Win *, char);
43 void draw_all_windows (struct WinMeta *);
44 void resize_window (struct WinMeta *, char);
45 void cycle_active_window (struct WinMeta *, char);
46 void shift_window (struct WinMeta *, char);