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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 // When |clear_focus| is true, the implementation should | 63 // When |clear_focus| is true, the implementation should |
64 // deactivate the active window and set the focus window to NULL. | 64 // deactivate the active window and set the focus window to NULL. |
65 virtual void PreDisplayConfigurationChange(bool clear_focus) = 0; | 65 virtual void PreDisplayConfigurationChange(bool clear_focus) = 0; |
66 virtual void PostDisplayConfigurationChange() = 0; | 66 virtual void PostDisplayConfigurationChange() = 0; |
67 }; | 67 }; |
68 | 68 |
69 // How the second display will be used. | 69 // How the second display will be used. |
70 // 1) EXTENDED mode extends the desktop to the second dislpay. | 70 // 1) EXTENDED mode extends the desktop to the second dislpay. |
71 // 2) MIRRORING mode copies the content of the primary display to | 71 // 2) MIRRORING mode copies the content of the primary display to |
72 // the 2nd display. (Software Mirroring). | 72 // the 2nd display. (Software Mirroring). |
73 // 3) In VIRTUAL_KEYBOARD mode, the 2nd display is used as a | |
74 // dedicated display for virtual keyboard, and it is not | |
75 // recognized as a part of desktop. | |
76 enum SecondDisplayMode { | 73 enum SecondDisplayMode { |
77 EXTENDED, | 74 EXTENDED, |
78 MIRRORING, | 75 MIRRORING |
79 VIRTUAL_KEYBOARD | |
80 }; | 76 }; |
81 | 77 |
82 // Returns the list of possible UI scales for the display. | 78 // Returns the list of possible UI scales for the display. |
83 static std::vector<float> GetScalesForDisplay(const DisplayInfo& info); | 79 static std::vector<float> GetScalesForDisplay(const DisplayInfo& info); |
84 | 80 |
85 // Returns next valid UI scale. | 81 // Returns next valid UI scale. |
86 static float GetNextUIScale(const DisplayInfo& info, bool up); | 82 static float GetNextUIScale(const DisplayInfo& info, bool up); |
87 | 83 |
88 // Updates the bounds of the display given by |secondary_display_id| | 84 // Updates the bounds of the display given by |secondary_display_id| |
89 // according to |layout|. | 85 // according to |layout|. |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 | 280 |
285 // SoftwareMirroringController override: | 281 // SoftwareMirroringController override: |
286 #if defined(OS_CHROMEOS) | 282 #if defined(OS_CHROMEOS) |
287 virtual void SetSoftwareMirroring(bool enabled) OVERRIDE; | 283 virtual void SetSoftwareMirroring(bool enabled) OVERRIDE; |
288 virtual bool SoftwareMirroringEnabled() const OVERRIDE; | 284 virtual bool SoftwareMirroringEnabled() const OVERRIDE; |
289 #endif | 285 #endif |
290 bool software_mirroring_enabled() const { | 286 bool software_mirroring_enabled() const { |
291 return second_display_mode_ == MIRRORING; | 287 return second_display_mode_ == MIRRORING; |
292 }; | 288 }; |
293 | 289 |
294 bool virtual_keyboard_root_window_enabled() const { | |
295 return second_display_mode_ == VIRTUAL_KEYBOARD; | |
296 }; | |
297 | |
298 // Sets/gets second display mode. | 290 // Sets/gets second display mode. |
299 void SetSecondDisplayMode(SecondDisplayMode mode); | 291 void SetSecondDisplayMode(SecondDisplayMode mode); |
300 SecondDisplayMode second_display_mode() const { | 292 SecondDisplayMode second_display_mode() const { |
301 return second_display_mode_; | 293 return second_display_mode_; |
302 } | 294 } |
303 | 295 |
304 // Update the bounds of the display given by |display_id|. | 296 // Update the bounds of the display given by |display_id|. |
305 bool UpdateDisplayBounds(int64 display_id, | 297 bool UpdateDisplayBounds(int64 display_id, |
306 const gfx::Rect& new_bounds); | 298 const gfx::Rect& new_bounds); |
307 | 299 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 | 392 |
401 // User preference for the rotation of the internal display. | 393 // User preference for the rotation of the internal display. |
402 gfx::Display::Rotation registered_internal_display_rotation_; | 394 gfx::Display::Rotation registered_internal_display_rotation_; |
403 | 395 |
404 DISALLOW_COPY_AND_ASSIGN(DisplayManager); | 396 DISALLOW_COPY_AND_ASSIGN(DisplayManager); |
405 }; | 397 }; |
406 | 398 |
407 } // namespace ash | 399 } // namespace ash |
408 | 400 |
409 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ | 401 #endif // ASH_DISPLAY_DISPLAY_MANAGER_H_ |
OLD | NEW |