#pragma once #include #include #include #include #include #include struct Client; struct Window : public LinkedListNode { ui::Rect surface; ui::Rect titlebar; ui::Rect close_button; ui::Rect contents; u32* pixels; String name; String shm_path; bool dirty { false }; Client* client; int id; ui::WindowType type; static int titlebar_height(); Window(ui::Rect, String&&, ui::WindowType); ~Window(); void focus(); void draw(ui::Canvas& screen); }; extern LinkedList g_windows;