diff options
author | mozartalouis <mozartalouis@google.com> | 2015-07-07 15:19:48 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-07 22:22:04 +0000 |
commit | 8e91cc179775d926663f1e33505de0a3e92ceaad (patch) | |
tree | bd36f2c2bfa2fe017b9fa3663b20f732c48d42c6 | |
parent | 5de7b58b571ab8786508808586802e9d5a32d0e6 (diff) | |
download | chromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.zip chromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.tar.gz chromium_src-8e91cc179775d926663f1e33505de0a3e92ceaad.tar.bz2 |
Set default scale factor fpr 4k monitor over 40' to 2x
BUG=479004
R=oshima@chromium.org
Review URL: https://codereview.chromium.org/1210263004
Cr-Commit-Position: refs/heads/master@{#337699}
-rw-r--r-- | ash/display/display_change_observer_chromeos.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ash/display/display_change_observer_chromeos.cc b/ash/display/display_change_observer_chromeos.cc index 1f5a6f3..fe2e479 100644 --- a/ash/display/display_change_observer_chromeos.cc +++ b/ash/display/display_change_observer_chromeos.cc @@ -196,6 +196,20 @@ void DisplayChangeObserver::OnDisplayModeChanged( if (Shell::GetInstance()->display_manager()->GetSelectedModeForDisplayId( state->display_id(), &mode)) { device_scale_factor = mode.device_scale_factor; + } else { + // For monitors that are 40 inches and 4K or above, set + // |device_scale_factor| to 2x. For margin purposes, 100 is subtracted + // from the value of |k2xThreshouldSizeSquaredFor4KInMm| + const int k2xThreshouldSizeSquaredFor4KInMm = + (40 * 40 * kInchInMm * kInchInMm) - 100; + gfx::Vector2d size_in_vec(state->physical_size().width(), + state->physical_size().height()); + if (size_in_vec.LengthSquared() > k2xThreshouldSizeSquaredFor4KInMm && + mode_info->size().width() >= kMinimumWidthFor4K) { + // Make sure that additional device scale factors table has 2x. + DCHECK_EQ(2.0f, kAdditionalDeviceScaleFactorsFor4k[1]); + device_scale_factor = 2.0f; + } } } gfx::Rect display_bounds(state->origin(), mode_info->size()); |