mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-02-05 15:27:04 +00:00
LibGUI: Fix value slider so dragging left and right feels similar
When dragging value slider left, the handle would snap to lower value with the slightest move of the mouse. When dragging to the right however, it would take a lot more movement to cause a change in value. This asymmetry made it feel awkward to drag the mouse around. It was caused by always rounding down using a cast to int. By rounding to the nearest integer first, we ensure symmetric behavior.
This commit is contained in:
committed by
Andreas Kling
parent
c8547124e2
commit
a30b341a2c
@@ -146,7 +146,7 @@ int ValueSlider::value_at(Gfx::IntPoint position) const
|
||||
float relative_offset = (float)(position.x() - bar_rect().left()) / (float)bar_rect().width();
|
||||
|
||||
int range = max() - min();
|
||||
return min() + (int)(relative_offset * (float)range);
|
||||
return min() + (int)roundf(relative_offset * (float)range);
|
||||
}
|
||||
|
||||
void ValueSlider::set_value(int value, AllowCallback allow_callback, DoClamp do_clamp)
|
||||
|
||||
Reference in New Issue
Block a user