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 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 // you must use |GetDisplayInfo| to get the correct DisplayInfo for | 336 // you must use |GetDisplayInfo| to get the correct DisplayInfo for |
337 // a display. | 337 // a display. |
338 void InsertAndUpdateDisplayInfo(const DisplayInfo& new_info); | 338 void InsertAndUpdateDisplayInfo(const DisplayInfo& new_info); |
339 | 339 |
340 // Called when the display info is updated through InsertAndUpdateDisplayInfo. | 340 // Called when the display info is updated through InsertAndUpdateDisplayInfo. |
341 void OnDisplayInfoUpdated(const DisplayInfo& display_info); | 341 void OnDisplayInfoUpdated(const DisplayInfo& display_info); |
342 | 342 |
343 // Creates a display object from the DisplayInfo for |display_id|. | 343 // Creates a display object from the DisplayInfo for |display_id|. |
344 gfx::Display CreateDisplayFromDisplayInfoById(int64 display_id); | 344 gfx::Display CreateDisplayFromDisplayInfoById(int64 display_id); |
345 | 345 |
346 // Updates the bounds of the secondary display in |display_list| | 346 // Updates the bounds of all non-primary displays in |display_list| and |
347 // using the layout registered for the display pair and set the | 347 // append the indices of displays updated to |updated_indices|. |
348 // index of display updated to |updated_index|. Returns true | 348 // When the size of |display_list| equals 2, the bounds are updated using |
349 // if the secondary display's bounds has been changed from current | 349 // the layout registered for the display pair. For more than 2 displays, |
350 // value, or false otherwise. | 350 // the bounds are updated using horizontal layout. |
351 bool UpdateSecondaryDisplayBoundsForLayout(DisplayList* display_list, | 351 // Returns true if any of the non-primary display's bounds has been changed |
352 size_t* updated_index) const; | 352 // from current value, or false otherwise. |
| 353 bool UpdateNonPrimaryDisplayBoundsForLayout( |
| 354 DisplayList* display_list, std::vector<size_t>* updated_indices) const; |
353 | 355 |
354 void CreateMirrorWindowIfAny(); | 356 void CreateMirrorWindowIfAny(); |
355 | 357 |
356 bool HasSoftwareMirroringDisplay(); | 358 bool HasSoftwareMirroringDisplay(); |
357 | 359 |
358 static void UpdateDisplayBoundsForLayout( | 360 static void UpdateDisplayBoundsForLayout( |
359 const DisplayLayout& layout, | 361 const DisplayLayout& layout, |
360 const gfx::Display& primary_display, | 362 const gfx::Display& primary_display, |
361 gfx::Display* secondary_display); | 363 gfx::Display* secondary_display); |
362 | 364 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 gfx::Display::Rotation registered_internal_display_rotation_; | 403 gfx::Display::Rotation registered_internal_display_rotation_; |
402 | 404 |
403 base::WeakPtrFactory<DisplayManager> weak_ptr_factory_; | 405 base::WeakPtrFactory<DisplayManager> weak_ptr_factory_; |
404 | 406 |
405 DISALLOW_COPY_AND_ASSIGN(DisplayManager); | 407 DISALLOW_COPY_AND_ASSIGN(DisplayManager); |
406 }; | 408 }; |
407 | 409 |
408 } // namespace ash | 410 } // namespace ash |
409 | 411 |
410 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ | 412 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ |
OLD | NEW |