haiku/headers/private
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
..
app RosterPrivate: add IsShutDownInProgress() 2019-12-21 20:32:31 +00:00
audio audio: Move hmulti_audio driver API to private audio headers 2018-10-23 16:33:19 +02:00
binary_compatibility
bluetooth bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
debug
debugger Add (void*) casts to memcpy/memset invocations to appease GCC 8. 2019-05-24 14:21:37 -04:00
device acpi_battery: support for _BIX method. 2020-03-10 13:14:09 +00:00
drivers sdhci and mmc implementation 2019-02-19 18:33:25 +00:00
file_systems fixed btrfs_shell 2019-10-08 18:57:27 +02:00
firewire Minor tweaks to fix the build after the last commit. 2019-03-26 20:06:09 -04:00
fs_shell fixed btrfs_shell 2019-10-08 18:57:27 +02:00
graphics AreaKeeper.h: move to headers/private/kernel 2020-03-23 16:38:01 +00:00
i2c i2c: interfaces for busses, bus_manager, peripherals. 2020-04-10 11:25:39 +00:00
index_server
input Live update of Input preferences device list 2020-01-25 11:58:48 +00:00
interface IK: Update scroll bars for alternative control look 2020-04-11 16:57:54 +00:00
kernel Efi: fix headers for 32 bit platforms 2020-03-28 20:03:37 +00:00
libroot Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
locale
mail build: Cleanup of libgnuregex usage. 2018-03-07 18:04:31 -05:00
media Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
midi Midi: Remove some duplicated code 2015-08-27 11:51:57 +02:00
mount
net Fix clang warning "mismatched-tags" 2020-03-23 01:30:23 +00:00
notification Notification_Server: Added ability to choose position of notifications 2017-12-24 12:02:38 +01:00
package kit/package: Error on short file read 2019-08-05 15:07:24 +00:00
preferences Fix glitch in Screen prefs when changing background color. 2017-04-30 10:29:39 +02:00
print PictureIterator.h: fix header guard spelling 2016-07-10 17:11:20 +02:00
runtime_loader libroot: make API version available. 2019-09-13 13:38:08 +00:00
screen_saver ScreenSaver: Rename BuildScreenSaverDefaultSettingsView 2016-04-13 15:50:30 -07:00
shared BGeolocation: add position to country mapping 2019-12-03 08:01:14 +00:00
storage s/OpenBeOS License/MIT License/ universally, as they're the same thing. 2017-02-09 22:09:56 -05:00
support Add ZstdCompressionAlgorithm. 2017-11-24 21:35:49 +01:00
syslog_daemon syslog_daemon: Converted to BServer. 2015-07-22 20:40:47 +02:00
system headers: Move B_KERNEL_{EXECUTE,STACK}_AREA into KernelExport.h. 2020-03-01 21:12:49 +00:00
textencoding
tracker Tracker FindPanel: Make a copy of fDeviceIcon 2016-07-31 19:42:39 -07:00
usb_vision
userlandfs Relicense all of Ingo's BSD/MIT+advertising clause'd code as plain MIT. 2019-08-30 18:27:35 -04:00
virtio virtio: add clear_feature hook. 2020-03-21 17:16:45 +00:00
vmdk