mmlr + stippi:
Fixed more controls to handle a B_TRANSPARENT_COLOR as view coloe of the parent view. Some controls would not initialize their LowColor() at all if they were the only control in a window. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26515 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
88ed5fc1d2
commit
54badb1f36
@ -273,9 +273,15 @@ BBox::Draw(BRect updateRect)
|
|||||||
void
|
void
|
||||||
BBox::AttachedToWindow()
|
BBox::AttachedToWindow()
|
||||||
{
|
{
|
||||||
if (Parent()) {
|
BView* parent = Parent();
|
||||||
SetViewColor(Parent()->ViewColor());
|
if (parent != NULL) {
|
||||||
SetLowColor(Parent()->ViewColor());
|
// inherit the color from parent
|
||||||
|
rgb_color color = parent->ViewColor();
|
||||||
|
if (color == B_TRANSPARENT_COLOR)
|
||||||
|
color = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||||
|
|
||||||
|
SetViewColor(color);
|
||||||
|
SetLowColor(color);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The box could have been resized in the mean time
|
// The box could have been resized in the mean time
|
||||||
|
@ -142,9 +142,10 @@ BControl::WindowActivated(bool active)
|
|||||||
void
|
void
|
||||||
BControl::AttachedToWindow()
|
BControl::AttachedToWindow()
|
||||||
{
|
{
|
||||||
if (Parent()) {
|
BView* parent = Parent();
|
||||||
|
if (parent != NULL) {
|
||||||
// inherit the color from parent
|
// inherit the color from parent
|
||||||
rgb_color color = Parent()->ViewColor();
|
rgb_color color = parent->ViewColor();
|
||||||
if (color == B_TRANSPARENT_COLOR)
|
if (color == B_TRANSPARENT_COLOR)
|
||||||
color = ui_color(B_PANEL_BACKGROUND_COLOR);
|
color = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||||
|
|
||||||
|
@ -280,9 +280,15 @@ BMenuField::Draw(BRect update)
|
|||||||
void
|
void
|
||||||
BMenuField::AttachedToWindow()
|
BMenuField::AttachedToWindow()
|
||||||
{
|
{
|
||||||
if (Parent()) {
|
BView* parent = Parent();
|
||||||
SetViewColor(Parent()->ViewColor());
|
if (parent != NULL) {
|
||||||
SetLowColor(Parent()->ViewColor());
|
// inherit the color from parent
|
||||||
|
rgb_color color = parent->ViewColor();
|
||||||
|
if (color == B_TRANSPARENT_COLOR)
|
||||||
|
color = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||||
|
|
||||||
|
SetViewColor(color);
|
||||||
|
SetLowColor(color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,19 +330,9 @@ BSlider::AttachedToWindow()
|
|||||||
BControl::AttachedToWindow();
|
BControl::AttachedToWindow();
|
||||||
|
|
||||||
BView* view = OffscreenView();
|
BView* view = OffscreenView();
|
||||||
if (view) {
|
if (view && view->LockLooper()) {
|
||||||
rgb_color color = ViewColor();
|
|
||||||
if (Parent() != NULL)
|
|
||||||
color = Parent()->ViewColor();
|
|
||||||
|
|
||||||
/* fOffScreenBits->Lock();
|
|
||||||
fOffScreenView->SetViewColor(color);
|
|
||||||
fOffScreenView->SetLowColor(color);
|
|
||||||
fOffScreenBits->Unlock();*/
|
|
||||||
|
|
||||||
view->LockLooper();
|
|
||||||
view->SetViewColor(B_TRANSPARENT_COLOR);
|
view->SetViewColor(B_TRANSPARENT_COLOR);
|
||||||
view->SetLowColor(color);
|
view->SetLowColor(ViewColor());
|
||||||
view->UnlockLooper();
|
view->UnlockLooper();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,9 +146,16 @@ BStatusBar::AttachedToWindow()
|
|||||||
ResizeTo(Bounds().Width(), height);
|
ResizeTo(Bounds().Width(), height);
|
||||||
|
|
||||||
SetViewColor(B_TRANSPARENT_COLOR);
|
SetViewColor(B_TRANSPARENT_COLOR);
|
||||||
|
rgb_color lowColor = B_TRANSPARENT_COLOR;
|
||||||
|
|
||||||
if (Parent())
|
BView* parent = Parent();
|
||||||
SetLowColor(Parent()->ViewColor());
|
if (parent != NULL)
|
||||||
|
lowColor = parent->ViewColor();
|
||||||
|
|
||||||
|
if (lowColor == B_TRANSPARENT_COLOR)
|
||||||
|
lowColor = ui_color(B_PANEL_BACKGROUND_COLOR);
|
||||||
|
|
||||||
|
SetLowColor(lowColor);
|
||||||
|
|
||||||
fTextDivider = Bounds().Width();
|
fTextDivider = Bounds().Width();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user