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

Side by Side Diff: ash/display/display_controller.h

Issue 224113005: Eliminate ash::internal namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
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 #ifndef ASH_DISPLAY_DISPLAY_CONTROLLER_H_ 5 #ifndef ASH_DISPLAY_DISPLAY_CONTROLLER_H_
6 #define ASH_DISPLAY_DISPLAY_CONTROLLER_H_ 6 #define ASH_DISPLAY_DISPLAY_CONTROLLER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 19 matching lines...) Expand all
30 class Value; 30 class Value;
31 template <typename T> class JSONValueConverter; 31 template <typename T> class JSONValueConverter;
32 } 32 }
33 33
34 namespace gfx { 34 namespace gfx {
35 class Display; 35 class Display;
36 class Insets; 36 class Insets;
37 } 37 }
38 38
39 namespace ash { 39 namespace ash {
40 namespace internal {
41 class CursorWindowController; 40 class CursorWindowController;
42 class DisplayInfo; 41 class DisplayInfo;
43 class DisplayManager; 42 class DisplayManager;
44 class FocusActivationStore; 43 class FocusActivationStore;
45 class MirrorWindowController; 44 class MirrorWindowController;
46 class RootWindowController; 45 class RootWindowController;
47 class VirtualKeyboardWindowController; 46 class VirtualKeyboardWindowController;
48 }
49 47
50 // DisplayController owns and maintains RootWindows for each attached 48 // DisplayController owns and maintains RootWindows for each attached
51 // display, keeping them in sync with display configuration changes. 49 // display, keeping them in sync with display configuration changes.
52 class ASH_EXPORT DisplayController : public gfx::DisplayObserver, 50 class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
53 public aura::WindowTreeHostObserver, 51 public aura::WindowTreeHostObserver,
54 public internal::DisplayManager::Delegate { 52 public DisplayManager::Delegate {
55 public: 53 public:
56 class ASH_EXPORT Observer { 54 class ASH_EXPORT Observer {
57 public: 55 public:
58 // Invoked only once after all displays are initialized 56 // Invoked only once after all displays are initialized
59 // after startup. 57 // after startup.
60 virtual void OnDisplaysInitialized() {} 58 virtual void OnDisplaysInitialized() {}
61 59
62 // Invoked when the display configuration change is requested, 60 // Invoked when the display configuration change is requested,
63 // but before the change is applied to aura/ash. 61 // but before the change is applied to aura/ash.
64 virtual void OnDisplayConfigurationChanging() {} 62 virtual void OnDisplayConfigurationChanging() {}
65 63
66 // Invoked when the all display configuration changes 64 // Invoked when the all display configuration changes
67 // have been applied. 65 // have been applied.
68 virtual void OnDisplayConfigurationChanged() {}; 66 virtual void OnDisplayConfigurationChanged() {};
69 67
70 protected: 68 protected:
71 virtual ~Observer() {} 69 virtual ~Observer() {}
72 }; 70 };
73 71
74 DisplayController(); 72 DisplayController();
75 virtual ~DisplayController(); 73 virtual ~DisplayController();
76 74
77 void Start(); 75 void Start();
78 void Shutdown(); 76 void Shutdown();
79 77
80 // Returns primary display's ID. 78 // Returns primary display's ID.
81 // TODO(oshima): Move this out from DisplayController; 79 // TODO(oshima): Move this out from DisplayController;
82 static int64 GetPrimaryDisplayId(); 80 static int64 GetPrimaryDisplayId();
83 81
84 internal::CursorWindowController* cursor_window_controller() { 82 CursorWindowController* cursor_window_controller() {
85 return cursor_window_controller_.get(); 83 return cursor_window_controller_.get();
86 } 84 }
87 85
88 internal::MirrorWindowController* mirror_window_controller() { 86 MirrorWindowController* mirror_window_controller() {
89 return mirror_window_controller_.get(); 87 return mirror_window_controller_.get();
90 } 88 }
91 89
92 internal::VirtualKeyboardWindowController* 90 VirtualKeyboardWindowController* virtual_keyboard_window_controller() {
93 virtual_keyboard_window_controller() {
94 return virtual_keyboard_window_controller_.get(); 91 return virtual_keyboard_window_controller_.get();
95 } 92 }
96 93
97 // Initializes primary display. 94 // Initializes primary display.
98 void InitPrimaryDisplay(); 95 void InitPrimaryDisplay();
99 96
100 // Initialize secondary displays. 97 // Initialize secondary displays.
101 void InitSecondaryDisplays(); 98 void InitSecondaryDisplays();
102 99
103 // Add/Remove observers. 100 // Add/Remove observers.
(...skipping 22 matching lines...) Expand all
126 123
127 // Closes all child windows in the all root windows. 124 // Closes all child windows in the all root windows.
128 void CloseChildWindows(); 125 void CloseChildWindows();
129 126
130 // Returns all root windows. In non extended desktop mode, this 127 // Returns all root windows. In non extended desktop mode, this
131 // returns the primary root window only. 128 // returns the primary root window only.
132 aura::Window::Windows GetAllRootWindows(); 129 aura::Window::Windows GetAllRootWindows();
133 130
134 // Returns all oot window controllers. In non extended desktop 131 // Returns all oot window controllers. In non extended desktop
135 // mode, this return a RootWindowController for the primary root window only. 132 // mode, this return a RootWindowController for the primary root window only.
136 std::vector<internal::RootWindowController*> GetAllRootWindowControllers(); 133 std::vector<RootWindowController*> GetAllRootWindowControllers();
137 134
138 // Gets/Sets/Clears the overscan insets for the specified |display_id|. See 135 // Gets/Sets/Clears the overscan insets for the specified |display_id|. See
139 // display_manager.h for the details. 136 // display_manager.h for the details.
140 gfx::Insets GetOverscanInsets(int64 display_id) const; 137 gfx::Insets GetOverscanInsets(int64 display_id) const;
141 void SetOverscanInsets(int64 display_id, const gfx::Insets& insets_in_dip); 138 void SetOverscanInsets(int64 display_id, const gfx::Insets& insets_in_dip);
142 139
143 // Checks if the mouse pointer is on one of displays, and moves to 140 // Checks if the mouse pointer is on one of displays, and moves to
144 // the center of the nearest display if it's outside of all displays. 141 // the center of the nearest display if it's outside of all displays.
145 void EnsurePointerInDisplays(); 142 void EnsurePointerInDisplays();
146 143
147 // Sets the work area's |insets| to the display assigned to |window|. 144 // Sets the work area's |insets| to the display assigned to |window|.
148 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window, 145 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window,
149 const gfx::Insets& insets); 146 const gfx::Insets& insets);
150 // aura::DisplayObserver overrides: 147 // aura::DisplayObserver overrides:
151 virtual void OnDisplayBoundsChanged( 148 virtual void OnDisplayBoundsChanged(
152 const gfx::Display& display) OVERRIDE; 149 const gfx::Display& display) OVERRIDE;
153 virtual void OnDisplayAdded(const gfx::Display& display) OVERRIDE; 150 virtual void OnDisplayAdded(const gfx::Display& display) OVERRIDE;
154 virtual void OnDisplayRemoved(const gfx::Display& display) OVERRIDE; 151 virtual void OnDisplayRemoved(const gfx::Display& display) OVERRIDE;
155 152
156 // aura::WindowTreeHostObserver overrides: 153 // aura::WindowTreeHostObserver overrides:
157 virtual void OnHostResized(const aura::WindowTreeHost* host) OVERRIDE; 154 virtual void OnHostResized(const aura::WindowTreeHost* host) OVERRIDE;
158 155
159 // aura::DisplayManager::Delegate overrides: 156 // aura::DisplayManager::Delegate overrides:
160 virtual void CreateOrUpdateNonDesktopDisplay( 157 virtual void CreateOrUpdateNonDesktopDisplay(const DisplayInfo& info)
161 const internal::DisplayInfo& info) OVERRIDE; 158 OVERRIDE;
162 virtual void CloseNonDesktopDisplay() OVERRIDE; 159 virtual void CloseNonDesktopDisplay() OVERRIDE;
163 virtual void PreDisplayConfigurationChange(bool clear_focus) OVERRIDE; 160 virtual void PreDisplayConfigurationChange(bool clear_focus) OVERRIDE;
164 virtual void PostDisplayConfigurationChange() OVERRIDE; 161 virtual void PostDisplayConfigurationChange() OVERRIDE;
165 162
166 private: 163 private:
167 FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, BoundsUpdated); 164 FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, BoundsUpdated);
168 FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, SecondaryDisplayLayout); 165 FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, SecondaryDisplayLayout);
169 friend class internal::DisplayManager; 166 friend class DisplayManager;
170 friend class internal::MirrorWindowController; 167 friend class MirrorWindowController;
171 168
172 // Creates a WindowTreeHost for |display| and stores it in the |root_windows_| 169 // Creates a WindowTreeHost for |display| and stores it in the |root_windows_|
173 // map. 170 // map.
174 aura::WindowTreeHost* AddWindowTreeHostForDisplay( 171 aura::WindowTreeHost* AddWindowTreeHostForDisplay(
175 const gfx::Display& display); 172 const gfx::Display& display);
176 173
177 void OnFadeOutForSwapDisplayFinished(); 174 void OnFadeOutForSwapDisplayFinished();
178 175
179 void UpdateHostWindowNames(); 176 void UpdateHostWindowNames();
180 177
(...skipping 19 matching lines...) Expand all
200 197
201 // The mapping from display ID to its root window. 198 // The mapping from display ID to its root window.
202 std::map<int64, aura::Window*> root_windows_; 199 std::map<int64, aura::Window*> root_windows_;
203 200
204 ObserverList<Observer> observers_; 201 ObserverList<Observer> observers_;
205 202
206 // Store the primary root window temporarily while replacing 203 // Store the primary root window temporarily while replacing
207 // display. 204 // display.
208 aura::Window* primary_root_window_for_replace_; 205 aura::Window* primary_root_window_for_replace_;
209 206
210 scoped_ptr<internal::FocusActivationStore> focus_activation_store_; 207 scoped_ptr<FocusActivationStore> focus_activation_store_;
211 208
212 scoped_ptr<internal::CursorWindowController> cursor_window_controller_; 209 scoped_ptr<CursorWindowController> cursor_window_controller_;
213 scoped_ptr<internal::MirrorWindowController> mirror_window_controller_; 210 scoped_ptr<MirrorWindowController> mirror_window_controller_;
214 scoped_ptr<internal::VirtualKeyboardWindowController> 211 scoped_ptr<VirtualKeyboardWindowController>
215 virtual_keyboard_window_controller_; 212 virtual_keyboard_window_controller_;
216 213
217 // Stores the curent cursor location (in native coordinates) used to 214 // Stores the curent cursor location (in native coordinates) used to
218 // restore the cursor location when display configuration 215 // restore the cursor location when display configuration
219 // changed. 216 // changed.
220 gfx::Point cursor_location_in_native_coords_for_restore_; 217 gfx::Point cursor_location_in_native_coords_for_restore_;
221 218
222 DISALLOW_COPY_AND_ASSIGN(DisplayController); 219 DISALLOW_COPY_AND_ASSIGN(DisplayController);
223 }; 220 };
224 221
225 } // namespace ash 222 } // namespace ash
226 223
227 #endif // ASH_DISPLAY_DISPLAY_CONTROLLER_H_ 224 #endif // ASH_DISPLAY_DISPLAY_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/display/display_change_observer_chromeos_unittest.cc ('k') | ash/display/display_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698