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

Side by Side Diff: services/ui/ws/display_manager.h

Issue 2736943003: Start to decouple display::Display from ws::PlatformDisplay. (Closed)
Patch Set: Fix comments. Created 3 years, 9 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
« no previous file with comments | « services/ui/ws/display.cc ('k') | services/ui/ws/display_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef SERVICES_UI_WS_DISPLAY_MANAGER_H_ 5 #ifndef SERVICES_UI_WS_DISPLAY_MANAGER_H_
6 #define SERVICES_UI_WS_DISPLAY_MANAGER_H_ 6 #define SERVICES_UI_WS_DISPLAY_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <set> 10 #include <set>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "services/ui/display/screen_manager_delegate.h" 13 #include "services/ui/display/screen_manager_delegate.h"
14 #include "services/ui/ws/ids.h" 14 #include "services/ui/ws/ids.h"
15 #include "services/ui/ws/user_id.h" 15 #include "services/ui/ws/user_id.h"
16 #include "services/ui/ws/user_id_tracker_observer.h" 16 #include "services/ui/ws/user_id_tracker_observer.h"
17 #include "ui/display/display.h"
17 18
18 namespace ui { 19 namespace ui {
19 namespace ws { 20 namespace ws {
20 21
21 class CursorLocationManager; 22 class CursorLocationManager;
22 class Display; 23 class Display;
23 class ServerWindow; 24 class ServerWindow;
24 class UserDisplayManager; 25 class UserDisplayManager;
25 class UserIdTracker; 26 class UserIdTracker;
26 class WindowManagerDisplayRoot; 27 class WindowManagerDisplayRoot;
(...skipping 17 matching lines...) Expand all
44 45
45 // Adds/removes a Display. DisplayManager owns the Displays. 46 // Adds/removes a Display. DisplayManager owns the Displays.
46 // TODO(sky): make add take a scoped_ptr. 47 // TODO(sky): make add take a scoped_ptr.
47 void AddDisplay(Display* display); 48 void AddDisplay(Display* display);
48 void DestroyDisplay(Display* display); 49 void DestroyDisplay(Display* display);
49 void DestroyAllDisplays(); 50 void DestroyAllDisplays();
50 const std::set<Display*>& displays() { return displays_; } 51 const std::set<Display*>& displays() { return displays_; }
51 std::set<const Display*> displays() const; 52 std::set<const Display*> displays() const;
52 53
53 // Notifies when something about the Display changes. 54 // Notifies when something about the Display changes.
54 void OnDisplayUpdate(Display* display); 55 void OnDisplayUpdate(const display::Display& display);
55 56
56 // Returns the Display that contains |window|, or null if |window| is not 57 // Returns the Display that contains |window|, or null if |window| is not
57 // attached to a display. 58 // attached to a display.
58 Display* GetDisplayContaining(const ServerWindow* window); 59 Display* GetDisplayContaining(const ServerWindow* window);
59 const Display* GetDisplayContaining(const ServerWindow* window) const; 60 const Display* GetDisplayContaining(const ServerWindow* window) const;
60 61
61 // Returns the display with the specified display id, or null if there is no 62 // Returns the display with the specified display id, or null if there is no
62 // display with that id. 63 // display with that id.
63 Display* GetDisplayById(int64_t display_id); 64 Display* GetDisplayById(int64_t display_id);
64 65
(...skipping 14 matching lines...) Expand all
79 80
80 // Called when the AcceleratedWidget is available for |display|. 81 // Called when the AcceleratedWidget is available for |display|.
81 void OnDisplayAcceleratedWidgetAvailable(Display* display); 82 void OnDisplayAcceleratedWidgetAvailable(Display* display);
82 83
83 private: 84 private:
84 // UserIdTrackerObserver: 85 // UserIdTrackerObserver:
85 void OnActiveUserIdChanged(const UserId& previously_active_id, 86 void OnActiveUserIdChanged(const UserId& previously_active_id,
86 const UserId& active_id) override; 87 const UserId& active_id) override;
87 88
88 // display::ScreenManagerDelegate: 89 // display::ScreenManagerDelegate:
89 void OnDisplayAdded(int64_t id, 90 void OnDisplayAdded(const display::Display& display,
90 const display::ViewportMetrics& metrics) override; 91 const display::ViewportMetrics& metrics) override;
91 void OnDisplayRemoved(int64_t id) override; 92 void OnDisplayRemoved(int64_t id) override;
92 void OnDisplayModified(int64_t id, 93 void OnDisplayModified(const display::Display& display,
93 const display::ViewportMetrics& metrics) override; 94 const display::ViewportMetrics& metrics) override;
94 void OnPrimaryDisplayChanged(int64_t primary_display_id) override; 95 void OnPrimaryDisplayChanged(int64_t primary_display_id) override;
95 96
96 WindowServer* window_server_; 97 WindowServer* window_server_;
97 UserIdTracker* user_id_tracker_; 98 UserIdTracker* user_id_tracker_;
98 99
99 // Displays are initially added to |pending_displays_|. When the display is 100 // Displays are initially added to |pending_displays_|. When the display is
100 // initialized it is moved to |displays_|. WindowServer owns the Displays. 101 // initialized it is moved to |displays_|. WindowServer owns the Displays.
101 std::set<Display*> pending_displays_; 102 std::set<Display*> pending_displays_;
102 std::set<Display*> displays_; 103 std::set<Display*> displays_;
103 104
104 std::map<UserId, std::unique_ptr<UserDisplayManager>> user_display_managers_; 105 std::map<UserId, std::unique_ptr<UserDisplayManager>> user_display_managers_;
105 106
106 std::map<UserId, std::unique_ptr<CursorLocationManager>> 107 std::map<UserId, std::unique_ptr<CursorLocationManager>>
107 cursor_location_managers_; 108 cursor_location_managers_;
108 109
109 // ID to use for next root node. 110 // ID to use for next root node.
110 ClientSpecificId next_root_id_; 111 ClientSpecificId next_root_id_;
111 112
112 DISALLOW_COPY_AND_ASSIGN(DisplayManager); 113 DISALLOW_COPY_AND_ASSIGN(DisplayManager);
113 }; 114 };
114 115
115 } // namespace ws 116 } // namespace ws
116 } // namespace ui 117 } // namespace ui
117 118
118 #endif // SERVICES_UI_WS_DISPLAY_MANAGER_H_ 119 #endif // SERVICES_UI_WS_DISPLAY_MANAGER_H_
OLDNEW
« no previous file with comments | « services/ui/ws/display.cc ('k') | services/ui/ws/display_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698