1482b250a7
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> |
||
---|---|---|
.. | ||
add-ons | ||
app | ||
arch | ||
be_apps | ||
bluetooth | ||
device | ||
drivers | ||
game | ||
interface | ||
kernel | ||
locale | ||
media | ||
midi | ||
midi2 | ||
net | ||
package | ||
storage | ||
support | ||
translation | ||
AppKit.h | ||
Be.h | ||
BeBuild.h | ||
DeviceKit.h | ||
GameKit.h | ||
InterfaceKit.h | ||
KernelKit.h | ||
LocaleKit.h | ||
MailKit.h | ||
MediaKit.h | ||
MidiKit.h | ||
NetKit.h | ||
NetworkKit.h | ||
StorageKit.h | ||
SupportKit.h | ||
TranslationKit.h |