+
+ void add_window(Window *win);
+ void remove_window(Window *win);
+
+ void set_focused_window(Window *win);
+ const Window *get_focused_window() const;
+ Window *get_focused_window();
+
+ Window *get_window_at_pos(int pointer_x, int pointer_y);
+
+ Window *get_grab_window() const;
+
+ void grab_mouse(Window *win);
+ void release_mouse();