| OLD | NEW |
| 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 #ifndef SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ | 5 #ifndef SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ |
| 6 #define SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ | 6 #define SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <queue> | 11 #include <queue> |
| 12 #include <string> | 12 #include <string> |
| 13 #include <unordered_map> | 13 #include <unordered_map> |
| 14 #include <vector> | 14 #include <vector> |
| 15 | 15 |
| 16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
| 17 #include "base/timer/timer.h" | 17 #include "base/timer/timer.h" |
| 18 #include "services/ui/public/interfaces/display_manager.mojom.h" | 18 #include "services/ui/public/interfaces/display_manager.mojom.h" |
| 19 #include "services/ui/ws/cursor_state.h" |
| 19 #include "services/ui/ws/event_dispatcher.h" | 20 #include "services/ui/ws/event_dispatcher.h" |
| 20 #include "services/ui/ws/event_dispatcher_delegate.h" | 21 #include "services/ui/ws/event_dispatcher_delegate.h" |
| 21 #include "services/ui/ws/server_window_observer.h" | 22 #include "services/ui/ws/server_window_observer.h" |
| 22 #include "services/ui/ws/user_id.h" | 23 #include "services/ui/ws/user_id.h" |
| 23 #include "services/ui/ws/window_server.h" | 24 #include "services/ui/ws/window_server.h" |
| 24 | 25 |
| 25 namespace ui { | 26 namespace ui { |
| 26 namespace ws { | 27 namespace ws { |
| 27 | 28 |
| 28 class DisplayManager; | 29 class DisplayManager; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 | 84 |
| 84 // Returns the ServerWindow corresponding to an orphaned root with the | 85 // Returns the ServerWindow corresponding to an orphaned root with the |
| 85 // specified id. See |orphaned_window_manager_display_roots_| for details on | 86 // specified id. See |orphaned_window_manager_display_roots_| for details on |
| 86 // what on orphaned root is. | 87 // what on orphaned root is. |
| 87 ServerWindow* GetOrphanedRootWithId(const WindowId& id); | 88 ServerWindow* GetOrphanedRootWithId(const WindowId& id); |
| 88 | 89 |
| 89 // TODO(sky): EventDispatcher is really an implementation detail and should | 90 // TODO(sky): EventDispatcher is really an implementation detail and should |
| 90 // not be exposed. | 91 // not be exposed. |
| 91 EventDispatcher* event_dispatcher() { return &event_dispatcher_; } | 92 EventDispatcher* event_dispatcher() { return &event_dispatcher_; } |
| 92 | 93 |
| 94 CursorState& cursor_state() { return cursor_state_; } |
| 95 |
| 93 // Returns true if this is the WindowManager of the active user. | 96 // Returns true if this is the WindowManager of the active user. |
| 94 bool IsActive() const; | 97 bool IsActive() const; |
| 95 | 98 |
| 96 void Activate(const gfx::Point& mouse_location_on_screen); | 99 void Activate(const gfx::Point& mouse_location_on_screen); |
| 97 void Deactivate(); | 100 void Deactivate(); |
| 98 | 101 |
| 99 // Processes an event from PlatformDisplay. | 102 // Processes an event from PlatformDisplay. |
| 100 void ProcessEvent(const Event& event, int64_t display_id); | 103 void ProcessEvent(const Event& event, int64_t display_id); |
| 101 | 104 |
| 102 private: | 105 private: |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 // Id of the display the current event being processed originated from. | 291 // Id of the display the current event being processed originated from. |
| 289 int64_t event_processing_display_id_ = 0; | 292 int64_t event_processing_display_id_ = 0; |
| 290 | 293 |
| 291 // Set of WindowManagerDisplayRoots corresponding to Displays that have been | 294 // Set of WindowManagerDisplayRoots corresponding to Displays that have been |
| 292 // destroyed. WindowManagerDisplayRoots are not destroyed immediately when | 295 // destroyed. WindowManagerDisplayRoots are not destroyed immediately when |
| 293 // the Display is destroyed to allow the client to destroy the window when it | 296 // the Display is destroyed to allow the client to destroy the window when it |
| 294 // wants to. Once the client destroys the window WindowManagerDisplayRoots is | 297 // wants to. Once the client destroys the window WindowManagerDisplayRoots is |
| 295 // destroyed. | 298 // destroyed. |
| 296 WindowManagerDisplayRoots orphaned_window_manager_display_roots_; | 299 WindowManagerDisplayRoots orphaned_window_manager_display_roots_; |
| 297 | 300 |
| 301 // All state regarding what the current cursor is. |
| 302 CursorState cursor_state_; |
| 303 |
| 298 DISALLOW_COPY_AND_ASSIGN(WindowManagerState); | 304 DISALLOW_COPY_AND_ASSIGN(WindowManagerState); |
| 299 }; | 305 }; |
| 300 | 306 |
| 301 } // namespace ws | 307 } // namespace ws |
| 302 } // namespace ui | 308 } // namespace ui |
| 303 | 309 |
| 304 #endif // SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ | 310 #endif // SERVICES_UI_WS_WINDOW_MANAGER_STATE_H_ |
| OLD | NEW |