*in progress*
[winnie] / src / wm.h
index e3f4040..15c197b 100644 (file)
--- a/src/wm.h
+++ b/src/wm.h
@@ -2,6 +2,7 @@
 #define WM_H_
 
 #include <list>
+
 #include "geom.h"
 #include "pixmap.h"
 
@@ -10,20 +11,33 @@ class Window;
 class WindowManager {
 private:
        std::list<Window*> windows;
+       std::list<Window*> frames;
+
        std::list<Rect> dirty_rects;
 
        int bg_color[3];
+       int frame_thickness;
+       int titlebar_thickness;
+       int frame_fcolor[3];
+       int frame_ucolor[3];
+
+       Window *root_win;
        Window *focused_win;
 
        Pixmap mouse_cursor;
 
+       void create_frame(Window *win);
+       void destroy_frame(Window *win);
+
 public:
        WindowManager();
+       ~WindowManager();
 
        void invalidate_region(const Rect &rect);
        void process_windows();
 
        void add_window(Window *win);
+       void remove_window(Window *win);
 
        void set_focused_window(Window *win);
        const Window *get_focused_window() const;