Luna/gui/wind/Layer.h
apio fb3333a086
All checks were successful
Build and test / build (push) Successful in 1m38s
wind: Remove special window attributes and add different window layers.
Two layers are accessible to all apps: global and global_top (for popups and similar windows).
Three other layers are accessible to privileged clients (background, system and lock), for things that need to be on a different level than user apps, like the taskbar, system popups, menus and the lock screen.
2024-12-13 21:53:12 +01:00

21 lines
485 B
C

#pragma once
#include "Window.h"
#include <luna/LinkedList.h>
#include <ui/Canvas.h>
struct Layer
{
LinkedList<Window> windows;
static Window* focused_window();
static void draw_all_windows(ui::Canvas& canvas);
static Window* propagate_mouse_event(ui::Point position, u8 buttons);
static Window* propagate_drag_event(ui::Point position);
};
extern Layer l_background;
extern Layer l_global;
extern Layer l_global_top;
extern Layer l_system;
extern Layer l_lock;