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