#pragma once #include <luna/LinkedList.h> #include <luna/String.h> #include <ui/Canvas.h> #include <ui/Color.h> #include <ui/Rect.h> struct Window : public LinkedListNode<Window> { ui::Rect surface; ui::Rect titlebar; ui::Rect close_button; ui::Rect contents; u32* pixels; String name; bool dirty { false }; static int titlebar_height(); Window(ui::Rect, String&&); ~Window(); void focus(); void draw(ui::Canvas& screen); }; extern LinkedList<Window> g_windows;