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 11 matching lines...) Expand all Loading... |
22 | 22 |
23 namespace ash { | 23 namespace ash { |
24 namespace { | 24 namespace { |
25 | 25 |
26 // TODO(oshima): This feature is obsolete. Remove this after m38. | 26 // TODO(oshima): This feature is obsolete. Remove this after m38. |
27 bool allow_upgrade_to_high_dpi = false; | 27 bool allow_upgrade_to_high_dpi = false; |
28 | 28 |
29 } | 29 } |
30 | 30 |
31 DisplayMode::DisplayMode() | 31 DisplayMode::DisplayMode() |
32 : refresh_rate(0.0f), interlaced(false), native(false) {} | 32 : refresh_rate(0.0f), |
| 33 interlaced(false), |
| 34 native(false), |
| 35 ui_scale(1.0f), |
| 36 device_scale_factor(1.0f) {} |
33 | 37 |
34 DisplayMode::DisplayMode(const gfx::Size& size, | 38 DisplayMode::DisplayMode(const gfx::Size& size, |
35 float refresh_rate, | 39 float refresh_rate, |
36 bool interlaced, | 40 bool interlaced, |
37 bool native) | 41 bool native) |
38 : size(size), | 42 : size(size), |
39 refresh_rate(refresh_rate), | 43 refresh_rate(refresh_rate), |
40 interlaced(interlaced), | 44 interlaced(interlaced), |
41 native(native) {} | 45 native(native), |
| 46 ui_scale(1.0f), |
| 47 device_scale_factor(1.0f) {} |
| 48 |
| 49 gfx::Size DisplayMode::GetSizeInDIP() const { |
| 50 gfx::SizeF size_dip(size); |
| 51 size_dip.Scale(ui_scale); |
| 52 size_dip.Scale(1.0f / device_scale_factor); |
| 53 return gfx::ToFlooredSize(size_dip); |
| 54 } |
| 55 |
| 56 bool DisplayMode::IsEquivalent(const DisplayMode& other) const { |
| 57 const float kEpsilon = 0.0001f; |
| 58 return size == other.size && |
| 59 std::abs(ui_scale - other.ui_scale) < kEpsilon && |
| 60 std::abs(device_scale_factor - other.device_scale_factor) < kEpsilon; |
| 61 } |
42 | 62 |
43 // satic | 63 // satic |
44 DisplayInfo DisplayInfo::CreateFromSpec(const std::string& spec) { | 64 DisplayInfo DisplayInfo::CreateFromSpec(const std::string& spec) { |
45 return CreateFromSpecWithID(spec, gfx::Display::kInvalidDisplayID); | 65 return CreateFromSpecWithID(spec, gfx::Display::kInvalidDisplayID); |
46 } | 66 } |
47 | 67 |
48 // static | 68 // static |
49 void DisplayInfo::SetAllowUpgradeToHighDPI(bool enable) { | 69 void DisplayInfo::SetAllowUpgradeToHighDPI(bool enable) { |
50 allow_upgrade_to_high_dpi = enable; | 70 allow_upgrade_to_high_dpi = enable; |
51 } | 71 } |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 } | 360 } |
341 | 361 |
342 bool DisplayInfo::IsColorProfileAvailable( | 362 bool DisplayInfo::IsColorProfileAvailable( |
343 ui::ColorCalibrationProfile profile) const { | 363 ui::ColorCalibrationProfile profile) const { |
344 return std::find(available_color_profiles_.begin(), | 364 return std::find(available_color_profiles_.begin(), |
345 available_color_profiles_.end(), | 365 available_color_profiles_.end(), |
346 profile) != available_color_profiles_.end(); | 366 profile) != available_color_profiles_.end(); |
347 } | 367 } |
348 | 368 |
349 } // namespace ash | 369 } // namespace ash |
OLD | NEW |