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_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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 // Returns all oot window controllers. In non extended desktop | 62 // Returns all oot window controllers. In non extended desktop |
63 // mode, this return a RootWindowController for the primary root window only. | 63 // mode, this return a RootWindowController for the primary root window only. |
64 std::vector<internal::RootWindowController*> GetAllRootWindowControllers(); | 64 std::vector<internal::RootWindowController*> GetAllRootWindowControllers(); |
65 | 65 |
66 SecondaryDisplayLayout secondary_display_layout() const { | 66 SecondaryDisplayLayout secondary_display_layout() const { |
67 return secondary_display_layout_; | 67 return secondary_display_layout_; |
68 } | 68 } |
69 void SetSecondaryDisplayLayout(SecondaryDisplayLayout layout); | 69 void SetSecondaryDisplayLayout(SecondaryDisplayLayout layout); |
70 | 70 |
| 71 void set_dont_warp_mouse(bool dont_warp_mouse) { |
| 72 dont_warp_mouse_ = dont_warp_mouse; |
| 73 } |
| 74 |
71 // Warps the mouse cursor to an alternate root window when the | 75 // Warps the mouse cursor to an alternate root window when the |
72 // |point_in_root|, which is the location of the mouse cursor, | 76 // |point_in_root|, which is the location of the mouse cursor, |
73 // hits or exceeds the edge of the |root_window| and the mouse cursor | 77 // hits or exceeds the edge of the |root_window| and the mouse cursor |
74 // is considered to be in an alternate display. Returns true if | 78 // is considered to be in an alternate display. Returns true if |
75 // the cursor was moved. | 79 // the cursor was moved. |
76 bool WarpMouseCursorIfNecessary(aura::RootWindow* root_window, | 80 bool WarpMouseCursorIfNecessary(aura::RootWindow* root_window, |
77 const gfx::Point& point_in_root); | 81 const gfx::Point& point_in_root); |
78 | 82 |
79 // aura::DisplayObserver overrides: | 83 // aura::DisplayObserver overrides: |
80 virtual void OnDisplayBoundsChanged( | 84 virtual void OnDisplayBoundsChanged( |
81 const gfx::Display& display) OVERRIDE; | 85 const gfx::Display& display) OVERRIDE; |
82 virtual void OnDisplayAdded(const gfx::Display& display) OVERRIDE; | 86 virtual void OnDisplayAdded(const gfx::Display& display) OVERRIDE; |
83 virtual void OnDisplayRemoved(const gfx::Display& display) OVERRIDE; | 87 virtual void OnDisplayRemoved(const gfx::Display& display) OVERRIDE; |
84 | 88 |
85 // Is extended desktop enabled? | 89 // Is extended desktop enabled? |
86 static bool IsExtendedDesktopEnabled(); | 90 static bool IsExtendedDesktopEnabled(); |
87 | 91 |
88 private: | 92 private: |
89 // Creates a root window for |display| and stores it in the |root_windows_| | 93 // Creates a root window for |display| and stores it in the |root_windows_| |
90 // map. | 94 // map. |
91 aura::RootWindow* AddRootWindowForDisplay(const gfx::Display& display); | 95 aura::RootWindow* AddRootWindowForDisplay(const gfx::Display& display); |
92 | 96 |
93 void UpdateDisplayBoundsForLayout(); | 97 void UpdateDisplayBoundsForLayout(); |
94 | 98 |
95 std::map<int, aura::RootWindow*> root_windows_; | 99 std::map<int, aura::RootWindow*> root_windows_; |
96 | 100 |
97 SecondaryDisplayLayout secondary_display_layout_; | 101 SecondaryDisplayLayout secondary_display_layout_; |
98 | 102 |
| 103 // If true, the mouse pointer can't move from one display to another. |
| 104 bool dont_warp_mouse_; |
| 105 |
99 DISALLOW_COPY_AND_ASSIGN(DisplayController); | 106 DISALLOW_COPY_AND_ASSIGN(DisplayController); |
100 }; | 107 }; |
101 | 108 |
102 } // namespace internal | 109 } // namespace internal |
103 } // namespace ash | 110 } // namespace ash |
104 | 111 |
105 #endif // ASH_DISPLAY_DISPLAY_CONTROLLER_H_ | 112 #endif // ASH_DISPLAY_DISPLAY_CONTROLLER_H_ |
OLD | NEW |