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

Unified Diff: ui/aura/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: DeviceScaleFactor 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: ui/aura/monitor_manager.cc
diff --git a/ui/aura/monitor_manager.cc b/ui/aura/monitor_manager.cc
index ee0bf5255a07c8b11d6ab79db3fffeecc9b4c50a..7cb03461a6b20fd2963020f61ad350125bcb8a27 100644
--- a/ui/aura/monitor_manager.cc
+++ b/ui/aura/monitor_manager.cc
@@ -6,11 +6,13 @@
#include <stdio.h>
+#include "base/logging.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/gfx/monitor_observer.h"
namespace aura {
namespace {
@@ -25,20 +27,29 @@ static const int kDefaultHostWindowHeight = 1024;
bool MonitorManager::use_fullscreen_host_window_ = false;
// static
-Monitor* MonitorManager::CreateMonitorFromSpec(const std::string& spec) {
+MonitorAura* MonitorManager::CreateMonitorFromSpec(const std::string& spec) {
gfx::Rect bounds(kDefaultHostWindowX, kDefaultHostWindowY,
kDefaultHostWindowWidth, kDefaultHostWindowHeight);
int x = 0, y = 0, width, height;
- if (sscanf(spec.c_str(), "%dx%d", &width, &height) == 2) {
+ float scale = 1.0f;
+ if (sscanf(spec.c_str(), "%dx%d*%f", &width, &height, &scale) == 2) {
bounds.set_size(gfx::Size(width, height));
+ } else if (sscanf(spec.c_str(), "%dx%d", &width, &height) == 2) {
+ bounds.set_size(gfx::Size(width, height));
+ } else if (sscanf(spec.c_str(), "%d+%d-%dx%d*%f", &x, &y, &width, &height,
+ &scale)
+ == 5) {
+ bounds = gfx::Rect(x, y, width, height);
} else if (sscanf(spec.c_str(), "%d+%d-%dx%d", &x, &y, &width, &height)
== 4) {
bounds = gfx::Rect(x, y, width, height);
} else if (use_fullscreen_host_window_) {
bounds = gfx::Rect(aura::RootWindowHost::GetNativeScreenSize());
}
- Monitor* monitor = new Monitor();
+ MonitorAura* monitor = new MonitorAura();
monitor->set_bounds(bounds);
+ monitor->set_device_scale_factor(scale);
+ LOG(ERROR) << "monitor:" << bounds.ToString() << ", scale=" << scale;
return monitor;
}
@@ -58,26 +69,26 @@ MonitorManager::MonitorManager() {
MonitorManager::~MonitorManager() {
}
-void MonitorManager::AddObserver(MonitorObserver* observer) {
+void MonitorManager::AddObserver(gfx::MonitorObserver* observer) {
observers_.AddObserver(observer);
}
-void MonitorManager::RemoveObserver(MonitorObserver* observer) {
+void MonitorManager::RemoveObserver(gfx::MonitorObserver* observer) {
observers_.RemoveObserver(observer);
}
-void MonitorManager::NotifyBoundsChanged(const Monitor* monitor) {
- FOR_EACH_OBSERVER(MonitorObserver, observers_,
+void MonitorManager::NotifyBoundsChanged(const gfx::Monitor* monitor) {
+ FOR_EACH_OBSERVER(gfx::MonitorObserver, observers_,
OnMonitorBoundsChanged(monitor));
}
-void MonitorManager::NotifyMonitorAdded(Monitor* monitor) {
- FOR_EACH_OBSERVER(MonitorObserver, observers_,
+void MonitorManager::NotifyMonitorAdded(gfx::Monitor* monitor) {
+ FOR_EACH_OBSERVER(gfx::MonitorObserver, observers_,
OnMonitorAdded(monitor));
}
-void MonitorManager::NotifyMonitorRemoved(const Monitor* monitor) {
- FOR_EACH_OBSERVER(MonitorObserver, observers_,
+void MonitorManager::NotifyMonitorRemoved(const gfx::Monitor* monitor) {
+ FOR_EACH_OBSERVER(gfx::MonitorObserver, observers_,
OnMonitorRemoved(monitor));
}
« no previous file with comments | « ui/aura/monitor_manager.h ('k') | ui/aura/root_window.cc » ('j') | ui/gfx/screen_mac.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698