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 #ifndef ASH_DISPLAY_DISPLAY_MANAGER_H_ | 5 #ifndef ASH_DISPLAY_DISPLAY_MANAGER_H_ |
6 #define ASH_DISPLAY_DISPLAY_MANAGER_H_ | 6 #define ASH_DISPLAY_DISPLAY_MANAGER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 } | 52 } |
53 | 53 |
54 // True if the given |display| is currently connected. | 54 // True if the given |display| is currently connected. |
55 bool IsActiveDisplay(const gfx::Display& display) const; | 55 bool IsActiveDisplay(const gfx::Display& display) const; |
56 | 56 |
57 // True if there is an internal display. | 57 // True if there is an internal display. |
58 bool HasInternalDisplay() const; | 58 bool HasInternalDisplay() const; |
59 | 59 |
60 bool IsInternalDisplayId(int64 id) const; | 60 bool IsInternalDisplayId(int64 id) const; |
61 | 61 |
62 uint64 internal_display_id() const { return internal_display_id_; } | |
63 | |
64 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window, | 62 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window, |
65 const gfx::Insets& insets); | 63 const gfx::Insets& insets); |
66 | 64 |
67 // Returns display for given |id|; | 65 // Returns display for given |id|; |
68 const gfx::Display& GetDisplayForId(int64 id) const; | 66 const gfx::Display& GetDisplayForId(int64 id) const; |
69 | 67 |
70 // Finds the display that contains |point| in screeen coordinates. | 68 // Finds the display that contains |point| in screeen coordinates. |
71 // Returns invalid display if there is no display that can satisfy | 69 // Returns invalid display if there is no display that can satisfy |
72 // the condition. | 70 // the condition. |
73 const gfx::Display& FindDisplayContainingPoint( | 71 const gfx::Display& FindDisplayContainingPoint( |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 // stored in this display manager's |displays_|. This is used to | 179 // stored in this display manager's |displays_|. This is used to |
182 // emulate display change behavior during the test byn creating the | 180 // emulate display change behavior during the test byn creating the |
183 // display list with the same display ids but with different bounds | 181 // display list with the same display ids but with different bounds |
184 void SetDisplayIdsForTest(DisplayList* display_list) const; | 182 void SetDisplayIdsForTest(DisplayList* display_list) const; |
185 | 183 |
186 // Forcibly specify 'has_overscan' flag of the DisplayInfo for specified |id|. | 184 // Forcibly specify 'has_overscan' flag of the DisplayInfo for specified |id|. |
187 void SetHasOverscanFlagForTest(int64 id, bool has_overscan); | 185 void SetHasOverscanFlagForTest(int64 id, bool has_overscan); |
188 | 186 |
189 DisplayList displays_; | 187 DisplayList displays_; |
190 | 188 |
191 int64 internal_display_id_; | |
192 | |
193 // An internal display cache used when the internal display is disconnectd. | 189 // An internal display cache used when the internal display is disconnectd. |
194 scoped_ptr<gfx::Display> internal_display_; | 190 scoped_ptr<gfx::Display> internal_display_; |
195 | 191 |
196 bool force_bounds_changed_; | 192 bool force_bounds_changed_; |
197 | 193 |
198 // The mapping from the display ID to its internal data. | 194 // The mapping from the display ID to its internal data. |
199 std::map<int64, DisplayInfo> display_info_; | 195 std::map<int64, DisplayInfo> display_info_; |
200 | 196 |
201 DISALLOW_COPY_AND_ASSIGN(DisplayManager); | 197 DISALLOW_COPY_AND_ASSIGN(DisplayManager); |
202 }; | 198 }; |
203 | 199 |
204 // Creates a display from string spec. 100+200-1440x800 creates display | 200 // Creates a display from string spec. 100+200-1440x800 creates display |
205 // whose size is 1440x800 at the location (100, 200) in screen's coordinates. | 201 // whose size is 1440x800 at the location (100, 200) in screen's coordinates. |
206 // The location can be omitted and be just "1440x800", which creates | 202 // The location can be omitted and be just "1440x800", which creates |
207 // display at the origin of the screen. An empty string creates | 203 // display at the origin of the screen. An empty string creates |
208 // the display with default size. | 204 // the display with default size. |
209 // The device scale factor can be specified by "*", like "1280x780*2", | 205 // The device scale factor can be specified by "*", like "1280x780*2", |
210 // or will use the value of |gfx::Display::GetForcedDeviceScaleFactor()| if | 206 // or will use the value of |gfx::Display::GetForcedDeviceScaleFactor()| if |
211 // --force-device-scale-factor is specified. | 207 // --force-device-scale-factor is specified. |
212 ASH_EXPORT gfx::Display CreateDisplayFromSpec(const std::string& str); | 208 ASH_EXPORT gfx::Display CreateDisplayFromSpec(const std::string& str); |
213 | 209 |
214 extern const aura::WindowProperty<int64>* const kDisplayIdKey; | 210 extern const aura::WindowProperty<int64>* const kDisplayIdKey; |
215 | 211 |
216 } // namespace internal | 212 } // namespace internal |
217 } // namespace ash | 213 } // namespace ash |
218 | 214 |
219 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ | 215 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ |
OLD | NEW |