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

Unified Diff: ash/monitor/multi_monitor_manager.cc

Issue 10221028: Move DIP translation from ui/aura to ui/compositor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: disable tests that doesn't run on bots Created 8 years, 7 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
« no previous file with comments | « ash/monitor/multi_monitor_manager.h ('k') | ash/wm/image_grid.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/monitor/multi_monitor_manager.cc
diff --git a/ash/monitor/multi_monitor_manager.cc b/ash/monitor/multi_monitor_manager.cc
index 874f22408018b9891e0c04315312e5c451b3781b..e7ace3732c958a1fef4ab6de1cb0105cf7de1ae0 100644
--- a/ash/monitor/multi_monitor_manager.cc
+++ b/ash/monitor/multi_monitor_manager.cc
@@ -57,6 +57,12 @@ void MultiMonitorManager::CycleMonitor() {
manager->CycleMonitorImpl();
}
+ void MultiMonitorManager::ToggleMonitorScale() {
+ MultiMonitorManager* manager = static_cast<MultiMonitorManager*>(
+ aura::Env::GetInstance()->monitor_manager());
+ manager->ScaleMonitorImpl();
+}
+
void MultiMonitorManager::OnNativeMonitorsChanged(
const std::vector<Monitor>& new_monitors) {
size_t min = std::min(monitors_.size(), new_monitors.size());
@@ -204,6 +210,22 @@ void MultiMonitorManager::CycleMonitorImpl() {
}
}
+void MultiMonitorManager::ScaleMonitorImpl() {
+ if (monitors_.size() > 0) {
+ std::vector<Monitor> new_monitors;
+ for (Monitors::const_iterator iter = monitors_.begin();
+ iter != monitors_.end(); ++iter) {
+ gfx::Monitor monitor = *iter;
+ float factor = monitor.device_scale_factor() == 1.0f ? 2.0f : 1.0f;
+ monitor.SetScaleAndBounds(
+ factor, gfx::Rect(monitor.bounds_in_pixel().origin(),
+ monitor.size().Scale(factor)));
+ new_monitors.push_back(monitor);
+ }
+ OnNativeMonitorsChanged(new_monitors);
+ }
+}
+
gfx::Monitor& MultiMonitorManager::FindMonitorById(int id) {
for (Monitors::iterator iter = monitors_.begin();
iter != monitors_.end(); ++iter) {
« no previous file with comments | « ash/monitor/multi_monitor_manager.h ('k') | ash/wm/image_grid.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698