OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/display/display_manager.h" | 5 #include "ash/display/display_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 iter != displays_.end(); ++iter) { | 428 iter != displays_.end(); ++iter) { |
429 DisplayInfo info = GetDisplayInfo(iter->id()); | 429 DisplayInfo info = GetDisplayInfo(iter->id()); |
430 if (info.id() == display_id) { | 430 if (info.id() == display_id) { |
431 if (info.rotation() == rotation) | 431 if (info.rotation() == rotation) |
432 return; | 432 return; |
433 info.set_rotation(rotation); | 433 info.set_rotation(rotation); |
434 } | 434 } |
435 display_info_list.push_back(info); | 435 display_info_list.push_back(info); |
436 } | 436 } |
437 AddMirrorDisplayInfoIfAny(&display_info_list); | 437 AddMirrorDisplayInfoIfAny(&display_info_list); |
438 if (virtual_keyboard_root_window_enabled() && | |
439 display_id == non_desktop_display_.id()) { | |
440 DisplayInfo info = GetDisplayInfo(display_id); | |
441 info.set_rotation(rotation); | |
442 display_info_list.push_back(info); | |
443 } | |
444 UpdateDisplays(display_info_list); | 438 UpdateDisplays(display_info_list); |
445 } | 439 } |
446 | 440 |
447 void DisplayManager::SetDisplayUIScale(int64 display_id, | 441 void DisplayManager::SetDisplayUIScale(int64 display_id, |
448 float ui_scale) { | 442 float ui_scale) { |
449 if (!IsDisplayUIScalingEnabled() || | 443 if (!IsDisplayUIScalingEnabled() || |
450 gfx::Display::InternalDisplayId() != display_id) { | 444 gfx::Display::InternalDisplayId() != display_id) { |
451 return; | 445 return; |
452 } | 446 } |
453 | 447 |
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1071 display_info.set_device_scale_factor( | 1065 display_info.set_device_scale_factor( |
1072 display_info.device_scale_factor() == 1.0f ? 2.0f : 1.0f); | 1066 display_info.device_scale_factor() == 1.0f ? 2.0f : 1.0f); |
1073 new_display_info_list.push_back(display_info); | 1067 new_display_info_list.push_back(display_info); |
1074 } | 1068 } |
1075 AddMirrorDisplayInfoIfAny(&new_display_info_list); | 1069 AddMirrorDisplayInfoIfAny(&new_display_info_list); |
1076 UpdateDisplays(new_display_info_list); | 1070 UpdateDisplays(new_display_info_list); |
1077 } | 1071 } |
1078 | 1072 |
1079 #if defined(OS_CHROMEOS) | 1073 #if defined(OS_CHROMEOS) |
1080 void DisplayManager::SetSoftwareMirroring(bool enabled) { | 1074 void DisplayManager::SetSoftwareMirroring(bool enabled) { |
1081 // TODO(oshima|bshe): Support external display on the system | |
1082 // that has virtual keyboard display. | |
1083 if (second_display_mode_ == VIRTUAL_KEYBOARD) | |
1084 return; | |
1085 SetSecondDisplayMode(enabled ? MIRRORING : EXTENDED); | 1075 SetSecondDisplayMode(enabled ? MIRRORING : EXTENDED); |
1086 } | 1076 } |
1087 | 1077 |
1088 bool DisplayManager::SoftwareMirroringEnabled() const { | 1078 bool DisplayManager::SoftwareMirroringEnabled() const { |
1089 return software_mirroring_enabled(); | 1079 return software_mirroring_enabled(); |
1090 } | 1080 } |
1091 #endif | 1081 #endif |
1092 | 1082 |
1093 void DisplayManager::SetSecondDisplayMode(SecondDisplayMode mode) { | 1083 void DisplayManager::SetSecondDisplayMode(SecondDisplayMode mode) { |
1094 second_display_mode_ = mode; | 1084 second_display_mode_ = mode; |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1268 new_secondary_origin.Offset(-secondary_bounds.width(), offset); | 1258 new_secondary_origin.Offset(-secondary_bounds.width(), offset); |
1269 break; | 1259 break; |
1270 } | 1260 } |
1271 gfx::Insets insets = secondary_display->GetWorkAreaInsets(); | 1261 gfx::Insets insets = secondary_display->GetWorkAreaInsets(); |
1272 secondary_display->set_bounds( | 1262 secondary_display->set_bounds( |
1273 gfx::Rect(new_secondary_origin, secondary_bounds.size())); | 1263 gfx::Rect(new_secondary_origin, secondary_bounds.size())); |
1274 secondary_display->UpdateWorkAreaFromInsets(insets); | 1264 secondary_display->UpdateWorkAreaFromInsets(insets); |
1275 } | 1265 } |
1276 | 1266 |
1277 } // namespace ash | 1267 } // namespace ash |
OLD | NEW |