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

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

Issue 10909043: Cancel drag if display configuration changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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
« no previous file with comments | « ash/display/display_controller_unittest.cc ('k') | ash/display/multi_display_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_MULTI_DISPLAY_MANAGER_H_ 5 #ifndef ASH_DISPLAY_MULTI_DISPLAY_MANAGER_H_
6 #define ASH_DISPLAY_MULTI_DISPLAY_MANAGER_H_ 6 #define ASH_DISPLAY_MULTI_DISPLAY_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 20 matching lines...) Expand all
31 // TODO(oshima): gfx::Screen needs to return translated coordinates 31 // TODO(oshima): gfx::Screen needs to return translated coordinates
32 // if the root window is translated. crbug.com/119268. 32 // if the root window is translated. crbug.com/119268.
33 class ASH_EXPORT MultiDisplayManager : public aura::DisplayManager, 33 class ASH_EXPORT MultiDisplayManager : public aura::DisplayManager,
34 public aura::RootWindowObserver { 34 public aura::RootWindowObserver {
35 public: 35 public:
36 MultiDisplayManager(); 36 MultiDisplayManager();
37 virtual ~MultiDisplayManager(); 37 virtual ~MultiDisplayManager();
38 38
39 // Used to emulate display change when run in a desktop environment instead 39 // Used to emulate display change when run in a desktop environment instead
40 // of on a device. 40 // of on a device.
41 static void AddRemoveDisplay();
42 static void CycleDisplay(); 41 static void CycleDisplay();
43 static void ToggleDisplayScale(); 42 static void ToggleDisplayScale();
44 43
45 // Detects the internal display's ID, and stores gfx::Display 44 // Detects the internal display's ID, and stores gfx::Display
46 // in the cache, if any. 45 // in the cache, if any.
47 void InitInternalDisplayInfo(); 46 void InitInternalDisplayInfo();
48 47
49 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window, 48 bool UpdateWorkAreaOfDisplayNearestWindow(const aura::Window* window,
50 const gfx::Insets& insets); 49 const gfx::Insets& insets);
51 50
(...skipping 22 matching lines...) Expand all
74 // RootWindowObserver overrides: 73 // RootWindowObserver overrides:
75 virtual void OnRootWindowResized(const aura::RootWindow* root, 74 virtual void OnRootWindowResized(const aura::RootWindow* root,
76 const gfx::Size& new_size) OVERRIDE; 75 const gfx::Size& new_size) OVERRIDE;
77 76
78 private: 77 private:
79 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, ConvertPoint); 78 FRIEND_TEST_ALL_PREFIXES(ExtendedDesktopTest, ConvertPoint);
80 FRIEND_TEST_ALL_PREFIXES(MultiDisplayManagerTest, TestNativeDisplaysChanged); 79 FRIEND_TEST_ALL_PREFIXES(MultiDisplayManagerTest, TestNativeDisplaysChanged);
81 typedef std::vector<gfx::Display> Displays; 80 typedef std::vector<gfx::Display> Displays;
82 81
83 void Init(); 82 void Init();
84 void AddRemoveDisplayImpl();
85 void CycleDisplayImpl(); 83 void CycleDisplayImpl();
86 void ScaleDisplayImpl(); 84 void ScaleDisplayImpl();
87 gfx::Display& FindDisplayForRootWindow(const aura::RootWindow* root); 85 gfx::Display& FindDisplayForRootWindow(const aura::RootWindow* root);
88 86
89 // Refer to |aura::DisplayManager::CreateDisplayFromSpec| API for 87 // Refer to |aura::DisplayManager::CreateDisplayFromSpec| API for
90 // the format of |spec|. 88 // the format of |spec|.
91 void AddDisplayFromSpec(const std::string& spec); 89 void AddDisplayFromSpec(const std::string& spec);
92 90
93 void SetInternalDisplayIdForTest(int64 id); 91 void SetInternalDisplayIdForTest(int64 id);
94 92
95 Displays displays_; 93 Displays displays_;
96 94
97 int64 internal_display_id_; 95 int64 internal_display_id_;
98 96
99 // An internal display cache used when the internal display is disconnectd. 97 // An internal display cache used when the internal display is disconnectd.
100 scoped_ptr<gfx::Display> internal_display_; 98 scoped_ptr<gfx::Display> internal_display_;
101 99
102 DISALLOW_COPY_AND_ASSIGN(MultiDisplayManager); 100 DISALLOW_COPY_AND_ASSIGN(MultiDisplayManager);
103 }; 101 };
104 102
105 extern const aura::WindowProperty<int64>* const kDisplayIdKey; 103 extern const aura::WindowProperty<int64>* const kDisplayIdKey;
106 104
107 } // namespace internal 105 } // namespace internal
108 } // namespace ash 106 } // namespace ash
109 107
110 #endif // ASH_DISPLAY_MULTI_DISPLAY_MANAGER_H_ 108 #endif // ASH_DISPLAY_MULTI_DISPLAY_MANAGER_H_
OLDNEW
« no previous file with comments | « ash/display/display_controller_unittest.cc ('k') | ash/display/multi_display_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698