| 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 "chromeos/display/output_configurator.h" | 5 #include "chromeos/display/output_configurator.h" |
| 6 | 6 |
| 7 #include <X11/Xlib.h> | 7 #include <X11/Xlib.h> |
| 8 #include <X11/extensions/Xrandr.h> | 8 #include <X11/extensions/Xrandr.h> |
| 9 #include <X11/extensions/XInput2.h> | 9 #include <X11/extensions/XInput2.h> |
| 10 | 10 |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 new_state, power_state_, outputs); | 227 new_state, power_state_, outputs); |
| 228 | 228 |
| 229 // Force the DPMS on chrome startup as the driver doesn't always detect | 229 // Force the DPMS on chrome startup as the driver doesn't always detect |
| 230 // that all displays are on when signing out. | 230 // that all displays are on when signing out. |
| 231 delegate_->ForceDPMSOn(); | 231 delegate_->ForceDPMSOn(); |
| 232 delegate_->UngrabServer(); | 232 delegate_->UngrabServer(); |
| 233 delegate_->SendProjectingStateToPowerManager(IsProjecting(outputs)); | 233 delegate_->SendProjectingStateToPowerManager(IsProjecting(outputs)); |
| 234 NotifyObservers(success, new_state); | 234 NotifyObservers(success, new_state); |
| 235 } | 235 } |
| 236 | 236 |
| 237 bool OutputConfigurator::QueryOutputProtectionStatus( |
| 238 chrome::PepperOutputProtectionHost* client, |
| 239 uint32_t* link_mask, |
| 240 uint32_t* protection_mask) { |
| 241 if (!configure_display_) |
| 242 return false; |
| 243 |
| 244 delegate_->GrabServer(); |
| 245 bool result = delegate_->QueryOutputProtectionStatus(client, link_mask, |
| 246 protection_mask); |
| 247 delegate_->UngrabServer(); |
| 248 return result; |
| 249 } |
| 250 |
| 251 bool OutputConfigurator::EnableOutputProtection( |
| 252 chrome::PepperOutputProtectionHost* client, |
| 253 uint32_t desired_method_mask) { |
| 254 if (!configure_display_) |
| 255 return false; |
| 256 |
| 257 delegate_->GrabServer(); |
| 258 bool result = delegate_->EnableOutputProtection(client, desired_method_mask); |
| 259 delegate_->UngrabServer(); |
| 260 return result; |
| 261 } |
| 262 |
| 237 void OutputConfigurator::Stop() { | 263 void OutputConfigurator::Stop() { |
| 238 configure_display_ = false; | 264 configure_display_ = false; |
| 239 } | 265 } |
| 240 | 266 |
| 241 bool OutputConfigurator::SetDisplayPower(DisplayPowerState power_state, | 267 bool OutputConfigurator::SetDisplayPower(DisplayPowerState power_state, |
| 242 int flags) { | 268 int flags) { |
| 243 if (!configure_display_) | 269 if (!configure_display_) |
| 244 return false; | 270 return false; |
| 245 | 271 |
| 246 VLOG(1) << "SetDisplayPower: power_state=" | 272 VLOG(1) << "SetDisplayPower: power_state=" |
| (...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 699 float width_ratio = static_cast<float>(mirror_mode_info->width) / | 725 float width_ratio = static_cast<float>(mirror_mode_info->width) / |
| 700 static_cast<float>(native_mode_info->width); | 726 static_cast<float>(native_mode_info->width); |
| 701 float height_ratio = static_cast<float>(mirror_mode_info->height) / | 727 float height_ratio = static_cast<float>(mirror_mode_info->height) / |
| 702 static_cast<float>(native_mode_info->height); | 728 static_cast<float>(native_mode_info->height); |
| 703 | 729 |
| 704 area_ratio = width_ratio * height_ratio; | 730 area_ratio = width_ratio * height_ratio; |
| 705 return area_ratio; | 731 return area_ratio; |
| 706 } | 732 } |
| 707 | 733 |
| 708 } // namespace chromeos | 734 } // namespace chromeos |
| OLD | NEW |