| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <stdio.h> | 5 #include <stdio.h> | 
| 6 #include <string> | 6 #include <string> | 
| 7 #include <vector> | 7 #include <vector> | 
| 8 | 8 | 
| 9 #include "ash/display/display_info.h" | 9 #include "ash/display/display_info.h" | 
| 10 #include "base/logging.h" | 10 #include "base/logging.h" | 
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 172   DVLOG(1) << "DisplayInfoFromSpec info=" << display_info.ToString() | 172   DVLOG(1) << "DisplayInfoFromSpec info=" << display_info.ToString() | 
| 173            << ", spec=" << spec; | 173            << ", spec=" << spec; | 
| 174   return display_info; | 174   return display_info; | 
| 175 } | 175 } | 
| 176 | 176 | 
| 177 DisplayInfo::DisplayInfo() | 177 DisplayInfo::DisplayInfo() | 
| 178     : id_(gfx::Display::kInvalidDisplayID), | 178     : id_(gfx::Display::kInvalidDisplayID), | 
| 179       has_overscan_(false), | 179       has_overscan_(false), | 
| 180       rotation_(gfx::Display::ROTATE_0), | 180       rotation_(gfx::Display::ROTATE_0), | 
| 181       touch_support_(gfx::Display::TOUCH_SUPPORT_UNKNOWN), | 181       touch_support_(gfx::Display::TOUCH_SUPPORT_UNKNOWN), | 
|  | 182       touch_device_id_(0), | 
| 182       device_scale_factor_(1.0f), | 183       device_scale_factor_(1.0f), | 
| 183       overscan_insets_in_dip_(0, 0, 0, 0), | 184       overscan_insets_in_dip_(0, 0, 0, 0), | 
| 184       configured_ui_scale_(1.0f), | 185       configured_ui_scale_(1.0f), | 
| 185       native_(false), | 186       native_(false), | 
| 186       color_profile_(ui::COLOR_PROFILE_STANDARD) { | 187       color_profile_(ui::COLOR_PROFILE_STANDARD) { | 
| 187 } | 188 } | 
| 188 | 189 | 
| 189 DisplayInfo::DisplayInfo(int64 id, | 190 DisplayInfo::DisplayInfo(int64 id, | 
| 190                          const std::string& name, | 191                          const std::string& name, | 
| 191                          bool has_overscan) | 192                          bool has_overscan) | 
| 192     : id_(id), | 193     : id_(id), | 
| 193       name_(name), | 194       name_(name), | 
| 194       has_overscan_(has_overscan), | 195       has_overscan_(has_overscan), | 
| 195       rotation_(gfx::Display::ROTATE_0), | 196       rotation_(gfx::Display::ROTATE_0), | 
| 196       touch_support_(gfx::Display::TOUCH_SUPPORT_UNKNOWN), | 197       touch_support_(gfx::Display::TOUCH_SUPPORT_UNKNOWN), | 
|  | 198       touch_device_id_(0), | 
| 197       device_scale_factor_(1.0f), | 199       device_scale_factor_(1.0f), | 
| 198       overscan_insets_in_dip_(0, 0, 0, 0), | 200       overscan_insets_in_dip_(0, 0, 0, 0), | 
| 199       configured_ui_scale_(1.0f), | 201       configured_ui_scale_(1.0f), | 
| 200       native_(false), | 202       native_(false), | 
| 201       color_profile_(ui::COLOR_PROFILE_STANDARD) { | 203       color_profile_(ui::COLOR_PROFILE_STANDARD) { | 
| 202 } | 204 } | 
| 203 | 205 | 
| 204 DisplayInfo::~DisplayInfo() { | 206 DisplayInfo::~DisplayInfo() { | 
| 205 } | 207 } | 
| 206 | 208 | 
| 207 void DisplayInfo::Copy(const DisplayInfo& native_info) { | 209 void DisplayInfo::Copy(const DisplayInfo& native_info) { | 
| 208   DCHECK(id_ == native_info.id_); | 210   DCHECK(id_ == native_info.id_); | 
| 209   name_ = native_info.name_; | 211   name_ = native_info.name_; | 
| 210   has_overscan_ = native_info.has_overscan_; | 212   has_overscan_ = native_info.has_overscan_; | 
| 211 | 213 | 
| 212   DCHECK(!native_info.bounds_in_native_.IsEmpty()); | 214   DCHECK(!native_info.bounds_in_native_.IsEmpty()); | 
| 213   bounds_in_native_ = native_info.bounds_in_native_; | 215   bounds_in_native_ = native_info.bounds_in_native_; | 
| 214   size_in_pixel_ = native_info.size_in_pixel_; | 216   size_in_pixel_ = native_info.size_in_pixel_; | 
| 215   device_scale_factor_ = native_info.device_scale_factor_; | 217   device_scale_factor_ = native_info.device_scale_factor_; | 
| 216   display_modes_ = native_info.display_modes_; | 218   display_modes_ = native_info.display_modes_; | 
| 217   touch_support_ = native_info.touch_support_; | 219   touch_support_ = native_info.touch_support_; | 
|  | 220   touch_device_id_ = native_info.touch_device_id_; | 
| 218 | 221 | 
| 219   // Copy overscan_insets_in_dip_ if it's not empty. This is for test | 222   // Copy overscan_insets_in_dip_ if it's not empty. This is for test | 
| 220   // cases which use "/o" annotation which sets the overscan inset | 223   // cases which use "/o" annotation which sets the overscan inset | 
| 221   // to native, and that overscan has to be propagated. This does not | 224   // to native, and that overscan has to be propagated. This does not | 
| 222   // happen on the real environment. | 225   // happen on the real environment. | 
| 223   if (!native_info.overscan_insets_in_dip_.empty()) | 226   if (!native_info.overscan_insets_in_dip_.empty()) | 
| 224     overscan_insets_in_dip_ = native_info.overscan_insets_in_dip_; | 227     overscan_insets_in_dip_ = native_info.overscan_insets_in_dip_; | 
| 225 | 228 | 
| 226   // Rotation_ and ui_scale_ color_profile_ are given by preference, | 229   // Rotation_ and ui_scale_ color_profile_ are given by preference, | 
| 227   // or unit tests. Don't copy if this native_info came from | 230   // or unit tests. Don't copy if this native_info came from | 
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 288 } | 291 } | 
| 289 | 292 | 
| 290 gfx::Insets DisplayInfo::GetOverscanInsetsInPixel() const { | 293 gfx::Insets DisplayInfo::GetOverscanInsetsInPixel() const { | 
| 291   return overscan_insets_in_dip_.Scale(device_scale_factor_); | 294   return overscan_insets_in_dip_.Scale(device_scale_factor_); | 
| 292 } | 295 } | 
| 293 | 296 | 
| 294 std::string DisplayInfo::ToString() const { | 297 std::string DisplayInfo::ToString() const { | 
| 295   int rotation_degree = static_cast<int>(rotation_) * 90; | 298   int rotation_degree = static_cast<int>(rotation_) * 90; | 
| 296   return base::StringPrintf( | 299   return base::StringPrintf( | 
| 297       "DisplayInfo[%lld] native bounds=%s, size=%s, scale=%f, " | 300       "DisplayInfo[%lld] native bounds=%s, size=%s, scale=%f, " | 
| 298       "overscan=%s, rotation=%d, ui-scale=%f, touchscreen=%s", | 301       "overscan=%s, rotation=%d, ui-scale=%f, touchscreen=%s, " | 
|  | 302       "touch-device-id=%d", | 
| 299       static_cast<long long int>(id_), | 303       static_cast<long long int>(id_), | 
| 300       bounds_in_native_.ToString().c_str(), | 304       bounds_in_native_.ToString().c_str(), | 
| 301       size_in_pixel_.ToString().c_str(), | 305       size_in_pixel_.ToString().c_str(), | 
| 302       device_scale_factor_, | 306       device_scale_factor_, | 
| 303       overscan_insets_in_dip_.ToString().c_str(), | 307       overscan_insets_in_dip_.ToString().c_str(), | 
| 304       rotation_degree, | 308       rotation_degree, | 
| 305       configured_ui_scale_, | 309       configured_ui_scale_, | 
| 306       touch_support_ == gfx::Display::TOUCH_SUPPORT_AVAILABLE | 310       touch_support_ == gfx::Display::TOUCH_SUPPORT_AVAILABLE | 
| 307           ? "yes" | 311           ? "yes" | 
| 308           : touch_support_ == gfx::Display::TOUCH_SUPPORT_UNAVAILABLE | 312           : touch_support_ == gfx::Display::TOUCH_SUPPORT_UNAVAILABLE | 
| 309                 ? "no" | 313                 ? "no" | 
| 310                 : "unknown"); | 314                 : "unknown", | 
|  | 315       touch_device_id_); | 
| 311 } | 316 } | 
| 312 | 317 | 
| 313 std::string DisplayInfo::ToFullString() const { | 318 std::string DisplayInfo::ToFullString() const { | 
| 314   std::string display_modes_str; | 319   std::string display_modes_str; | 
| 315   std::vector<DisplayMode>::const_iterator iter = display_modes_.begin(); | 320   std::vector<DisplayMode>::const_iterator iter = display_modes_.begin(); | 
| 316   for (; iter != display_modes_.end(); ++iter) { | 321   for (; iter != display_modes_.end(); ++iter) { | 
| 317     if (!display_modes_str.empty()) | 322     if (!display_modes_str.empty()) | 
| 318       display_modes_str += ","; | 323       display_modes_str += ","; | 
| 319     base::StringAppendF(&display_modes_str, | 324     base::StringAppendF(&display_modes_str, | 
| 320                         "(%dx%d@%f%c%s)", | 325                         "(%dx%d@%f%c%s)", | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 333 } | 338 } | 
| 334 | 339 | 
| 335 bool DisplayInfo::IsColorProfileAvailable( | 340 bool DisplayInfo::IsColorProfileAvailable( | 
| 336     ui::ColorCalibrationProfile profile) const { | 341     ui::ColorCalibrationProfile profile) const { | 
| 337   return std::find(available_color_profiles_.begin(), | 342   return std::find(available_color_profiles_.begin(), | 
| 338                    available_color_profiles_.end(), | 343                    available_color_profiles_.end(), | 
| 339                    profile) != available_color_profiles_.end(); | 344                    profile) != available_color_profiles_.end(); | 
| 340 } | 345 } | 
| 341 | 346 | 
| 342 }  // namespace ash | 347 }  // namespace ash | 
| OLD | NEW | 
|---|