Chromium Code Reviews| Index: ash/display/display_manager.cc |
| diff --git a/ash/display/display_manager.cc b/ash/display/display_manager.cc |
| index 48fb914d0f9de50b1228b3a8467502d72539366a..3d62d89b7b84198ce195bcf84a9200702fa2447a 100644 |
| --- a/ash/display/display_manager.cc |
| +++ b/ash/display/display_manager.cc |
| @@ -321,11 +321,24 @@ void DisplayManager::SetDisplayUIScale(int64 display_id, |
| UpdateDisplays(display_info_list); |
| } |
| +void DisplayManager::SetDisplayResolution(int64 display_id, |
| + const gfx::Size& resolution) { |
| + DCHECK_NE(gfx::Display::InternalDisplayId(), display_id); |
| + if (gfx::Display::InternalDisplayId() == display_id) |
| + return; |
| + resolutions_[display_id] = resolution; |
| +#if defined(OS_CHROMEOS) && defined(USE_X11) |
| + if (base::chromeos::IsRunningOnChromeOS()) |
| + Shell::GetInstance()->output_configurator()->ScheduleConfigureOutputs(); |
| +#endif |
| +} |
| + |
| void DisplayManager::RegisterDisplayProperty( |
| int64 display_id, |
| gfx::Display::Rotation rotation, |
| float ui_scale, |
| - const gfx::Insets* overscan_insets) { |
| + const gfx::Insets* overscan_insets, |
| + const gfx::Size& resolution_in_pixel) { |
|
Daniel Erat
2013/07/31 17:34:05
s/pixel/pixels/ (to match header)
oshima
2013/07/31 21:59:49
Done.
|
| if (display_info_.find(display_id) == display_info_.end()) { |
| display_info_[display_id] = |
| DisplayInfo(display_id, std::string(""), false); |
| @@ -337,6 +350,19 @@ void DisplayManager::RegisterDisplayProperty( |
| display_info_[display_id].set_ui_scale(ui_scale); |
| if (overscan_insets) |
| display_info_[display_id].SetOverscanInsets(*overscan_insets); |
| + if (!resolution_in_pixel.IsEmpty()) |
| + resolutions_[display_id] = resolution_in_pixel; |
| +} |
| + |
| +bool DisplayManager::GetSelectedResolutionForDisplayId( |
| + int64 id, |
| + gfx::Size* resolution_out) const { |
| + std::map<int64, gfx::Size>::const_iterator iter = |
| + resolutions_.find(id); |
| + if (iter == resolutions_.end()) |
| + return false; |
| + *resolution_out = iter->second; |
| + return true; |
| } |
| bool DisplayManager::IsDisplayRotationEnabled() const { |