blob: 5f29a2e8f71a90f71a80e1dc744d6c2a07fdd12c [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ash/system/tray/tray_utils.h"
#include "ash/system/tray/tray_constants.h"
#include "ash/system/tray/tray_item_view.h"
#include "ui/gfx/font.h"
#include "ui/views/border.h"
#include "ui/views/controls/label.h"
namespace ash {
namespace internal {
void SetupLabelForTray(views::Label* label) {
// Making label_font static to avoid the time penalty of DeriveFont for
// all but the first call.
static const gfx::Font label_font(gfx::Font().DeriveFont(1, gfx::Font::BOLD));
label->SetFont(label_font);
label->SetAutoColorReadabilityEnabled(false);
label->SetEnabledColor(SK_ColorWHITE);
label->SetBackgroundColor(SkColorSetARGB(0, 255, 255, 255));
label->SetShadowColors(SkColorSetARGB(64, 0, 0, 0),
SkColorSetARGB(64, 0, 0, 0));
label->SetShadowOffset(0, 1);
}
void SetTrayImageItemBorder(views::View* tray_view,
ShelfAlignment alignment) {
if (alignment == SHELF_ALIGNMENT_BOTTOM ||
alignment == SHELF_ALIGNMENT_TOP) {
tray_view->set_border(views::Border::CreateEmptyBorder(
0, kTrayImageItemHorizontalPaddingBottomAlignment,
0, kTrayImageItemHorizontalPaddingBottomAlignment));
} else {
tray_view->set_border(views::Border::CreateEmptyBorder(
kTrayImageItemVerticalPaddingVerticalAlignment,
kTrayImageItemHorizontalPaddingVerticalAlignment,
kTrayImageItemVerticalPaddingVerticalAlignment,
kTrayImageItemHorizontalPaddingVerticalAlignment));
}
}
void SetTrayLabelItemBorder(TrayItemView* tray_view,
ShelfAlignment alignment) {
if (alignment == SHELF_ALIGNMENT_BOTTOM ||
alignment == SHELF_ALIGNMENT_TOP) {
tray_view->set_border(views::Border::CreateEmptyBorder(
0, kTrayLabelItemHorizontalPaddingBottomAlignment,
0, kTrayLabelItemHorizontalPaddingBottomAlignment));
} else {
// Center the label for vertical launcher alignment.
int horizontal_padding = (tray_view->GetPreferredSize().width() -
tray_view->label()->GetPreferredSize().width()) / 2;
tray_view->set_border(views::Border::CreateEmptyBorder(
kTrayLabelItemVerticalPaddingVeriticalAlignment,
horizontal_padding,
kTrayLabelItemVerticalPaddingVeriticalAlignment,
horizontal_padding));
}
}
} // namespace internal
} // namespace ash