Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: ash/monitor/secondary_monitor_view.cc

Issue 10675011: Rename the remaining usage of Monitor to Display (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ash/monitor/secondary_monitor_view.h ('k') | ash/root_window_controller_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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/monitor/secondary_monitor_view.h"
6
7 #include "grit/ash_strings.h"
8 #include "grit/ui_resources.h"
9 #include "third_party/skia/include/core/SkColor.h"
10 #include "ui/aura/window.h"
11 #include "ui/base/l10n/l10n_util.h"
12 #include "ui/base/resource/resource_bundle.h"
13 #include "ui/views/background.h"
14 #include "ui/views/controls/image_view.h"
15 #include "ui/views/controls/label.h"
16 #include "ui/views/view.h"
17 #include "ui/views/widget/widget.h"
18 #include "ui/views/widget/widget_delegate.h"
19
20 namespace ash {
21 namespace {
22
23 // Colors for the background, the message text and the shortcut text.
24 const SkColor kBackgroundColor = SkColorSetRGB(0x33, 0x33, 0x33);
25 const SkColor kTextColor = SkColorSetRGB(127, 127, 127);
26
27 // A view to be displayed on secondary monitor.
28 class SecondaryMonitorView : public views::WidgetDelegateView {
29 public:
30 SecondaryMonitorView() {
31 Init();
32 }
33 virtual ~SecondaryMonitorView() {
34 }
35
36 void Init() {
37 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
38
39 set_background(views::Background::CreateSolidBackground(kBackgroundColor));
40 message_ = new views::Label(
41 l10n_util::GetStringUTF16(IDS_ASH_SECONDARY_MONITOR));
42 message_->SetAutoColorReadabilityEnabled(false);
43 message_->SetFont(rb.GetFont(ui::ResourceBundle::LargeFont));
44 message_->SetHorizontalAlignment(views::Label::ALIGN_CENTER);
45 message_->SetEnabledColor(kTextColor);
46 AddChildView(message_);
47
48 shortcut_text_ = new views::Label(
49 l10n_util::GetStringUTF16(IDS_ASH_SECONDARY_MONITOR_SHORTCUT));
50 shortcut_text_->SetAutoColorReadabilityEnabled(false);
51 shortcut_text_->SetFont(rb.GetFont(ui::ResourceBundle::MediumFont));
52 shortcut_text_->SetHorizontalAlignment(views::Label::ALIGN_CENTER);
53 shortcut_text_->SetEnabledColor(kTextColor);
54 AddChildView(shortcut_text_);
55
56 shortcut_image_ = new views::ImageView();
57 shortcut_image_->SetImage(rb.GetImageSkiaNamed(IDR_AURA_SWITCH_MONITOR));
58 AddChildView(shortcut_image_);
59 }
60
61 virtual void Layout() {
62 const int kMessagePositionTopMargin = 40;
63 const int kShortcutPositionBottomMargin = 40;
64 const int kShortcutMargin = 4; // margin between text and image.
65 gfx::Rect b = bounds();
66
67 int msg_height = message_->GetHeightForWidth(b.width());
68 message_->SetBounds(
69 0, kMessagePositionTopMargin, bounds().width(), msg_height);
70
71 // TODO(oshima): Figure out what to do for RTL.
72 // Align the shortcut text & image to the center.
73 gfx::Size text_size = shortcut_text_->GetPreferredSize();
74 gfx::Size image_size = shortcut_image_->GetPreferredSize();
75 int height = std::max(text_size.height(), image_size.height());
76 int y = b.height() - kShortcutPositionBottomMargin - height;
77 int x = (b.width() -
78 (text_size.width() + kShortcutMargin + image_size.width())) / 2;
79 shortcut_text_->SetBounds(x, y + (height - text_size.height()) / 2,
80 text_size.width(), text_size.height());
81 shortcut_image_->SetBounds(
82 x + text_size.width() + kShortcutMargin,
83 y + (height - image_size.height()) / 2,
84 image_size.width(), image_size.height());
85 }
86
87 private:
88 views::Label* message_;
89 views::Label* shortcut_text_;
90 views::ImageView* shortcut_image_;
91
92 DISALLOW_COPY_AND_ASSIGN(SecondaryMonitorView);
93 };
94
95 } // namespace
96
97 views::Widget* CreateSecondaryMonitorWidget(aura::Window* parent) {
98 views::Widget* desktop_widget = new views::Widget;
99 views::Widget::InitParams params(
100 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
101 SecondaryMonitorView* view = new SecondaryMonitorView();
102 params.delegate = view;
103 params.parent = parent;
104 desktop_widget->Init(params);
105 desktop_widget->SetContentsView(view);
106 desktop_widget->Show();
107 desktop_widget->GetNativeView()->SetName("SecondaryMonitor");
108 return desktop_widget;
109 }
110
111 } // namespace ash
OLDNEW
« no previous file with comments | « ash/monitor/secondary_monitor_view.h ('k') | ash/root_window_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698