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

Side by Side Diff: chrome/browser/ui/panels/display_settings_provider.cc

Issue 11030017: Add context to gfx::Screen calls in support of simultaneous desktop+ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix some new gfx::Screen additions Created 8 years, 2 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
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 "chrome/browser/ui/panels/display_settings_provider.h" 5 #include "chrome/browser/ui/panels/display_settings_provider.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "chrome/browser/fullscreen.h" 8 #include "chrome/browser/fullscreen.h"
9 #include "ui/gfx/screen.h" 9 #include "ui/gfx/screen.h"
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 gfx::Rect DisplaySettingsProvider::GetDisplayArea() { 63 gfx::Rect DisplaySettingsProvider::GetDisplayArea() {
64 // Do the first-time initialization if not yet. 64 // Do the first-time initialization if not yet.
65 if (adjusted_work_area_.IsEmpty()) 65 if (adjusted_work_area_.IsEmpty())
66 OnDisplaySettingsChanged(); 66 OnDisplaySettingsChanged();
67 67
68 return adjusted_work_area_; 68 return adjusted_work_area_;
69 } 69 }
70 70
71 gfx::Rect DisplaySettingsProvider::GetPrimaryScreenArea() const { 71 gfx::Rect DisplaySettingsProvider::GetPrimaryScreenArea() const {
oshima 2012/10/10 17:58:23 just FYI: I think this should be moved under ui at
scottmg 2012/10/10 19:04:47 Added TODO.
72 return gfx::Screen::GetPrimaryDisplay().bounds(); 72 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312
73 return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().bounds();
73 } 74 }
74 75
75 gfx::Rect DisplaySettingsProvider::GetWorkArea() const { 76 gfx::Rect DisplaySettingsProvider::GetWorkArea() const {
76 #if defined(OS_MACOSX) 77 #if defined(OS_MACOSX)
77 // On OSX, panels should be dropped all the way to the bottom edge of the 78 // On OSX, panels should be dropped all the way to the bottom edge of the
78 // screen (and overlap Dock). And we also want to exclude the system menu 79 // screen (and overlap Dock). And we also want to exclude the system menu
79 // area. Note that the rect returned from gfx::Screen util functions is in 80 // area. Note that the rect returned from gfx::Screen util functions is in
80 // platform-independent screen coordinates with (0, 0) as the top-left corner. 81 // platform-independent screen coordinates with (0, 0) as the top-left corner.
81 gfx::Display display = gfx::Screen::GetPrimaryDisplay(); 82 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312
83 gfx::Display display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay();
82 gfx::Rect display_area = display.bounds(); 84 gfx::Rect display_area = display.bounds();
83 gfx::Rect work_area = display.work_area(); 85 gfx::Rect work_area = display.work_area();
84 int system_menu_height = work_area.y() - display_area.y(); 86 int system_menu_height = work_area.y() - display_area.y();
85 if (system_menu_height > 0) { 87 if (system_menu_height > 0) {
86 display_area.set_y(display_area.y() + system_menu_height); 88 display_area.set_y(display_area.y() + system_menu_height);
87 display_area.set_height(display_area.height() - system_menu_height); 89 display_area.set_height(display_area.height() - system_menu_height);
88 } 90 }
89 return display_area; 91 return display_area;
90 #else 92 #else
91 gfx::Rect work_area = gfx::Screen::GetPrimaryDisplay().work_area(); 93 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312
94 gfx::Rect work_area =
95 gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().work_area();
96 return work_area;
92 #endif 97 #endif
93 return work_area;
94 } 98 }
95 99
96 void DisplaySettingsProvider::OnDisplaySettingsChanged() { 100 void DisplaySettingsProvider::OnDisplaySettingsChanged() {
97 gfx::Rect work_area = GetWorkArea(); 101 gfx::Rect work_area = GetWorkArea();
98 if (work_area == work_area_) 102 if (work_area == work_area_)
99 return; 103 return;
100 work_area_ = work_area; 104 work_area_ = work_area;
101 105
102 OnAutoHidingDesktopBarChanged(); 106 OnAutoHidingDesktopBarChanged();
103 } 107 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 bool DisplaySettingsProvider::IsFullScreen() const { 171 bool DisplaySettingsProvider::IsFullScreen() const {
168 return IsFullScreenMode(); 172 return IsFullScreenMode();
169 } 173 }
170 174
171 #if defined(USE_AURA) 175 #if defined(USE_AURA)
172 // static 176 // static
173 DisplaySettingsProvider* DisplaySettingsProvider::Create() { 177 DisplaySettingsProvider* DisplaySettingsProvider::Create() {
174 return new DisplaySettingsProvider(); 178 return new DisplaySettingsProvider();
175 } 179 }
176 #endif 180 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698