Index: ui/display/win/screen_win.cc |
diff --git a/ui/display/win/screen_win.cc b/ui/display/win/screen_win.cc |
index 39c9a713a2be1ede88ba5aed2f8e2683f14b4118..6209abe50158d56764fd6f6f3e64d6752406e217 100644 |
--- a/ui/display/win/screen_win.cc |
+++ b/ui/display/win/screen_win.cc |
@@ -317,6 +317,17 @@ int ScreenWin::GetSystemMetricsForHwnd(HWND hwnd, int metric) { |
} |
// static |
+int ScreenWin::GetSystemMetricsInDIP(int metric) { |
+ if (!g_screen_win_instance) |
+ return ::GetSystemMetrics(metric); |
+ |
+ Display primary_display(g_screen_win_instance->GetPrimaryDisplay()); |
+ int system_metrics_result = g_screen_win_instance->GetSystemMetrics(metric); |
+ return static_cast<int>(std::round( |
+ system_metrics_result / primary_display.device_scale_factor())); |
+} |
+ |
+// static |
float ScreenWin::GetScaleFactorForHWND(HWND hwnd) { |
if (!g_screen_win_instance) |
return ScreenWinDisplay().display().device_scale_factor(); |