| Index: ui/gfx/win/dpi.cc
|
| diff --git a/ui/gfx/win/dpi.cc b/ui/gfx/win/dpi.cc
|
| index 2d2024f83a1e9f59a44f7c5b5f5a7b648383ce0f..e6855283f1dcd03cddc53d66f3fa44ce0b880779 100644
|
| --- a/ui/gfx/win/dpi.cc
|
| +++ b/ui/gfx/win/dpi.cc
|
| @@ -8,7 +8,6 @@
|
| #include "base/command_line.h"
|
| #include "base/win/scoped_hdc.h"
|
| #include "base/win/windows_version.h"
|
| -#include "ui/base/layout.h"
|
| #include "base/win/registry.h"
|
| #include "ui/gfx/display.h"
|
| #include "ui/gfx/switches.h"
|
| @@ -21,31 +20,6 @@ namespace {
|
| int kDefaultDPIX = 96;
|
| int kDefaultDPIY = 96;
|
|
|
| -// Tests to see if the command line flag "--high-dpi-support" is set.
|
| -bool IsHighDPIEnabled() {
|
| - // Default is disabled.
|
| - if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kHighDPISupport)) {
|
| - return CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| - switches::kHighDPISupport).compare("1") == 0;
|
| - }
|
| - return false;
|
| -}
|
| -
|
| -// Gets the device scale factor. If support is enabled, this will return the
|
| -// best available scale based on the screen's pixel density. This can be
|
| -// affected (overridden) by --force-device-scale-factor=x
|
| -float GetDeviceScaleFactorImpl() {
|
| - if (IsHighDPIEnabled()) {
|
| - float scale = gfx::Display::HasForceDeviceScaleFactor() ?
|
| - gfx::Display::GetForcedDeviceScaleFactor() : gfx::GetDPIScale();
|
| - // Quantize to nearest supported scale factor.
|
| - scale = ui::GetImageScale(ui::GetSupportedScaleFactor(scale));
|
| - return scale;
|
| - }
|
| - return 1.0f;
|
| -}
|
| -
|
| BOOL IsProcessDPIAwareWrapper() {
|
| typedef BOOL(WINAPI *IsProcessDPIAwarePtr)(VOID);
|
| IsProcessDPIAwarePtr is_process_dpi_aware_func =
|
| @@ -56,10 +30,17 @@ BOOL IsProcessDPIAwareWrapper() {
|
| return FALSE;
|
| }
|
|
|
| +float g_device_scale_factor = 0.0f;
|
| +
|
| } // namespace
|
|
|
| namespace gfx {
|
|
|
| +void InitDeviceScaleFactor(float scale) {
|
| + DCHECK_NE(0.0f, scale);
|
| + g_device_scale_factor = scale;
|
| +}
|
| +
|
| Size GetDPI() {
|
| static int dpi_x = 0;
|
| static int dpi_y = 0;
|
| @@ -85,6 +66,16 @@ float GetDPIScale() {
|
| return 1.0;
|
| }
|
|
|
| +bool IsHighDPIEnabled() {
|
| + // Default is disabled.
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kHighDPISupport)) {
|
| + return CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
|
| + switches::kHighDPISupport).compare("1") == 0;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| bool IsInHighDPIMode() {
|
| return GetDPIScale() > 1.0;
|
| }
|
| @@ -104,8 +95,8 @@ void EnableHighDPISupport() {
|
| namespace win {
|
|
|
| float GetDeviceScaleFactor() {
|
| - static const float device_scale_factor = GetDeviceScaleFactorImpl();
|
| - return device_scale_factor;
|
| + DCHECK_NE(0.0f, g_device_scale_factor);
|
| + return g_device_scale_factor;
|
| }
|
|
|
| Point ScreenToDIPPoint(const Point& pixel_point) {
|
|
|