Luna/wind/Window.h
apio 9a9c7e577a
All checks were successful
continuous-integration/drone/push Build is passing
wind+libui+taskbar: Add various window types and never focus the taskbar
2023-09-27 18:14:32 +02:00

35 lines
632 B
C

#pragma once
#include <luna/LinkedList.h>
#include <luna/String.h>
#include <ui/Canvas.h>
#include <ui/Color.h>
#include <ui/Rect.h>
#include <ui/ipc/Server.h>
struct Client;
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 };
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<Window> g_windows;