History log of /haiku/src/preferences/appearance/FakeScrollBar.cpp
Revision Date Author Comments
# b2c77987 04-May-2020 John Scipione <jscipione@gmail.com>

Appearance prefs: Draw FakeScrollBar with BControlLook

... new scroll bar drawing methods.

Change-Id: I3f88f5a367142cbbd55e651793fff894d7c66508
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2578
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# fe66a314 22-Jul-2018 waddlesplash <waddlesplash@gmail.com>

Revert "BScrollBar: Add lines and dots knob styles to scroll bar"

This reverts commit ec1b18c58ae632444200f7e1f952ddd2e31048fa.

This was not well enough reviewed, and it seems that at least some
consumers of the old API (e.g. WebPositive) need more than the new one provides.

Change-Id: Ie7ad1fc70dab889922424298661504b00f66d31d


# 49c29fa9 22-Jul-2018 waddlesplash <waddlesplash@gmail.com>

Revert "Appearance Prefs: Add scroll bar knob setting"

This reverts commit 0988f80fed032d45efed92734f9487daa55d4e09.

Change-Id: I60ec2b05a7c66e3c3c8f18dc821d6213934b0cfb


# 0988f80f 23-Jan-2015 John Scipione <jscipione@gmail.com>

Appearance Prefs: Add scroll bar knob setting

Check values before setting them in SetFromScrollBarInfo

Pin arrow and knob settings to the top so they are aligned
Adjust vertical spacing on single/double to match knob style height

Only draw arrows on single/double FakeScrollBar

Change-Id: I6be89f86181a87808ba5201caf88a33c4414d4c8


# ec1b18c5 14-Jul-2018 John Scipione <jscipione@gmail.com>

BScrollBar: Add lines and dots knob styles to scroll bar

Fixes #9137

Move scroll bar drawing into HaikuControlLook

Added B_SCROLLABLE flag to BControlLook

Update FakeScrollBar in Appearance to also draw using HaikuControlLook.

Focus works on scroll bars again, used by FakeScrollBar... and probably
nowhere else.

Added private _ScrollingEnabled() convenience method to BScrollBar and
use it in a few places making.

Create ScrollBarPrivate.h header to share a couple of scroll bar related
enums with HaikuControlLook that come from BeOS Scroll Bar prefs.

Stuff arrow_direction enum into BScrollBar::Private as it has been
succeeded by a similar enum already present in BControlLook and is only
around now for BScrollBar::Private::DrawScrollBarButton.

Change-Id: Idc31ee41de091ba45ded2f0315a004af00143803


# f9b1a47f 03-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Use be_control_look for BScrollBar and FakeScrollBar.

Remove all code which checks for be_control_look being NULL.

Also fix the DrawArrowShape method in be_control_look so the arrow is aligned,
as per the previous commit. In addition the code to offset the arrow when the
scroll button is pressed was unnecessary.

There is still some room for improvement, and I am not happy with the
BControlLook behavior here, as noted in some TODOs.


# 8a920099 02-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Fix Scrollbar arrow button alignment.

The arrow symbol on the right and down buttons was off by one pixel.

Because of the resurrected FakeScrollbar in the Appearance preflet I had to
change this code in two places, which makes me unhappy. This needs to be pulled
into BControlLook.

Fixes #9104.


# b5446310 04-Nov-2012 John Scipione <jscipione@gmail.com>

Remove the scroll bar knobs and corresponding setting


# 68c70f9b 02-Nov-2012 John Scipione <jscipione@gmail.com>

Variable name cleanup


# a4f0328e 02-Nov-2012 John Scipione <jscipione@gmail.com>

Rename hextent and vextent to knobWidth and knobHeight


# 0dead7dd 02-Nov-2012 John Scipione <jscipione@gmail.com>

No reason to check to see if the scrollbar knobs will fit for the fake scrollbar, just assume they will


# dfa8cf8c 02-Nov-2012 John Scipione <jscipione@gmail.com>

Change SCROLL_KNOB_* constants to B_SCROLL_KNOB_*


# 12a7abb6 01-Nov-2012 John Scipione <jscipione@gmail.com>

Make the fake scrollbar controls navigatable by the keyboard


# 928ffe6d 01-Nov-2012 John Scipione <jscipione@gmail.com>

Allow the user to select the scrollbar setting graphically.

This uses custom controls to allow the user to choose between
single and double arrows and none, dots, or line knob styles
in a graphical fashion copied from BeOS Scrollbar preflet.


# f9b1a47fa329a440024cfcb45a82841ff6961f42 03-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Use be_control_look for BScrollBar and FakeScrollBar.

Remove all code which checks for be_control_look being NULL.

Also fix the DrawArrowShape method in be_control_look so the arrow is aligned,
as per the previous commit. In addition the code to offset the arrow when the
scroll button is pressed was unnecessary.

There is still some room for improvement, and I am not happy with the
BControlLook behavior here, as noted in some TODOs.


# 8a9200992e8faad457261a888a8689f5aa4bfda7 02-Mar-2013 Ryan Leavengood <leavengood@gmail.com>

Fix Scrollbar arrow button alignment.

The arrow symbol on the right and down buttons was off by one pixel.

Because of the resurrected FakeScrollbar in the Appearance preflet I had to
change this code in two places, which makes me unhappy. This needs to be pulled
into BControlLook.

Fixes #9104.


# b5446310e961f84511a71964c4dca96ce6b7d2f9 04-Nov-2012 John Scipione <jscipione@gmail.com>

Remove the scroll bar knobs and corresponding setting


# 68c70f9b6dc96d50f677862c579a65085dd7d300 02-Nov-2012 John Scipione <jscipione@gmail.com>

Variable name cleanup


# a4f0328efe7fe56e8e49575eb31a0ac18b676c0b 02-Nov-2012 John Scipione <jscipione@gmail.com>

Rename hextent and vextent to knobWidth and knobHeight


# 0dead7ddb6f5eee8ae882c7fd548be9d0e5a53fc 02-Nov-2012 John Scipione <jscipione@gmail.com>

No reason to check to see if the scrollbar knobs will fit for the fake scrollbar, just assume they will


# dfa8cf8c05bd7173fa5f25170bc297757175daab 02-Nov-2012 John Scipione <jscipione@gmail.com>

Change SCROLL_KNOB_* constants to B_SCROLL_KNOB_*


# 12a7abb6fab98e7f21d5b5bee418bd7b172d6e10 01-Nov-2012 John Scipione <jscipione@gmail.com>

Make the fake scrollbar controls navigatable by the keyboard


# 928ffe6dee3b7d183f0a9dfef02d0aae28232364 01-Nov-2012 John Scipione <jscipione@gmail.com>

Allow the user to select the scrollbar setting graphically.

This uses custom controls to allow the user to choose between
single and double arrows and none, dots, or line knob styles
in a graphical fashion copied from BeOS Scrollbar preflet.