LibGfx+WindowServer: Ensure constrain-to-rect ends up inside the rect

This commit is contained in:
Ben Wiederhake 2023-05-06 20:54:38 +02:00 committed by Jelle Raaijmakers
parent 4c2ad70066
commit 4b7639c3b5
Notes: sideshowbarker 2024-07-17 00:59:43 +09:00
2 changed files with 3 additions and 3 deletions

View file

@ -15,8 +15,8 @@ namespace Gfx {
template<typename T>
void Point<T>::constrain(Rect<T> const& rect)
{
m_x = AK::clamp<T>(x(), rect.left(), rect.left() + rect.width());
m_y = AK::clamp<T>(y(), rect.top(), rect.top() + rect.height());
m_x = AK::clamp<T>(x(), rect.left(), rect.right());
m_y = AK::clamp<T>(y(), rect.top(), rect.bottom());
}
template<typename T>

View file

@ -421,7 +421,7 @@ void ScreenInput::on_receive_mouse_data(MousePacket const& packet)
auto* moved_to_screen = Screen::find_by_location(m_cursor_location);
if (!moved_to_screen) {
m_cursor_location = m_cursor_location.constrained(current_screen.rect());
m_cursor_location.constrain(current_screen.rect());
moved_to_screen = &current_screen;
}