#17079: BScrollBar MouseMoved() to left doesn't reach minimum range
--------------------------------+--------------------------
Reporter: smallstepforman | Owner: nobody
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Kits/Interface Kit | Version: R1/beta2
Keywords: BScrollBar | Blocked By:
Blocking: | Platform: All
--------------------------------+--------------------------
Use the BScrollBar::SetRange(min, max) function to set a range of (0,
10'000.0f). Use the mouse to move the scroll bar anywhere to the right,
then try to bring it as far to the left as possible. The ScrollTo(BPoint)
hook function will not go left to range_min, instead it will be at say 21
or similar. Only the arrow icons can bring the range down to 1. From a
usability point of view, the user wants to scroll as far left as possible
using the thumb but that is not happening - it is bad interface design to
force the user once they finish moving the thumb to then switch to the
arrows.
When a range is set to (0, 100) then it works as intended. Any larger
factor for max range no longer allows scroll bar to go left. Limiting the
range to only 100 steps causes problems for extra wide views (eg. a
timeline for a video player)
BScrollBar::MouseMoved() has suspect offset in SetValue(_ValueFor(where +
fPrivateData->fClickOffset)); It needs to also cater for left edge
scenario.
--
Ticket URL: <https://dev.haiku-os.org/ticket/17079>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.