Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/display/screen_ash.h" | 5 #include "ash/display/screen_ash.h" |
| 6 | 6 |
| 7 #include "ash/aura/wm_window_aura.h" | 7 #include "ash/aura/wm_window_aura.h" |
| 8 #include "ash/common/shelf/shelf_widget.h" | 8 #include "ash/common/shelf/shelf_widget.h" |
| 9 #include "ash/common/wm/root_window_finder.h" | 9 #include "ash/common/wm/root_window_finder.h" |
| 10 #include "ash/display/display_manager.h" | 10 #include "ash/display/display_manager.h" |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 41 // display::Screen overrides: | 41 // display::Screen overrides: |
| 42 gfx::Point GetCursorScreenPoint() override { return gfx::Point(); } | 42 gfx::Point GetCursorScreenPoint() override { return gfx::Point(); } |
| 43 bool IsWindowUnderCursor(gfx::NativeWindow window) override { return false; } | 43 bool IsWindowUnderCursor(gfx::NativeWindow window) override { return false; } |
| 44 gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override { | 44 gfx::NativeWindow GetWindowAtScreenPoint(const gfx::Point& point) override { |
| 45 return NULL; | 45 return NULL; |
| 46 } | 46 } |
| 47 int GetNumDisplays() const override { return display_list_.size(); } | 47 int GetNumDisplays() const override { return display_list_.size(); } |
| 48 std::vector<display::Display> GetAllDisplays() const override { | 48 std::vector<display::Display> GetAllDisplays() const override { |
| 49 return display_list_; | 49 return display_list_; |
| 50 } | 50 } |
| 51 bool GetDisplayWithDisplayId(int64_t display_id, | |
| 52 display::Display* display) const override { | |
| 53 for (display::Display display_in_list : display_list_) { | |
|
sadrul
2016/09/23 19:51:12
const&
riajiang
2016/10/05 14:54:11
Done.
| |
| 54 if (display_in_list.id() == display_id) { | |
| 55 *display = display_in_list; | |
| 56 return true; | |
| 57 } | |
| 58 } | |
| 59 return false; | |
| 60 } | |
| 51 display::Display GetDisplayNearestWindow( | 61 display::Display GetDisplayNearestWindow( |
| 52 gfx::NativeView view) const override { | 62 gfx::NativeView view) const override { |
| 53 return primary_display_; | 63 return primary_display_; |
| 54 } | 64 } |
| 55 display::Display GetDisplayNearestPoint( | 65 display::Display GetDisplayNearestPoint( |
| 56 const gfx::Point& point) const override { | 66 const gfx::Point& point) const override { |
| 57 return *display::FindDisplayNearestPoint(display_list_, point); | 67 return *display::FindDisplayNearestPoint(display_list_, point); |
| 58 } | 68 } |
| 59 display::Display GetDisplayMatching( | 69 display::Display GetDisplayMatching( |
| 60 const gfx::Rect& match_rect) const override { | 70 const gfx::Rect& match_rect) const override { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 } | 117 } |
| 108 | 118 |
| 109 int ScreenAsh::GetNumDisplays() const { | 119 int ScreenAsh::GetNumDisplays() const { |
| 110 return GetDisplayManager()->GetNumDisplays(); | 120 return GetDisplayManager()->GetNumDisplays(); |
| 111 } | 121 } |
| 112 | 122 |
| 113 std::vector<display::Display> ScreenAsh::GetAllDisplays() const { | 123 std::vector<display::Display> ScreenAsh::GetAllDisplays() const { |
| 114 return GetDisplayManager()->active_display_list(); | 124 return GetDisplayManager()->active_display_list(); |
| 115 } | 125 } |
| 116 | 126 |
| 127 bool ScreenAsh::GetDisplayWithDisplayId(int64_t display_id, | |
| 128 display::Display* display) const { | |
| 129 for (display::Display display_in_list : GetAllDisplays()) { | |
|
sadrul
2016/09/23 19:51:12
GetAllDisplays() makes a copy of the list. It'd be
riajiang
2016/10/05 14:54:11
I see. Done.
| |
| 130 if (display_in_list.id() == display_id) { | |
| 131 *display = display_in_list; | |
| 132 return true; | |
| 133 } | |
| 134 } | |
| 135 return false; | |
| 136 } | |
| 137 | |
| 117 display::Display ScreenAsh::GetDisplayNearestWindow( | 138 display::Display ScreenAsh::GetDisplayNearestWindow( |
| 118 gfx::NativeView window) const { | 139 gfx::NativeView window) const { |
| 119 if (!window) | 140 if (!window) |
| 120 return GetPrimaryDisplay(); | 141 return GetPrimaryDisplay(); |
| 121 const aura::Window* root_window = window->GetRootWindow(); | 142 const aura::Window* root_window = window->GetRootWindow(); |
| 122 if (!root_window) | 143 if (!root_window) |
| 123 return GetPrimaryDisplay(); | 144 return GetPrimaryDisplay(); |
| 124 const RootWindowSettings* rws = GetRootWindowSettings(root_window); | 145 const RootWindowSettings* rws = GetRootWindowSettings(root_window); |
| 125 int64_t id = rws->display_id; | 146 int64_t id = rws->display_id; |
| 126 // if id is |kInvaildDisplayID|, it's being deleted. | 147 // if id is |kInvaildDisplayID|, it's being deleted. |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 188 } | 209 } |
| 189 | 210 |
| 190 // static | 211 // static |
| 191 void ScreenAsh::CreateScreenForShutdown() { | 212 void ScreenAsh::CreateScreenForShutdown() { |
| 192 delete screen_for_shutdown; | 213 delete screen_for_shutdown; |
| 193 screen_for_shutdown = new ScreenForShutdown(display::Screen::GetScreen()); | 214 screen_for_shutdown = new ScreenForShutdown(display::Screen::GetScreen()); |
| 194 display::Screen::SetScreenInstance(screen_for_shutdown); | 215 display::Screen::SetScreenInstance(screen_for_shutdown); |
| 195 } | 216 } |
| 196 | 217 |
| 197 } // namespace ash | 218 } // namespace ash |
| OLD | NEW |