1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:18:12 +00:00

LibGUI: Account for scrollbar width when calculating autoscroll delta

This commit is contained in:
Marcus Nilsson 2021-09-19 20:26:22 +02:00 committed by Andreas Kling
parent 994e33b0f7
commit 53cfc6ec9f

View file

@ -242,13 +242,13 @@ Gfx::IntPoint AbstractScrollableWidget::automatic_scroll_delta_from_position(con
if (pos.y() < m_autoscroll_threshold)
delta.set_y(clamp(-(m_autoscroll_threshold - pos.y()), -m_autoscroll_threshold, 0));
else if (pos.y() > height() - m_autoscroll_threshold)
delta.set_y(clamp(m_autoscroll_threshold - (height() - pos.y()), 0, m_autoscroll_threshold));
else if (pos.y() > widget_inner_rect().height() - m_autoscroll_threshold)
delta.set_y(clamp(m_autoscroll_threshold - (widget_inner_rect().height() - pos.y()), 0, m_autoscroll_threshold));
if (pos.x() < m_autoscroll_threshold)
delta.set_x(clamp(-(m_autoscroll_threshold - pos.x()), -m_autoscroll_threshold, 0));
else if (pos.x() > width() - m_autoscroll_threshold)
delta.set_x(clamp(m_autoscroll_threshold - (width() - pos.x()), 0, m_autoscroll_threshold));
else if (pos.x() > widget_inner_rect().width() - m_autoscroll_threshold)
delta.set_x(clamp(m_autoscroll_threshold - (widget_inner_rect().width() - pos.x()), 0, m_autoscroll_threshold));
return delta;
}