// 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_list.h"
#include "ui/views/border.h"
#include "ui/views/controls/label.h"
namespace ash {
void SetupLabelForTray(views::Label* label) {
label->SetFontList(gfx::FontList().Derive(1, gfx::Font::BOLD));
label->SetAutoColorReadabilityEnabled(false);
label->SetEnabledColor(SK_ColorWHITE);
label->SetBackgroundColor(SkColorSetARGB(0, 255, 255, 255));
label->SetShadows(gfx::ShadowValues(
1, gfx::ShadowValue(gfx::Point(0, 1), 0, SkColorSetARGB(64, 0, 0, 0))));
}
void SetTrayImageItemBorder(views::View* tray_view,
ShelfAlignment alignment) {
if (alignment == SHELF_ALIGNMENT_BOTTOM ||
alignment == SHELF_ALIGNMENT_TOP) {
tray_view->SetBorder(views::Border::CreateEmptyBorder(
0,
kTrayImageItemHorizontalPaddingBottomAlignment,
0,
kTrayImageItemHorizontalPaddingBottomAlignment));
} else {
tray_view->SetBorder(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->SetBorder(views::Border::CreateEmptyBorder(
0,
kTrayLabelItemHorizontalPaddingBottomAlignment,
0,
kTrayLabelItemHorizontalPaddingBottomAlignment));
} else {
// Center the label for vertical launcher alignment.
int horizontal_padding = std::max(0,
(tray_view->GetPreferredSize().width() -
tray_view->label()->GetPreferredSize().width()) / 2);
tray_view->SetBorder(views::Border::CreateEmptyBorder(
kTrayLabelItemVerticalPaddingVerticalAlignment,
horizontal_padding,
kTrayLabelItemVerticalPaddingVerticalAlignment,
horizontal_padding));
}
}
} // namespace ash