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.
4
5 #include "ash/system/tray/tray_utils.h"
6
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"
12
13 namespace ash {
14
SetupLabelForTray(views::Label * label)15 void SetupLabelForTray(views::Label* label) {
16 label->SetFontList(gfx::FontList().Derive(1, gfx::Font::BOLD));
17 label->SetAutoColorReadabilityEnabled(false);
18 label->SetEnabledColor(SK_ColorWHITE);
19 label->SetBackgroundColor(SkColorSetARGB(0, 255, 255, 255));
20 label->SetShadows(gfx::ShadowValues(
21 1, gfx::ShadowValue(gfx::Point(0, 1), 0, SkColorSetARGB(64, 0, 0, 0))));
22 }
23
SetTrayImageItemBorder(views::View * tray_view,ShelfAlignment alignment)24 void SetTrayImageItemBorder(views::View* tray_view,
25 ShelfAlignment alignment) {
26 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
27 alignment == SHELF_ALIGNMENT_TOP) {
28 tray_view->SetBorder(views::Border::CreateEmptyBorder(
29 0,
30 kTrayImageItemHorizontalPaddingBottomAlignment,
31 0,
32 kTrayImageItemHorizontalPaddingBottomAlignment));
33 } else {
34 tray_view->SetBorder(views::Border::CreateEmptyBorder(
35 kTrayImageItemVerticalPaddingVerticalAlignment,
36 kTrayImageItemHorizontalPaddingVerticalAlignment,
37 kTrayImageItemVerticalPaddingVerticalAlignment,
38 kTrayImageItemHorizontalPaddingVerticalAlignment));
39 }
40 }
41
SetTrayLabelItemBorder(TrayItemView * tray_view,ShelfAlignment alignment)42 void SetTrayLabelItemBorder(TrayItemView* tray_view,
43 ShelfAlignment alignment) {
44 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
45 alignment == SHELF_ALIGNMENT_TOP) {
46 tray_view->SetBorder(views::Border::CreateEmptyBorder(
47 0,
48 kTrayLabelItemHorizontalPaddingBottomAlignment,
49 0,
50 kTrayLabelItemHorizontalPaddingBottomAlignment));
51 } else {
52 // Center the label for vertical launcher alignment.
53 int horizontal_padding = std::max(0,
54 (tray_view->GetPreferredSize().width() -
55 tray_view->label()->GetPreferredSize().width()) / 2);
56 tray_view->SetBorder(views::Border::CreateEmptyBorder(
57 kTrayLabelItemVerticalPaddingVerticalAlignment,
58 horizontal_padding,
59 kTrayLabelItemVerticalPaddingVerticalAlignment,
60 horizontal_padding));
61 }
62 }
63
64 } // namespace ash
65