OLD | NEW |
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/display/screen_position_controller.h" | 5 #include "ash/display/screen_position_controller.h" |
6 | 6 |
7 #include "ash/aura/wm_window_aura.h" | 7 #include "ash/aura/wm_window_aura.h" |
8 #include "ash/common/wm/window_positioning_utils.h" | 8 #include "ash/common/wm/window_positioning_utils.h" |
9 #include "ash/common/wm/window_state.h" | 9 #include "ash/common/wm/window_state.h" |
10 #include "ash/common/wm_shell.h" | 10 #include "ash/common/wm_shell.h" |
11 #include "ash/common/wm_window.h" | |
12 #include "ash/display/window_tree_host_manager.h" | |
13 #include "ash/public/cpp/shell_window_ids.h" | 11 #include "ash/public/cpp/shell_window_ids.h" |
14 #include "ash/root_window_controller.h" | |
15 #include "ash/shell.h" | 12 #include "ash/shell.h" |
16 #include "ash/wm/window_properties.h" | 13 #include "ash/wm/window_properties.h" |
17 #include "ui/aura/client/capture_client.h" | |
18 #include "ui/aura/client/focus_client.h" | |
19 #include "ui/aura/window.h" | 14 #include "ui/aura/window.h" |
20 #include "ui/aura/window_event_dispatcher.h" | |
21 #include "ui/aura/window_tracker.h" | |
22 #include "ui/aura/window_tree_host.h" | 15 #include "ui/aura/window_tree_host.h" |
23 #include "ui/compositor/dip_util.h" | 16 #include "ui/compositor/dip_util.h" |
24 #include "ui/display/display.h" | 17 #include "ui/display/display.h" |
25 #include "ui/display/screen.h" | 18 #include "ui/display/screen.h" |
26 #include "ui/wm/core/window_util.h" | 19 #include "ui/wm/core/window_util.h" |
27 #include "ui/wm/public/activation_client.h" | |
28 | 20 |
29 namespace ash { | 21 namespace ash { |
30 | 22 |
31 // static | 23 // static |
32 void ScreenPositionController::ConvertHostPointToRelativeToRootWindow( | 24 void ScreenPositionController::ConvertHostPointToRelativeToRootWindow( |
33 aura::Window* root_window, | 25 aura::Window* root_window, |
34 const aura::Window::Windows& root_windows, | 26 const aura::Window::Windows& root_windows, |
35 gfx::Point* point, | 27 gfx::Point* point, |
36 aura::Window** target_root) { | 28 aura::Window** target_root) { |
37 DCHECK(!root_window->parent()); | 29 DCHECK(!root_window->parent()); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 .origin(); | 96 .origin(); |
105 point->Offset(-display_origin.x(), -display_origin.y()); | 97 point->Offset(-display_origin.x(), -display_origin.y()); |
106 aura::Window::ConvertPointToTarget(root, window, point); | 98 aura::Window::ConvertPointToTarget(root, window, point); |
107 } | 99 } |
108 | 100 |
109 void ScreenPositionController::ConvertHostPointToScreen( | 101 void ScreenPositionController::ConvertHostPointToScreen( |
110 aura::Window* root_window, | 102 aura::Window* root_window, |
111 gfx::Point* point) { | 103 gfx::Point* point) { |
112 aura::Window* root = root_window->GetRootWindow(); | 104 aura::Window* root = root_window->GetRootWindow(); |
113 aura::Window* target_root = nullptr; | 105 aura::Window* target_root = nullptr; |
114 ConvertHostPointToRelativeToRootWindow(root, Shell::GetAllRootWindows(), | 106 ConvertHostPointToRelativeToRootWindow( |
115 point, &target_root); | 107 root, WmWindowAura::ToAuraWindows(WmShell::Get()->GetAllRootWindows()), |
| 108 point, &target_root); |
116 ConvertPointToScreen(target_root, point); | 109 ConvertPointToScreen(target_root, point); |
117 } | 110 } |
118 | 111 |
119 void ScreenPositionController::SetBounds(aura::Window* window, | 112 void ScreenPositionController::SetBounds(aura::Window* window, |
120 const gfx::Rect& bounds, | 113 const gfx::Rect& bounds, |
121 const display::Display& display) { | 114 const display::Display& display) { |
122 if (!window->parent()->GetProperty(kUsesScreenCoordinatesKey)) { | 115 if (!window->parent()->GetProperty(kUsesScreenCoordinatesKey)) { |
123 window->SetBounds(bounds); | 116 window->SetBounds(bounds); |
124 return; | 117 return; |
125 } | 118 } |
126 | 119 |
127 wm::SetBoundsInScreen(WmWindowAura::Get(window), bounds, display); | 120 wm::SetBoundsInScreen(WmWindowAura::Get(window), bounds, display); |
128 } | 121 } |
129 | 122 |
130 } // namespace ash | 123 } // namespace ash |
OLD | NEW |