WindowServer: Implement fullscreen windows

If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance.
This commit is contained in:
2024-11-13 19:10:15 +02:00
parent 5e041e6e5a
commit bda2c663da
6 changed files with 125 additions and 1 deletions

View File

@@ -371,6 +371,10 @@ int main()
if (auto ret = LibGUI::WindowPacket::WindowSetSize::deserialize(client_data.packet_buffer.span()); !ret.is_error())
window_server.on_window_set_size(fd, ret.release_value());
break;
case LibGUI::PacketType::WindowSetFullscreen:
if (auto ret = LibGUI::WindowPacket::WindowSetFullscreen::deserialize(client_data.packet_buffer.span()); !ret.is_error())
window_server.on_window_set_fullscreen(fd, ret.release_value());
break;
default:
dprintln("unhandled packet type: {}", *reinterpret_cast<uint32_t*>(client_data.packet_buffer.data()));
}