* Small coding style improvements.
* fPreferredSize was not initialized for the archive constructor. * Added comment to archive constructor, because I was wondering how the default button status was reconstructed or the archive code path. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26424 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -60,10 +60,13 @@ BButton::~BButton()
|
|||||||
|
|
||||||
|
|
||||||
BButton::BButton(BMessage *archive)
|
BButton::BButton(BMessage *archive)
|
||||||
: BControl (archive)
|
: BControl(archive),
|
||||||
|
fPreferredSize(-1, -1)
|
||||||
{
|
{
|
||||||
if (archive->FindBool("_default", &fDrawAsDefault) != B_OK)
|
if (archive->FindBool("_default", &fDrawAsDefault) != B_OK)
|
||||||
fDrawAsDefault = false;
|
fDrawAsDefault = false;
|
||||||
|
// NOTE: Default button state will be synchronized with the window
|
||||||
|
// in AttachedToWindow().
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -247,7 +250,7 @@ BButton::Draw(BRect updateRect)
|
|||||||
const float x = (rect.right - stringWidth) / 2.0;
|
const float x = (rect.right - stringWidth) / 2.0;
|
||||||
const float labelY = bounds.top
|
const float labelY = bounds.top
|
||||||
+ ((bounds.Height() - fh.ascent - fh.descent) / 2.0)
|
+ ((bounds.Height() - fh.ascent - fh.descent) / 2.0)
|
||||||
+ fh.ascent + 1.0;
|
+ fh.ascent + 1.0;
|
||||||
const float focusLineY = labelY + fh.descent;
|
const float focusLineY = labelY + fh.descent;
|
||||||
|
|
||||||
/* speed trick:
|
/* speed trick:
|
||||||
@@ -260,8 +263,10 @@ BButton::Draw(BRect updateRect)
|
|||||||
if (pushed) {
|
if (pushed) {
|
||||||
rect.InsetBy(2.0, 2.0);
|
rect.InsetBy(2.0, 2.0);
|
||||||
InvertRect(rect);
|
InvertRect(rect);
|
||||||
} else
|
} else {
|
||||||
DrawFocusLine(x, focusLineY, stringWidth, IsFocus() && Window()->IsActive());
|
DrawFocusLine(x, focusLineY, stringWidth, IsFocus()
|
||||||
|
&& Window()->IsActive());
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -294,19 +299,24 @@ BButton::Draw(BRect updateRect)
|
|||||||
bevelColor2 = panelBgColor;
|
bevelColor2 = panelBgColor;
|
||||||
|
|
||||||
if (IsDefault()) {
|
if (IsDefault()) {
|
||||||
borderBevelShadow = tint_color(dark1BorderColor, (B_NO_TINT + B_DARKEN_1_TINT) / 2);
|
borderBevelShadow = tint_color(dark1BorderColor,
|
||||||
|
(B_NO_TINT + B_DARKEN_1_TINT) / 2);
|
||||||
borderBevelLight = tint_color(dark1BorderColor, B_LIGHTEN_1_TINT);
|
borderBevelLight = tint_color(dark1BorderColor, B_LIGHTEN_1_TINT);
|
||||||
|
|
||||||
borderBevelLight.red = (borderBevelLight.red + panelBgColor.red) / 2;
|
borderBevelLight.red = (borderBevelLight.red + panelBgColor.red)
|
||||||
borderBevelLight.green = (borderBevelLight.green + panelBgColor.green) / 2;
|
/ 2;
|
||||||
borderBevelLight.blue = (borderBevelLight.blue + panelBgColor.blue) / 2;
|
borderBevelLight.green = (borderBevelLight.green
|
||||||
|
+ panelBgColor.green) / 2;
|
||||||
|
borderBevelLight.blue = (borderBevelLight.blue
|
||||||
|
+ panelBgColor.blue) / 2;
|
||||||
|
|
||||||
dark1BorderColor = tint_color(dark1BorderColor, B_DARKEN_3_TINT);
|
dark1BorderColor = tint_color(dark1BorderColor, B_DARKEN_3_TINT);
|
||||||
dark2BorderColor = tint_color(dark1BorderColor, B_DARKEN_4_TINT);
|
dark2BorderColor = tint_color(dark1BorderColor, B_DARKEN_4_TINT);
|
||||||
|
|
||||||
bevelColorRBCorner = borderBevelShadow;
|
bevelColorRBCorner = borderBevelShadow;
|
||||||
} else {
|
} else {
|
||||||
borderBevelShadow = tint_color(panelBgColor, (B_NO_TINT + B_DARKEN_1_TINT) / 2);
|
borderBevelShadow = tint_color(panelBgColor,
|
||||||
|
(B_NO_TINT + B_DARKEN_1_TINT) / 2);
|
||||||
borderBevelLight = buttonBgColor;
|
borderBevelLight = buttonBgColor;
|
||||||
|
|
||||||
bevelColorRBCorner = dark1BorderColor;
|
bevelColorRBCorner = dark1BorderColor;
|
||||||
|
|||||||
Reference in New Issue
Block a user