[haiku-bugs] [Haiku] #17079: BScrollBar MouseMoved() to left doesn't reach minimum range

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Mon, 12 Jul 2021 23:21:47 -0000

#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.

Other related posts: