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