diff --git a/src/add-ons/screen_savers/gravity/ColorItem.cpp b/src/add-ons/screen_savers/gravity/ColorItem.cpp index e24262689c..586283a655 100644 --- a/src/add-ons/screen_savers/gravity/ColorItem.cpp +++ b/src/add-ons/screen_savers/gravity/ColorItem.cpp @@ -51,12 +51,12 @@ ColorItem::DrawItem(BView* owner, BRect frame, bool complete) owner->FillRect(frame); } - float spacer = floorf(be_control_look->DefaultItemSpacing() / 2); + float spacer = ceilf(be_control_look->DefaultItemSpacing() / 2); BRect colorRect(frame); colorRect.InsetBy(2.0f, 2.0f); colorRect.left += spacer; - colorRect.right = colorRect.left + colorRect.Height() * M_PHI; + colorRect.right = colorRect.left + floorf(colorRect.Height() * M_PHI); // draw the colored box owner->SetHighColor(fColor); diff --git a/src/add-ons/screen_savers/gravity/RainbowItem.cpp b/src/add-ons/screen_savers/gravity/RainbowItem.cpp index ced330337a..846ad0d021 100644 --- a/src/add-ons/screen_savers/gravity/RainbowItem.cpp +++ b/src/add-ons/screen_savers/gravity/RainbowItem.cpp @@ -50,12 +50,12 @@ RainbowItem::DrawItem(BView* owner, BRect frame, bool complete) owner->FillRect(frame); } - float spacer = floorf(be_control_look->DefaultItemSpacing() / 2); + float spacer = ceilf(be_control_look->DefaultItemSpacing() / 2); BRect colorRect(frame); colorRect.InsetBy(2.0f, 2.0f); colorRect.left += spacer; - colorRect.right = colorRect.left + colorRect.Height() * M_PHI; + colorRect.right = colorRect.left + floorf(colorRect.Height() * M_PHI); // draw the rainbow BGradientLinear gradient; diff --git a/src/preferences/appearance/ColorWhichItem.cpp b/src/preferences/appearance/ColorWhichItem.cpp index f380228e71..2cd96c750b 100644 --- a/src/preferences/appearance/ColorWhichItem.cpp +++ b/src/preferences/appearance/ColorWhichItem.cpp @@ -1,21 +1,32 @@ /* - * Copyright 2002-2013 Haiku, Inc. All rights reserved. + * Copyright 2001-2002 OpenBeOS + * Copyright 2003-2016 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * DarkWyrm, darkwyrm@earthlink.net * Rene Gollent, rene@gollent.com * Ryan Leavengood, leavengood@gmail.com + * John Scipione, jscipione@gmail.com */ #include "ColorWhichItem.h" -#include +#include + +#include + + +// golden ratio +#ifdef M_PHI +# undef M_PHI +#endif +#define M_PHI 1.61803398874989484820 ColorWhichItem::ColorWhichItem(const char* text, color_which which, - rgb_color color) + rgb_color color) : BStringItem(text, 0, false), fColorWhich(which), @@ -32,7 +43,7 @@ ColorWhichItem::DrawItem(BView* owner, BRect frame, bool complete) if (IsSelected() || complete) { if (IsSelected()) { - owner->SetHighColor(ui_color(B_LIST_SELECTED_BACKGROUND_COLOR)); + owner->SetHighUIColor(B_LIST_SELECTED_BACKGROUND_COLOR); owner->SetLowColor(owner->HighColor()); } else owner->SetHighColor(lowColor); @@ -40,18 +51,18 @@ ColorWhichItem::DrawItem(BView* owner, BRect frame, bool complete) owner->FillRect(frame); } - rgb_color border = (rgb_color){ 184, 184, 184, 255 }; + float spacer = ceilf(be_control_look->DefaultItemSpacing() / 2); BRect colorRect(frame); - colorRect.InsetBy(2, 2); - colorRect.right = colorRect.left + colorRect.Height(); + colorRect.InsetBy(2.0f, 2.0f); + colorRect.left += spacer; + colorRect.right = colorRect.left + floorf(colorRect.Height() * M_PHI); owner->SetHighColor(fColor); owner->FillRect(colorRect); - owner->SetHighColor(border); + owner->SetHighUIColor(B_CONTROL_BORDER_COLOR); owner->StrokeRect(colorRect); - owner->MovePenTo(frame.left + colorRect.Width() + 8, frame.top - + BaselineOffset()); + owner->MovePenTo(colorRect.right + spacer, frame.top + BaselineOffset()); if (!IsEnabled()) { rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR); @@ -61,9 +72,9 @@ ColorWhichItem::DrawItem(BView* owner, BRect frame, bool complete) owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT)); } else { if (IsSelected()) - owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR)); + owner->SetHighUIColor(B_LIST_SELECTED_ITEM_TEXT_COLOR); else - owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR)); + owner->SetHighUIColor(B_LIST_ITEM_TEXT_COLOR); } owner->DrawString(Text()); diff --git a/src/preferences/appearance/ColorWhichItem.h b/src/preferences/appearance/ColorWhichItem.h index 09c5db3550..24850a7812 100644 --- a/src/preferences/appearance/ColorWhichItem.h +++ b/src/preferences/appearance/ColorWhichItem.h @@ -1,5 +1,6 @@ /* - * Copyright 2001-2008, Haiku. + * Copyright 2001-2002 OpenBeOS + * Copyright 2003-2016 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: @@ -13,8 +14,7 @@ #include -#include -#include +#include class ColorWhichItem : public BStringItem