diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-22 22:55:10 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-22 22:55:10 +0000 |
commit | 791dc4134a464085e1abfa96036b10f9912986fc (patch) | |
tree | 3796e089089e14c26bebc7e2dcc1b22ce9691bf0 /ui/aura/monitor_manager.h | |
parent | 8bdcac814750b9528077153dc6e56cc251708ef7 (diff) | |
download | chromium_src-791dc4134a464085e1abfa96036b10f9912986fc.zip chromium_src-791dc4134a464085e1abfa96036b10f9912986fc.tar.gz chromium_src-791dc4134a464085e1abfa96036b10f9912986fc.tar.bz2 |
* MonitorChangeObserverX11 that listen to Xrandr events and update monitor configurations.
* Message on secondary monitor view
* Accelerator to create/delete/cycle monitors to test multi monitor on linux desktop
* unittest for MultiMonitorManager/MonitorController
BUG=115510
TEST=multi_monitor_manager_unittests
Review URL: https://chromiumcodereview.appspot.com/9754001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128330 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/aura/monitor_manager.h')
-rw-r--r-- | ui/aura/monitor_manager.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/ui/aura/monitor_manager.h b/ui/aura/monitor_manager.h index 77ad274..9bbd028 100644 --- a/ui/aura/monitor_manager.h +++ b/ui/aura/monitor_manager.h @@ -7,6 +7,7 @@ #pragma once #include <string> +#include <vector> #include "base/basictypes.h" #include "base/observer_list.h" @@ -27,6 +28,8 @@ class Window; class MonitorObserver { public: virtual void OnMonitorBoundsChanged(const Monitor* monitor) = 0; + virtual void OnMonitorAdded(Monitor* new_monitor) = 0; + virtual void OnMonitorRemoved(const Monitor* old_monitor) = 0; }; // MonitorManager creates, deletes and updates Monitor objects when @@ -59,9 +62,11 @@ class AURA_EXPORT MonitorManager { void AddObserver(MonitorObserver* observer); void RemoveObserver(MonitorObserver* observer); - // Called when native window's monitor size has changed. - // TODO(oshima): multiple monitor support. - virtual void OnNativeMonitorResized(const gfx::Size& size) = 0; + // Called when monitor configuration has changed. The new monitor + // configurations is passed as a vector of Monitor object, which + // contains each monitor's new infomration. + virtual void OnNativeMonitorsChanged( + const std::vector<const Monitor*>& monitors) = 0; // Create a root window for given |monitor|. virtual RootWindow* CreateRootWindowForMonitor(Monitor* monitor) = 0; @@ -75,7 +80,7 @@ class AURA_EXPORT MonitorManager { virtual const Monitor* GetMonitorNearestPoint( const gfx::Point& point) const = 0; - // Returns the monitor at |index|. The monitor at 0 is consiered + // Returns the monitor at |index|. The monitor at 0 is considered // "primary". virtual Monitor* GetMonitorAt(size_t index) = 0; @@ -84,6 +89,8 @@ class AURA_EXPORT MonitorManager { protected: // Calls observers' OnMonitorBoundsChanged methods. void NotifyBoundsChanged(const Monitor* monitor); + void NotifyMonitorAdded(Monitor* monitor); + void NotifyMonitorRemoved(const Monitor* monitor); private: // If set before the RootWindow is created, the host window will cover the |