mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 04:37:34 +00:00
WindowServer: Always return properly cropped bitmap
Previously, when `screen_index` was not provided when calling `ClientConnection::get_screen_bitmap`, the bitmap that was created was always the size of the bounding rect of the screen. The actual screen bitmap was being cropped, but the bitmap being returned was of the original size with just black pixels everywhere else.
This commit is contained in:
parent
16830a60ec
commit
5f23958abd
1 changed files with 2 additions and 1 deletions
|
@ -973,7 +973,8 @@ Messages::WindowServer::GetScreenBitmapResponse ClientConnection::get_screen_bit
|
|||
return bitmap.to_shareable_bitmap();
|
||||
}
|
||||
// TODO: Mixed scale setups at what scale? Lowest? Highest? Configurable?
|
||||
if (auto bitmap = Gfx::Bitmap::try_create(Gfx::BitmapFormat::BGRx8888, Screen::bounding_rect().size(), 1)) {
|
||||
auto bitmap_size = rect.value_or(Screen::bounding_rect()).size();
|
||||
if (auto bitmap = Gfx::Bitmap::try_create(Gfx::BitmapFormat::BGRx8888, bitmap_size, 1)) {
|
||||
Gfx::Painter painter(*bitmap);
|
||||
Screen::for_each([&](auto& screen) {
|
||||
auto screen_rect = screen.rect();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue