void BIconItem::DrawItemWithTextOffset(BView* owner, BRect frame, bool complete, float textOffset) { if (IsSelected() || complete) { rgb_color color; if (IsSelected()) color = ui_color(B_MENU_SELECTED_BACKGROUND_COLOR); else color = owner->ViewColor(); owner->SetHighColor(color); owner->SetLowColor(color); owner->FillRect(frame); } else owner->SetLowColor(owner->ViewColor()); BString text = Text(); if (IsEnabled()) owner->SetHighColor(ui_color(B_CONTROL_TEXT_COLOR)); else owner->SetHighColor(tint_color(owner->LowColor(), B_DARKEN_3_TINT)); owner->MovePenTo(frame.left + kLeftInset + textOffset, frame.top + BaselineOffset()); owner->DrawString(text.String()); }
void TimeZoneListItem::_DrawItemWithTextOffset(BView* owner, BRect frame, bool complete, float textOffset) { rgb_color highColor = owner->HighColor(); rgb_color lowColor = owner->LowColor(); if (IsSelected() || complete) { rgb_color color; if (IsSelected()) color = ui_color(B_LIST_SELECTED_BACKGROUND_COLOR); else color = owner->ViewColor(); owner->SetHighColor(color); owner->SetLowColor(color); owner->FillRect(frame); } else owner->SetLowColor(owner->ViewColor()); if (!IsEnabled()) { rgb_color textColor = ui_color(B_LIST_ITEM_TEXT_COLOR); if (textColor.red + textColor.green + textColor.blue > 128 * 3) owner->SetHighColor(tint_color(textColor, B_DARKEN_2_TINT)); else owner->SetHighColor(tint_color(textColor, B_LIGHTEN_2_TINT)); } else { if (IsSelected()) owner->SetHighColor(ui_color(B_LIST_SELECTED_ITEM_TEXT_COLOR)); else owner->SetHighColor(ui_color(B_LIST_ITEM_TEXT_COLOR)); } owner->MovePenTo( frame.left + be_control_look->DefaultLabelSpacing() + textOffset, frame.top + BaselineOffset()); owner->DrawString(Text()); owner->SetHighColor(highColor); owner->SetLowColor(lowColor); }