ColumnListView: Remove pre-ControlLook drawing code

This commit is contained in:
John Scipione
2014-12-02 19:23:53 -05:00
parent a9f45419e6
commit 555c1cbfd8
+48 -131
View File
@@ -1786,78 +1786,45 @@ BColumnListView::Draw(BRect updateRect)
{ {
BRect rect = Bounds(); BRect rect = Bounds();
if (be_control_look != NULL) { uint32 flags = 0;
uint32 flags = 0; if (IsFocus() && Window()->IsActive())
if (IsFocus() && Window()->IsActive()) flags |= BControlLook::B_FOCUSED;
flags |= BControlLook::B_FOCUSED;
rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR); rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
BRect verticalScrollBarFrame; BRect verticalScrollBarFrame;
if (!fVerticalScrollBar->IsHidden()) if (!fVerticalScrollBar->IsHidden())
verticalScrollBarFrame = fVerticalScrollBar->Frame(); verticalScrollBarFrame = fVerticalScrollBar->Frame();
BRect horizontalScrollBarFrame;
if (!fHorizontalScrollBar->IsHidden())
horizontalScrollBarFrame = fHorizontalScrollBar->Frame();
if (fBorderStyle == B_NO_BORDER) { BRect horizontalScrollBarFrame;
// We still draw the left/top border, but not focused. if (!fHorizontalScrollBar->IsHidden())
// The scrollbars cannot be displayed without frame and horizontalScrollBarFrame = fHorizontalScrollBar->Frame();
// it looks bad to have no frame only along the left/top
// side.
rgb_color borderColor = tint_color(base, B_DARKEN_2_TINT);
SetHighColor(borderColor);
StrokeLine(BPoint(rect.left, rect.bottom),
BPoint(rect.left, rect.top));
StrokeLine(BPoint(rect.left + 1, rect.top),
BPoint(rect.right, rect.top));
}
if (fBorderStyle == B_NO_BORDER) {
// We still draw the left/top border, but not focused.
// The scrollbars cannot be displayed without frame and
// it looks bad to have no frame only along the left/top
// side.
rgb_color borderColor = tint_color(base, B_DARKEN_2_TINT);
SetHighColor(borderColor);
StrokeLine(BPoint(rect.left, rect.bottom),
BPoint(rect.left, rect.top));
StrokeLine(BPoint(rect.left + 1, rect.top),
BPoint(rect.right, rect.top));
}
be_control_look->DrawScrollViewFrame(this, rect, updateRect,
verticalScrollBarFrame, horizontalScrollBarFrame,
base, fBorderStyle, flags);
if (fStatusView != NULL) {
rect = Bounds();
BRegion region(rect & fStatusView->Frame().InsetByCopy(-2, -2));
ConstrainClippingRegion(&region);
rect.bottom = fStatusView->Frame().top - 1;
be_control_look->DrawScrollViewFrame(this, rect, updateRect, be_control_look->DrawScrollViewFrame(this, rect, updateRect,
verticalScrollBarFrame, horizontalScrollBarFrame, BRect(), BRect(), base, fBorderStyle, flags);
base, fBorderStyle, flags);
if (fStatusView != NULL) {
rect = Bounds();
BRegion region(rect & fStatusView->Frame().InsetByCopy(-2, -2));
ConstrainClippingRegion(&region);
rect.bottom = fStatusView->Frame().top - 1;
be_control_look->DrawScrollViewFrame(this, rect, updateRect,
BRect(), BRect(), base, fBorderStyle, flags);
}
return;
} }
BRect cornerRect(rect.right - B_V_SCROLL_BAR_WIDTH,
rect.bottom - B_H_SCROLL_BAR_HEIGHT, rect.right, rect.bottom);
if (fBorderStyle == B_PLAIN_BORDER) {
BView::SetHighColor(0, 0, 0);
StrokeRect(rect);
cornerRect.OffsetBy(-1, -1);
} else if (fBorderStyle == B_FANCY_BORDER) {
bool isFocus = IsFocus() && Window()->IsActive();
if (isFocus) {
// TODO: Need to find focus color programatically
BView::SetHighColor(0, 0, 190);
} else
BView::SetHighColor(255, 255, 255);
StrokeRect(rect);
if (!isFocus)
BView::SetHighColor(184, 184, 184);
else
BView::SetHighColor(152, 152, 152);
rect.InsetBy(1,1);
StrokeRect(rect);
cornerRect.OffsetBy(-2, -2);
}
BView::SetHighColor(ui_color(B_PANEL_BACKGROUND_COLOR));
// fills lower right rect between scroll bars
FillRect(cornerRect);
} }
@@ -2509,35 +2476,7 @@ TitleView::DrawTitle(BView* view, BRect rect, BColumn* column, bool depressed)
rgb_color borderColor = mix_color( rgb_color borderColor = mix_color(
fMasterView->Color(B_COLOR_HEADER_BACKGROUND), fMasterView->Color(B_COLOR_HEADER_BACKGROUND),
make_color(0, 0, 0), 128); make_color(0, 0, 0), 128);
rgb_color backgroundColor; drawRect = rect;
rgb_color bevelHigh;
rgb_color bevelLow;
// Want exterior borders to overlap.
if (be_control_look == NULL) {
rect.right += 1;
drawRect = rect;
drawRect.InsetBy(2, 2);
if (depressed) {
backgroundColor = mix_color(
fMasterView->Color(B_COLOR_HEADER_BACKGROUND),
make_color(0, 0, 0), 64);
bevelHigh = mix_color(backgroundColor, make_color(0, 0, 0), 64);
bevelLow = mix_color(backgroundColor, make_color(255, 255, 255),
128);
drawRect.left++;
drawRect.top++;
} else {
backgroundColor = fMasterView->Color(B_COLOR_HEADER_BACKGROUND);
bevelHigh = mix_color(backgroundColor, make_color(255, 255, 255),
192);
bevelLow = mix_color(backgroundColor, make_color(0, 0, 0), 64);
drawRect.bottom--;
drawRect.right--;
}
} else {
drawRect = rect;
}
font_height fh; font_height fh;
GetFontHeight(&fh); GetFontHeight(&fh);
@@ -2545,49 +2484,27 @@ TitleView::DrawTitle(BView* view, BRect rect, BColumn* column, bool depressed)
float baseline = floor(drawRect.top + fh.ascent float baseline = floor(drawRect.top + fh.ascent
+ (drawRect.Height() + 1 - (fh.ascent + fh.descent)) / 2); + (drawRect.Height() + 1 - (fh.ascent + fh.descent)) / 2);
if (be_control_look != NULL) { BRect bgRect = rect;
BRect bgRect = rect;
rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR); rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
view->SetHighColor(tint_color(base, B_DARKEN_2_TINT)); view->SetHighColor(tint_color(base, B_DARKEN_2_TINT));
view->StrokeLine(bgRect.LeftBottom(), bgRect.RightBottom()); view->StrokeLine(bgRect.LeftBottom(), bgRect.RightBottom());
bgRect.bottom--; bgRect.bottom--;
bgRect.right--; bgRect.right--;
if (depressed) if (depressed)
base = tint_color(base, B_DARKEN_1_TINT); base = tint_color(base, B_DARKEN_1_TINT);
be_control_look->DrawButtonBackground(view, bgRect, rect, base, 0, be_control_look->DrawButtonBackground(view, bgRect, rect, base, 0,
BControlLook::B_TOP_BORDER | BControlLook::B_BOTTOM_BORDER); BControlLook::B_TOP_BORDER | BControlLook::B_BOTTOM_BORDER);
view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), view->SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR),
B_DARKEN_2_TINT)); B_DARKEN_2_TINT));
view->StrokeLine(rect.RightTop(), rect.RightBottom()); view->StrokeLine(rect.RightTop(), rect.RightBottom());
} else {
view->SetHighColor(borderColor);
view->StrokeRect(rect);
view->BeginLineArray(4);
view->AddLine(BPoint(rect.left + 1, rect.top + 1),
BPoint(rect.right - 1, rect.top + 1), bevelHigh);
view->AddLine(BPoint(rect.left + 1, rect.top + 1),
BPoint(rect.left + 1, rect.bottom - 1), bevelHigh);
view->AddLine(BPoint(rect.right - 1, rect.top + 1),
BPoint(rect.right - 1, rect.bottom - 1), bevelLow);
view->AddLine(BPoint(rect.left + 2, rect.bottom-1),
BPoint(rect.right - 1, rect.bottom - 1), bevelLow);
view->EndLineArray();
view->SetHighColor(backgroundColor);
view->SetLowColor(backgroundColor);
view->FillRect(rect.InsetByCopy(2, 2));
}
// If no column given, nothing else to draw. // If no column given, nothing else to draw.
if (!column) if (column == NULL)
return; return;
view->SetHighColor(fMasterView->Color(B_COLOR_HEADER_TEXT)); view->SetHighColor(fMasterView->Color(B_COLOR_HEADER_TEXT));