wlroots-hyprland/include/util
Manuel Stoeckl d180f4d9b3 util: add struct to track union of rectangles
The new struct rect_union is designed to make it easier to
efficiently accumulate a list of rectangles, and then operate
on an exact cover of their union.

Using rect_union, the times needed to added t rectangles, and then
compute their exact cover will be O(t), and something between Ω(t) and
O(t^2), depending on the rectangle arrangement. If one tries to do
the same by storing a pixman_region32_t and updating it with
pixman_region32_union_rect(), then total time needed would be between
Ω(t^2) and O(t^3), depending on the input. Without changing the public
API (data structure + rectangle ordering rules) for pixman_region32_t,
it is impossible to improve its worst case time.
2023-10-05 11:45:32 +00:00
..
array.h util/array: unclutter 2022-08-29 13:48:42 +00:00
env.h util/env: make env_parse_switch() return a size_t 2022-12-06 16:14:18 +01:00
global.h util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
rect_union.h util: add struct to track union of rectangles 2023-10-05 11:45:32 +00:00
set.h util/set: overhaul 2022-08-29 13:48:42 +00:00
shm.h Add some missing includes/declarations 2023-06-05 21:06:19 +00:00
time.h Add some missing includes/declarations 2023-06-05 21:06:19 +00:00
token.h util/uuid: replace with util/token, remove libuuid 2021-04-11 19:09:36 +02:00