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

Side by Side Diff: ash/tooltips/tooltip_controller.cc

Issue 9960042: Refactor screen/monitor so that gfx::Screen returns monitor object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 8 years, 8 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/system/tray/system_tray.cc ('k') | ash/wm/base_layout_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/tooltips/tooltip_controller.h" 5 #include "ash/tooltips/tooltip_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 // TODO(varunjain): implementation duplicated in tooltip_manager_aura. Figure 58 // TODO(varunjain): implementation duplicated in tooltip_manager_aura. Figure
59 // out a way to merge. 59 // out a way to merge.
60 return ui::ResourceBundle::GetSharedInstance().GetFont( 60 return ui::ResourceBundle::GetSharedInstance().GetFont(
61 ui::ResourceBundle::BaseFont); 61 ui::ResourceBundle::BaseFont);
62 } 62 }
63 63
64 int GetMaxWidth(int x, int y) { 64 int GetMaxWidth(int x, int y) {
65 // TODO(varunjain): implementation duplicated in tooltip_manager_aura. Figure 65 // TODO(varunjain): implementation duplicated in tooltip_manager_aura. Figure
66 // out a way to merge. 66 // out a way to merge.
67 gfx::Rect monitor_bounds = 67 gfx::Rect monitor_bounds =
68 gfx::Screen::GetMonitorAreaNearestPoint(gfx::Point(x, y)); 68 gfx::Screen::GetMonitorNearestPoint(gfx::Point(x, y)).bounds();
69 return (monitor_bounds.width() + 1) / 2; 69 return (monitor_bounds.width() + 1) / 2;
70 } 70 }
71 71
72 // Creates a widget of type TYPE_TOOLTIP 72 // Creates a widget of type TYPE_TOOLTIP
73 views::Widget* CreateTooltip() { 73 views::Widget* CreateTooltip() {
74 views::Widget* widget = new views::Widget; 74 views::Widget* widget = new views::Widget;
75 views::Widget::InitParams params; 75 views::Widget::InitParams params;
76 // For aura, since we set the type to TOOLTIP_TYPE, the widget will get 76 // For aura, since we set the type to TOOLTIP_TYPE, the widget will get
77 // auto-parented to the MenuAndTooltipsContainer. 77 // auto-parented to the MenuAndTooltipsContainer.
78 params.type = views::Widget::InitParams::TYPE_TOOLTIP; 78 params.type = views::Widget::InitParams::TYPE_TOOLTIP;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 // Adjusts the bounds given by the arguments to fit inside the desktop 148 // Adjusts the bounds given by the arguments to fit inside the desktop
149 // and applies the adjusted bounds to the label_. 149 // and applies the adjusted bounds to the label_.
150 void SetTooltipBounds(gfx::Point mouse_pos, 150 void SetTooltipBounds(gfx::Point mouse_pos,
151 int tooltip_width, 151 int tooltip_width,
152 int tooltip_height) { 152 int tooltip_height) {
153 gfx::Rect tooltip_rect(mouse_pos.x(), mouse_pos.y(), tooltip_width, 153 gfx::Rect tooltip_rect(mouse_pos.x(), mouse_pos.y(), tooltip_width,
154 tooltip_height); 154 tooltip_height);
155 155
156 tooltip_rect.Offset(kCursorOffsetX, kCursorOffsetY); 156 tooltip_rect.Offset(kCursorOffsetX, kCursorOffsetY);
157 gfx::Rect monitor_bounds = 157 gfx::Rect monitor_bounds =
158 gfx::Screen::GetMonitorAreaNearestPoint(tooltip_rect.origin()); 158 gfx::Screen::GetMonitorNearestPoint(tooltip_rect.origin()).bounds();
159 159
160 // If tooltip is out of bounds on the x axis, we simply shift it 160 // If tooltip is out of bounds on the x axis, we simply shift it
161 // horizontally by the offset. 161 // horizontally by the offset.
162 if (tooltip_rect.right() > monitor_bounds.right()) { 162 if (tooltip_rect.right() > monitor_bounds.right()) {
163 int h_offset = tooltip_rect.right() - monitor_bounds.right(); 163 int h_offset = tooltip_rect.right() - monitor_bounds.right();
164 tooltip_rect.Offset(-h_offset, 0); 164 tooltip_rect.Offset(-h_offset, 0);
165 } 165 }
166 166
167 // If tooltip is out of bounds on the y axis, we flip it to appear above the 167 // If tooltip is out of bounds on the y axis, we flip it to appear above the
168 // mouse cursor instead of below. 168 // mouse cursor instead of below.
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 bool TooltipController::IsDragDropInProgress() { 420 bool TooltipController::IsDragDropInProgress() {
421 aura::client::DragDropClient* client = aura::client::GetDragDropClient( 421 aura::client::DragDropClient* client = aura::client::GetDragDropClient(
422 Shell::GetRootWindow()); 422 Shell::GetRootWindow());
423 if (client) 423 if (client)
424 return client->IsDragDropInProgress(); 424 return client->IsDragDropInProgress();
425 return false; 425 return false;
426 } 426 }
427 427
428 } // namespace internal 428 } // namespace internal
429 } // namespace ash 429 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/tray/system_tray.cc ('k') | ash/wm/base_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698