1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:27:45 +00:00

WindowServer: Add support for alpha channel based hit testing

This enables implementing non-rectangular window shapes, including
non-rectangular window frames.
This commit is contained in:
Tom 2021-02-14 16:42:37 -07:00 committed by Andreas Kling
parent b3f0a5c917
commit d590e0c946
12 changed files with 107 additions and 12 deletions

View file

@ -41,6 +41,7 @@ endpoint WindowServer = 2
bool frameless,
bool accessory,
float opacity,
float alpha_hit_threshold,
Gfx::IntSize base_size,
Gfx::IntSize size_increment,
Optional<Gfx::IntSize> resize_aspect_ratio,
@ -70,6 +71,8 @@ endpoint WindowServer = 2
SetGlobalCursorTracking(i32 window_id, bool enabled) => ()
SetWindowOpacity(i32 window_id, float opacity) => ()
SetWindowAlphaHitThreshold(i32 window_id, float threshold) => ()
SetWindowBackingStore(i32 window_id, i32 bpp, i32 pitch, IPC::File anon_file, i32 serial, bool has_alpha_channel, Gfx::IntSize size, bool flush_immediately) => ()
WM_SetActiveWindow(i32 client_id, i32 window_id) =|