home · contact · privacy
Completely rebuilt how window borders are realized. Are now drawn in top window,...
[plomrogue] / windows.h
index c8b6841e94f1efece07741804f25e5b8b32895db..059ce5f2e53e3e57b1f881702ca5b48bcfe755f5 100644 (file)
--- a/windows.h
+++ b/windows.h
@@ -2,7 +2,8 @@ struct WinMeta {
   struct Win * chain_start;
   struct Win * chain_end;
   struct Win * active;
-  int height; };
+  int height;
+  int width; };
 
 struct Win {
   struct Win * prev;
@@ -18,6 +19,16 @@ struct Win {
   void (* draw) (struct Win *);
   void * data; };
 
+struct Corners {
+  int tl_y;
+  int tl_x;
+  int tr_y;
+  int tr_x;
+  int bl_y;
+  int bl_x;
+  int br_y;
+  int br_x; };
+
 struct  WinMeta init_win_meta (WINDOW *);
 struct Win init_window (struct WinMeta *, char *);
 void append_window (struct WinMeta *, struct Win *);
@@ -25,10 +36,11 @@ void suspend_window (struct WinMeta *, struct Win *);
 void place_window (struct WinMeta *, struct Win *);
 void update_windows (struct WinMeta *, struct Win *);
 void destroy_window (struct Win *);
-void draw_windows (struct WinMeta *, struct Win *);
+void draw_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 draw_window(struct WinMeta *, struct Win *);
-void undraw_window (WINDOW *);
 void resize_window (struct WinMeta *, char);
 void cycle_active_window (struct WinMeta *, char);
 void shift_window (struct WinMeta *, char);