1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "ash/system/tray/tray_utils.h"
7 #include "ash/system/tray/tray_constants.h"
8 #include "ash/system/tray/tray_item_view.h"
9 #include "ui/gfx/font_list.h"
10 #include "ui/views/border.h"
11 #include "ui/views/controls/label.h"
16 void SetupLabelForTray(views::Label* label) {
17 // Making label_font static to avoid the time penalty of Derive for all but
19 static const gfx::FontList label_font_list(
20 gfx::FontList().Derive(1, gfx::Font::BOLD));
21 label->SetFontList(label_font_list);
22 label->SetAutoColorReadabilityEnabled(false);
23 label->SetEnabledColor(SK_ColorWHITE);
24 label->SetBackgroundColor(SkColorSetARGB(0, 255, 255, 255));
25 label->SetShadowColors(SkColorSetARGB(64, 0, 0, 0),
26 SkColorSetARGB(64, 0, 0, 0));
27 label->SetShadowOffset(0, 1);
30 void SetTrayImageItemBorder(views::View* tray_view,
31 ShelfAlignment alignment) {
32 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
33 alignment == SHELF_ALIGNMENT_TOP) {
34 tray_view->SetBorder(views::Border::CreateEmptyBorder(
36 kTrayImageItemHorizontalPaddingBottomAlignment,
38 kTrayImageItemHorizontalPaddingBottomAlignment));
40 tray_view->SetBorder(views::Border::CreateEmptyBorder(
41 kTrayImageItemVerticalPaddingVerticalAlignment,
42 kTrayImageItemHorizontalPaddingVerticalAlignment,
43 kTrayImageItemVerticalPaddingVerticalAlignment,
44 kTrayImageItemHorizontalPaddingVerticalAlignment));
48 void SetTrayLabelItemBorder(TrayItemView* tray_view,
49 ShelfAlignment alignment) {
50 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
51 alignment == SHELF_ALIGNMENT_TOP) {
52 tray_view->SetBorder(views::Border::CreateEmptyBorder(
54 kTrayLabelItemHorizontalPaddingBottomAlignment,
56 kTrayLabelItemHorizontalPaddingBottomAlignment));
58 // Center the label for vertical launcher alignment.
59 int horizontal_padding = std::max(0,
60 (tray_view->GetPreferredSize().width() -
61 tray_view->label()->GetPreferredSize().width()) / 2);
62 tray_view->SetBorder(views::Border::CreateEmptyBorder(
63 kTrayLabelItemVerticalPaddingVerticalAlignment,
65 kTrayLabelItemVerticalPaddingVerticalAlignment,
70 } // namespace internal