summaryrefslogtreecommitdiffstats
path: root/ui/aura/monitor_manager.h
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-22 22:55:10 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-22 22:55:10 +0000
commit791dc4134a464085e1abfa96036b10f9912986fc (patch)
tree3796e089089e14c26bebc7e2dcc1b22ce9691bf0 /ui/aura/monitor_manager.h
parent8bdcac814750b9528077153dc6e56cc251708ef7 (diff)
downloadchromium_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.h15
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