Add B_SCROLL_BAR_THUMB_COLOR constant.
This allows you to change the scrollbar thumb color in Appearance preferences. The default color is 216, 216, 216 so the scroll bar thumb looks the same by default. Perhaps someday this can be updated to something a bit more colorful.
This commit is contained in:
parent
631624fb01
commit
9f24981a56
@ -311,6 +311,8 @@ enum color_which {
|
||||
B_LIST_ITEM_TEXT_COLOR = 30,
|
||||
B_LIST_SELECTED_ITEM_TEXT_COLOR = 31,
|
||||
|
||||
B_SCROLL_BAR_THUMB_COLOR = 32,
|
||||
|
||||
B_TOOL_TIP_BACKGROUND_COLOR = 20,
|
||||
B_TOOL_TIP_TEXT_COLOR = 21,
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <InterfaceDefs.h>
|
||||
|
||||
|
||||
static const int32 kNumColors = 34;
|
||||
static const int32 kNumColors = 35;
|
||||
|
||||
struct server_read_only_memory {
|
||||
rgb_color colors[kNumColors];
|
||||
@ -26,10 +26,10 @@ static inline int32
|
||||
color_which_to_index(color_which which)
|
||||
{
|
||||
// NOTE: this must be kept in sync with InterfaceDefs.h color_which!
|
||||
if (which <= B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
if (which <= B_SCROLL_BAR_THUMB_COLOR)
|
||||
return which - 1;
|
||||
if (which >= B_SUCCESS_COLOR && which <= B_FAILURE_COLOR)
|
||||
return which - B_SUCCESS_COLOR + B_LIST_SELECTED_ITEM_TEXT_COLOR;
|
||||
return which - B_SUCCESS_COLOR + B_SCROLL_BAR_THUMB_COLOR;
|
||||
|
||||
return -1;
|
||||
}
|
||||
@ -39,11 +39,11 @@ static inline color_which
|
||||
index_to_color_which(int32 index)
|
||||
{
|
||||
if (index >= 0 && index < kNumColors) {
|
||||
if ((color_which)index < B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
if ((color_which)index < B_SCROLL_BAR_THUMB_COLOR)
|
||||
return (color_which)(index + 1);
|
||||
else {
|
||||
return (color_which)(index + B_SUCCESS_COLOR
|
||||
- B_LIST_SELECTED_ITEM_TEXT_COLOR);
|
||||
- B_SCROLL_BAR_THUMB_COLOR);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,6 +57,7 @@ static struct option const kLongOptions[] = {
|
||||
I(list_selected_background_color, B_LIST_SELECTED_BACKGROUND_COLOR),
|
||||
I(list_item_text_color, B_LIST_ITEM_TEXT_COLOR),
|
||||
I(list_selected_item_text_color, B_LIST_SELECTED_ITEM_TEXT_COLOR),
|
||||
I(scroll_bar_thumb_color, B_SCROLL_BAR_THUMB_COLOR),
|
||||
I(tooltip_background_color, B_TOOL_TIP_BACKGROUND_COLOR),
|
||||
I(tooltip_text_color, B_TOOL_TIP_TEXT_COLOR),
|
||||
I(success_color, B_SUCCESS_COLOR),
|
||||
|
@ -101,6 +101,7 @@ static const rgb_color _kDefaultColors[kNumColors] = {
|
||||
{153, 153, 153, 255}, // B_LIST_SELECTED_BACKGROUND_COLOR
|
||||
{0, 0, 0, 255}, // B_LIST_ITEM_TEXT_COLOR
|
||||
{0, 0, 0, 255}, // B_LIST_SELECTED_ITEM_TEXT_COLOR
|
||||
{216, 216, 216, 255}, // B_SCROLL_BAR_THUMB_COLOR
|
||||
// 100...
|
||||
{0, 255, 0, 255}, // B_SUCCESS_COLOR
|
||||
{255, 0, 0, 255}, // B_FAILURE_COLOR
|
||||
|
@ -965,11 +965,13 @@ BScrollBar::Draw(BRect updateRect)
|
||||
bottomOfThumb, updateRect, normal, flags, fOrientation);
|
||||
}
|
||||
|
||||
rgb_color thumbColor = ui_color(B_SCROLL_BAR_THUMB_COLOR);
|
||||
|
||||
// Draw scroll thumb
|
||||
if (enabled) {
|
||||
// fill the clickable surface of the thumb
|
||||
be_control_look->DrawButtonBackground(this, rect, updateRect,
|
||||
normal, 0, BControlLook::B_ALL_BORDERS, fOrientation);
|
||||
thumbColor, 0, BControlLook::B_ALL_BORDERS, fOrientation);
|
||||
// TODO: Add the other thumb styles - dots and lines
|
||||
} else {
|
||||
if (fMin >= fMax || fProportion >= 1.0 || fProportion < 0.0) {
|
||||
|
@ -53,6 +53,8 @@ static ColorDescription sColorDescriptionTable[] =
|
||||
{ B_LIST_ITEM_TEXT_COLOR, B_TRANSLATE_MARK("List item text") },
|
||||
{ B_LIST_SELECTED_ITEM_TEXT_COLOR,
|
||||
B_TRANSLATE_MARK("Selected list item text") },
|
||||
{ B_SCROLL_BAR_THUMB_COLOR,
|
||||
B_TRANSLATE_MARK("Scroll bar thumb") },
|
||||
{ B_TOOL_TIP_BACKGROUND_COLOR, B_TRANSLATE_MARK("Tooltip background") },
|
||||
{ B_TOOL_TIP_TEXT_COLOR, B_TRANSLATE_MARK("Tooltip text") },
|
||||
{ B_SUCCESS_COLOR, B_TRANSLATE_MARK("Success") },
|
||||
|
Loading…
Reference in New Issue
Block a user