haiku/headers/private/interface
John Scipione 1482b250a7 IK: Update scroll bars for alternative control look
Scroll bars should look and work identically to before on
HaikuControlLook.

Add DrawScrollBarButton() and DrawScrollBarThumb() and
DrawScrollBarBorder() methods. These methods are used to draw scroll
bars in a generic way so that they can be drawn differently by alternative
control look's (e.g. BeControlLook). Also it gives us back drawing of
scroll bar knobs.  However the knob setting is not exposed in the
interface in this commit.

These methods are in addition to the 2 existing DrawScrollBarBackground()
methods that draw the scroll bar background. One draws the area above and
below the thumb and the other is called by the first to actually draw the
area.

The rest of the drawing besides the backgrounds was being done in
BScrollBar before. To draw the scroll bar arrows and thumb we were recyling
other ControlLook methods, while this worked well enough on HaikuControlLook
it wasn't flexible enough for alternative control looks.

DrawScrollBarButton() is used to draw the four scroll buttons and is
typically (so far) used in combination with DrawArrowShape().

DrawScrollBarThumb() draws the scroll bar thumb.

DrawScrollBarBorder() draws a 1px border around the entire scroll bar,
potentially B_KEYBOARD_NAVIGATION_COLOR if focused (although this is
feature not currently used.)

Draw unscrollable scroll bars as if they were disabled including the
buttons with their arrow shapes, background, and thumb.

Add FBC backwords compatibility macros in ControlLook.cpp

Change-Id: I9237c5ce45d17d674785111d51de951e5686306b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/351
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-04-11 16:57:54 +00:00
..
AboutWindow.h BAboutWindow: Put the AboutView and StripeView into BPrivate. 2016-01-06 15:08:34 -05:00
AbstractSpinner.h BAbstractSpinner Colors 2016-01-10 18:51:04 +13:00
BitmapPrivate.h Make it possible to reconnect BBitmap to the app_server. 2012-01-22 15:30:15 +13:00
BMCPrivate.h BMenu and friends: style fixes 2016-07-31 19:42:39 -07:00
clipping.h clipping.h: Rewrite copyright header to use the "new" style. 2020-03-01 18:20:56 +00:00
ColorConversion.h * Introduced PaletteConverter::IndexForRGBA32() which checks if the alpha 2010-04-30 11:29:14 +00:00
ColorMenuItem.h BColorMenuItem: add custom color menufield 2016-07-31 19:42:39 -07:00
ColumnListView.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
ColumnTypes.h A bunch of style fixes 2014-12-02 19:23:51 -05:00
DecimalSpinner.h BSpinner: Set min value then max value 2017-01-12 14:15:44 -08:00
DecoratorPrivate.h * Put the decor stuff in the BPrivate namespace, as it should have been from 2011-05-21 18:12:25 +00:00
DecorInfo.h Update DecorInfo to scan for decorators 2014-02-20 19:31:49 -05:00
DefaultColors.h * There is now a server_read_only_memory structure that is placed in a (surprise!) 2006-04-25 20:12:06 +00:00
DeskbarPrivate.h Deskbar: Resizable tray 2018-11-04 19:00:49 +00:00
DirectWindowPrivate.h now uses DIRECT_BUFFER_INFO_AREA_SIZE as the direct_buffer_info area size 2008-11-05 23:40:29 +00:00
DraggerPrivate.h * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server. 2007-02-21 07:57:21 +00:00
FontPrivate.h More font work: 2005-11-07 11:02:39 +00:00
HaikuControlLook.h IK: Update scroll bars for alternative control look 2020-04-11 16:57:54 +00:00
Icon.h BControl: Move icon code to separate class BIcon 2013-12-22 15:17:53 +01:00
input_globals.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
InterfacePrivate.h Add basic support for loading ControlLook add-ons 2019-05-13 22:15:30 +00:00
MenuItemPrivate.h BColorMenuItem: add custom color menufield 2016-07-31 19:42:39 -07:00
MenuPrivate.h Visually align shortcuts in menus 2020-02-04 23:06:54 +00:00
MenuWindow.h BMenu: scroll marked item into view when menu has scrollers attached. 2013-05-03 21:10:51 +02:00
Palette.h Fix extra token at end of #endif 2007-11-21 22:57:33 +00:00
PictureDataWriter.h Fix some cases of updating draw state while recording a BPicture 2019-01-06 00:06:56 +00:00
PicturePlayer.h Fix some cases of updating draw state while recording a BPicture 2019-01-06 00:06:56 +00:00
PicturePrivate.h Forgot this file. 2012-01-22 15:30:18 +13:00
PictureProtocol.h Fix some cases of updating draw state while recording a BPicture 2019-01-06 00:06:56 +00:00
PrivateScreen.h Support for configuring screen backlight 2017-11-21 09:12:18 +01:00
RegionSupport.h RegionSupport: Fix PVS 338-346 2018-11-30 21:13:14 +00:00
ShapePrivate.h Interface: Add casts to memcpy/memset invocations on BPoint & BRect. 2019-05-24 16:10:13 -04:00
Spinner.h BSpinner: Set min value then max value 2017-01-12 14:15:44 -08:00
StackAndTilePrivate.h - Make MessageForListener a bit more flexible, passing a fix ServerLink is sometimes not enough and a separate sender and receiver is needed. 2010-11-20 06:47:20 +00:00
TabViewPrivate.h TabView: Add TabViewPrivate class, actually fix non-layout SetView. 2015-07-14 11:04:39 -04:00
TextViewSupportBuffer.h Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
ToolTip.h * Made the BToolTip interface a bit more convenient to use when subclassing it. 2009-08-11 12:32:12 +00:00
ToolTipManager.h Refactor ToolTipManager a bit. 2012-05-02 23:51:49 -04:00
ToolTipWindow.h Moved stable tool tip concept into the BToolManager class. 2012-04-28 22:14:03 +02:00
truncate_string.h * Replace the truncate_string() helper function with a new, simplified version. 2010-02-01 18:43:03 +00:00
utf8_functions.h utf8_functions.h: Fix PVS 359 2019-01-09 17:44:19 +00:00
ViewPort.h Add private BViewPort class 2013-09-11 04:51:03 +02:00
ViewPrivate.h Set*UIColor, etc. 2016-01-04 06:48:22 -05:00
WidthBuffer.h * cleanup and style fixes in WidthBuffer 2010-08-11 18:03:37 +00:00
WindowInfo.h WindowInfo: spaces => tabs 2016-03-31 14:39:49 -07:00
WindowPrivate.h Fixes #7796. The decorator add-on is unloaded when not needed anymore. Avoid assigning offscreen windows a window behaviour (which lives in an add-on). When loading another add-on the offscreen window was still pointing to an invalid window behaviour. 2011-07-25 03:32:14 +00:00
WindowStack.h Fix coding style. 2010-08-20 04:34:18 +00:00
ZombieReplicantView.h Final part of cleanup in Catalog.h. 2012-04-16 00:04:41 +02:00