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

Side by Side Diff: components/mus/ws/user_display_manager.cc

Issue 1881253002: mus: Implement ScreenMus::GetCursorScreenPoint(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: And fix chromeos. Created 4 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/mus/ws/user_display_manager.h" 5 #include "components/mus/ws/user_display_manager.h"
6 6
7 #include "components/mus/ws/display.h" 7 #include "components/mus/ws/display.h"
8 #include "components/mus/ws/display_manager.h" 8 #include "components/mus/ws/display_manager.h"
9 #include "components/mus/ws/window_manager_state.h" 9 #include "components/mus/ws/window_manager_state.h"
10 #include "mojo/converters/geometry/geometry_type_converters.h"
10 11
11 namespace mus { 12 namespace mus {
12 namespace ws { 13 namespace ws {
13 14
14 UserDisplayManager::UserDisplayManager(ws::DisplayManager* display_manager, 15 UserDisplayManager::UserDisplayManager(ws::DisplayManager* display_manager,
15 const UserId& user_id) 16 const UserId& user_id)
16 : display_manager_(display_manager), user_id_(user_id) { 17 : display_manager_(display_manager), user_id_(user_id) {
17 for (const WindowManagerState* wms : GetWindowManagerStatesForUser()) { 18 for (const WindowManagerState* wms : GetWindowManagerStatesForUser()) {
18 if (wms->got_frame_decoration_values()) { 19 if (wms->got_frame_decoration_values()) {
19 got_valid_frame_decorations_ = true; 20 got_valid_frame_decorations_ = true;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 } 56 }
56 57
57 display_manager_observers_.ForAllPtrs( 58 display_manager_observers_.ForAllPtrs(
58 [this, &display](mojom::DisplayManagerObserver* observer) { 59 [this, &display](mojom::DisplayManagerObserver* observer) {
59 observer->OnDisplayRemoved(display->id()); 60 observer->OnDisplayRemoved(display->id());
60 }); 61 });
61 if (test_observer_) 62 if (test_observer_)
62 test_observer_->OnDisplayRemoved(display->id()); 63 test_observer_->OnDisplayRemoved(display->id());
63 } 64 }
64 65
66 void UserDisplayManager::OnMouseCursorLocationChanged(
67 const gfx::Point& location) {
68 mouse_location_ = location;
69 }
70
65 std::set<const WindowManagerState*> 71 std::set<const WindowManagerState*>
66 UserDisplayManager::GetWindowManagerStatesForUser() const { 72 UserDisplayManager::GetWindowManagerStatesForUser() const {
67 std::set<const WindowManagerState*> result; 73 std::set<const WindowManagerState*> result;
68 for (const Display* display : display_manager_->displays()) { 74 for (const Display* display : display_manager_->displays()) {
69 const WindowManagerState* wms = 75 const WindowManagerState* wms =
70 display->GetWindowManagerStateForUser(user_id_); 76 display->GetWindowManagerStateForUser(user_id_);
71 if (wms && wms->got_frame_decoration_values()) 77 if (wms && wms->got_frame_decoration_values())
72 result.insert(wms); 78 result.insert(wms);
73 } 79 }
74 return result; 80 return result;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 test_observer_->OnDisplaysChanged(displays.Clone()); 119 test_observer_->OnDisplaysChanged(displays.Clone());
114 } 120 }
115 121
116 void UserDisplayManager::AddObserver( 122 void UserDisplayManager::AddObserver(
117 mojom::DisplayManagerObserverPtr observer) { 123 mojom::DisplayManagerObserverPtr observer) {
118 mojom::DisplayManagerObserver* observer_impl = observer.get(); 124 mojom::DisplayManagerObserver* observer_impl = observer.get();
119 display_manager_observers_.AddPtr(std::move(observer)); 125 display_manager_observers_.AddPtr(std::move(observer));
120 OnObserverAdded(observer_impl); 126 OnObserverAdded(observer_impl);
121 } 127 }
122 128
129 void UserDisplayManager::GetCursorScreenPoint(
130 const GetCursorScreenPointCallback& callback) {
131 callback.Run(mojo::Point::From(mouse_location_));
132 }
133
123 } // namespace ws 134 } // namespace ws
124 } // namespace mus 135 } // namespace mus
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698