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 13namespace ash { 14 15void 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 24void 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 42void 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