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

Unified Diff: ash/monitor/multi_monitor_manager.cc

Issue 9960042: Refactor screen/monitor so that gfx::Screen returns monitor object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix command line Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ash/monitor/multi_monitor_manager.cc
diff --git a/ash/monitor/multi_monitor_manager.cc b/ash/monitor/multi_monitor_manager.cc
index 46dddadd31b4cf2c7ad9c417fdfd70a9d170da69..8f6fd53216ceff0fe56c30ee306c3d8922954a7d 100644
--- a/ash/monitor/multi_monitor_manager.cc
+++ b/ash/monitor/multi_monitor_manager.cc
@@ -12,33 +12,33 @@
#include "base/string_split.h"
#include "ui/aura/aura_switches.h"
#include "ui/aura/env.h"
-#include "ui/aura/monitor.h"
+#include "ui/aura/monitor_aura.h"
#include "ui/aura/root_window.h"
#include "ui/aura/root_window_host.h"
-#include "ui/gfx/rect.h"
#include "ui/aura/window_property.h"
+#include "ui/gfx/rect.h"
-DECLARE_WINDOW_PROPERTY_TYPE(aura::Monitor*);
+DECLARE_WINDOW_PROPERTY_TYPE(aura::MonitorAura*);
namespace ash {
namespace internal {
namespace {
-aura::Monitor* Copy(aura::Monitor* m) {
- aura::Monitor* monitor = new aura::Monitor;
+aura::MonitorAura* Copy(aura::MonitorAura* m) {
+ aura::MonitorAura* monitor = new aura::MonitorAura;
monitor->set_bounds(m->bounds());
return monitor;
}
} // namespace
-DEFINE_WINDOW_PROPERTY_KEY(aura::Monitor*, kMonitorKey, NULL);
+DEFINE_WINDOW_PROPERTY_KEY(aura::MonitorAura*, kMonitorKey, NULL);
-using std::string;
-using std::vector;
-using aura::Monitor;
+using aura::MonitorAura;
using aura::RootWindow;
using aura::Window;
+using std::string;
+using std::vector;
MultiMonitorManager::MultiMonitorManager() {
Init();
@@ -62,7 +62,7 @@ void MultiMonitorManager::CycleMonitor() {
}
void MultiMonitorManager::OnNativeMonitorsChanged(
- const std::vector<const aura::Monitor*>& new_monitors) {
+ const std::vector<const aura::MonitorAura*>& new_monitors) {
size_t min = std::min(monitors_.size(), new_monitors.size());
// For m19, we only care about 1st monitor as primary, and
@@ -72,8 +72,8 @@ void MultiMonitorManager::OnNativeMonitorsChanged(
// and keep a content on one monitor stays on the same monitor
// when a monitor is added or removed.
for (size_t i = 0; i < min; ++i) {
- Monitor* current_monitor = monitors_[i];
- const Monitor* new_monitor = new_monitors[i];
+ aura::MonitorAura* current_monitor = monitors_[i];
+ const aura::MonitorAura* new_monitor = new_monitors[i];
if (current_monitor->bounds() != new_monitor->bounds()) {
current_monitor->set_bounds(new_monitor->bounds());
NotifyBoundsChanged(current_monitor);
@@ -83,7 +83,7 @@ void MultiMonitorManager::OnNativeMonitorsChanged(
if (monitors_.size() < new_monitors.size()) {
// New monitors added
for (size_t i = min; i < new_monitors.size(); ++i) {
- Monitor* monitor = new Monitor();
+ aura::MonitorAura* monitor = new aura::MonitorAura();
monitor->set_bounds(new_monitors[i]->bounds());
monitors_.push_back(monitor);
NotifyMonitorAdded(monitor);
@@ -93,7 +93,7 @@ void MultiMonitorManager::OnNativeMonitorsChanged(
// monitor (at index 0) because it needs the monitor information
// even if it doesn't exit.
while (monitors_.size() > new_monitors.size() && monitors_.size() > 1) {
- Monitor* monitor = monitors_.back();
+ aura::MonitorAura* monitor = monitors_.back();
NotifyMonitorRemoved(monitor);
monitors_.erase(std::find(monitors_.begin(), monitors_.end(), monitor));
delete monitor;
@@ -102,7 +102,7 @@ void MultiMonitorManager::OnNativeMonitorsChanged(
}
RootWindow* MultiMonitorManager::CreateRootWindowForMonitor(
- Monitor* monitor) {
+ aura::MonitorAura* monitor) {
RootWindow* root_window = new RootWindow(monitor->bounds());
// No need to remove RootWindowObserver because
// the MonitorManager object outlives RootWindow objects.
@@ -111,7 +111,15 @@ RootWindow* MultiMonitorManager::CreateRootWindowForMonitor(
return root_window;
}
-const Monitor* MultiMonitorManager::GetMonitorNearestWindow(
+aura::MonitorAura* MultiMonitorManager::GetMonitorAt(size_t index) {
+ return index < monitors_.size() ? monitors_[index] : NULL;
+}
+
+size_t MultiMonitorManager::GetNumMonitors() const {
+ return monitors_.size();
+}
+
+const aura::MonitorAura* MultiMonitorManager::GetMonitorNearestWindow(
const Window* window) const {
if (!window) {
MultiMonitorManager* manager = const_cast<MultiMonitorManager*>(this);
@@ -121,7 +129,14 @@ const Monitor* MultiMonitorManager::GetMonitorNearestWindow(
return root ? root->GetProperty(kMonitorKey) : NULL;
}
-const Monitor* MultiMonitorManager::GetMonitorNearestPoint(
+aura::MonitorAura* MultiMonitorManager::GetMonitorNearestWindow(
+ const Window* window) {
+ const MonitorManager* manager = this;
+ return const_cast<aura::MonitorAura*>(
+ manager->GetMonitorNearestWindow(window));
+}
+
+const aura::MonitorAura* MultiMonitorManager::GetMonitorNearestPoint(
const gfx::Point& point) const {
// TODO(oshima): For m19, mouse is constrained within
// the primary window.
@@ -129,23 +144,10 @@ const Monitor* MultiMonitorManager::GetMonitorNearestPoint(
return manager->GetMonitorAt(0);
}
-Monitor* MultiMonitorManager::GetMonitorAt(size_t index) {
- return index < monitors_.size() ? monitors_[index] : NULL;
-}
-
-size_t MultiMonitorManager::GetNumMonitors() const {
- return monitors_.size();
-}
-
-Monitor* MultiMonitorManager::GetMonitorNearestWindow(const Window* window) {
- const MonitorManager* manager = this;
- return const_cast<Monitor*>(manager->GetMonitorNearestWindow(window));
-}
-
void MultiMonitorManager::OnRootWindowResized(const aura::RootWindow* root,
const gfx::Size& old_size) {
if (!use_fullscreen_host_window()) {
- Monitor* monitor = root->GetProperty(kMonitorKey);
+ MonitorAura* monitor = root->GetProperty(kMonitorKey);
monitor->set_size(root->GetHostSize());
NotifyBoundsChanged(monitor);
}
@@ -166,7 +168,7 @@ void MultiMonitorManager::Init() {
}
void MultiMonitorManager::AddRemoveMonitorImpl() {
- std::vector<const Monitor*> new_monitors;
+ std::vector<const MonitorAura*> new_monitors;
if (monitors_.size() > 1) {
// Remove if there is more than one monitor.
int count = monitors_.size() - 1;
@@ -175,7 +177,7 @@ void MultiMonitorManager::AddRemoveMonitorImpl() {
} else {
// Add if there is only one monitor.
new_monitors.push_back(Copy(monitors_[0]));
- aura::Monitor* extra_monitor = new Monitor;
+ MonitorAura* extra_monitor = new MonitorAura;
extra_monitor->set_bounds(gfx::Rect(100, 100, 1440, 800));
new_monitors.push_back(extra_monitor);
}
@@ -186,7 +188,7 @@ void MultiMonitorManager::AddRemoveMonitorImpl() {
void MultiMonitorManager::CycleMonitorImpl() {
if (monitors_.size() > 1) {
- std::vector<const Monitor*> new_monitors;
+ std::vector<const MonitorAura*> new_monitors;
for (Monitors::const_iterator iter = monitors_.begin() + 1;
iter != monitors_.end(); ++iter)
new_monitors.push_back(Copy(*iter));

Powered by Google App Engine
This is Rietveld 408576698