mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 00:31:14 +00:00
WindowServer: Make vertical maximize work on other screens
This doesn't yet restrict rendering to the screen it's being maximized on.
This commit is contained in:
parent
640db93bdd
commit
4c8f7113ff
Notes:
sideshowbarker
2024-07-18 11:24:08 +09:00
Author: https://github.com/tomuta Commit: https://github.com/SerenityOS/serenity/commit/4c8f7113ff9 Pull-request: https://github.com/SerenityOS/serenity/pull/8278
|
@ -661,8 +661,11 @@ bool WindowManager::process_ongoing_window_resize(MouseEvent const& event)
|
|||
if (event.type() == Event::MouseUp && event.button() == m_resizing_mouse_button) {
|
||||
dbgln_if(RESIZE_DEBUG, "[WM] Finish resizing Window({})", m_resize_window);
|
||||
|
||||
auto max_rect = maximized_window_rect(*m_resize_window);
|
||||
if (event.y() > max_rect.bottom()) {
|
||||
const int vertical_maximize_deadzone = 5;
|
||||
auto& cursor_screen = ScreenInput::the().cursor_location_screen();
|
||||
if (&cursor_screen == &Screen::closest_to_rect(m_resize_window->rect())) {
|
||||
auto desktop_rect = this->desktop_rect(cursor_screen);
|
||||
if (event.y() >= desktop_rect.bottom() - vertical_maximize_deadzone + 1 || event.y() <= desktop_rect.top() + vertical_maximize_deadzone - 1) {
|
||||
dbgln_if(RESIZE_DEBUG, "Should Maximize vertically");
|
||||
m_resize_window->set_vertically_maximized();
|
||||
m_resize_window = nullptr;
|
||||
|
@ -670,6 +673,7 @@ bool WindowManager::process_ongoing_window_resize(MouseEvent const& event)
|
|||
m_resizing_mouse_button = MouseButton::None;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Core::EventLoop::current().post_event(*m_resize_window, make<ResizeEvent>(m_resize_window->rect()));
|
||||
m_resize_window->invalidate(true, true);
|
||||
|
|
Loading…
Reference in a new issue