X-Git-Url: http://git.mutantstargoat.com?p=winnie;a=blobdiff_plain;f=src%2Fwm.h;h=15c197b85ee35a73b7e5377c7e787a59501754ce;hp=fc10953716231068e9a9518a03c5515de0145259;hb=a43297a61d69ca5fa5bb7ae8407757da978b4dd4;hpb=52e08b5a5e7d44271d217892372c6c0878484c44 diff --git a/src/wm.h b/src/wm.h index fc10953..15c197b 100644 --- a/src/wm.h +++ b/src/wm.h @@ -2,25 +2,42 @@ #define WM_H_ #include + #include "geom.h" +#include "pixmap.h" class Window; class WindowManager { private: std::list windows; + std::list frames; + std::list 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;