Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: ui/display/win/screen_win.cc

Issue 2832823002: Update avatar button to MD (Closed)
Patch Set: Fix for --force-device-scale-factor, vector icon, review comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/display/win/screen_win.cc
diff --git a/ui/display/win/screen_win.cc b/ui/display/win/screen_win.cc
index a62cde1cd6075adc59c021645b95ca16dd6fdca5..f73e609b824cc90518eaaae41afef982c766a1f6 100644
--- a/ui/display/win/screen_win.cc
+++ b/ui/display/win/screen_win.cc
@@ -34,31 +34,9 @@ namespace {
ScreenWin* g_screen_win_instance = nullptr;
float GetMonitorScaleFactor(HMONITOR monitor) {
- DCHECK(monitor);
if (Display::HasForceDeviceScaleFactor())
return Display::GetForcedDeviceScaleFactor();
-
- if (base::win::IsProcessPerMonitorDpiAware()) {
- static auto get_dpi_for_monitor_func = [](){
- using GetDpiForMonitorPtr = decltype(::GetDpiForMonitor)*;
- HMODULE shcore_dll = ::LoadLibrary(L"shcore.dll");
- if (shcore_dll) {
- return reinterpret_cast<GetDpiForMonitorPtr>(
- ::GetProcAddress(shcore_dll, "GetDpiForMonitor"));
- }
- return static_cast<GetDpiForMonitorPtr>(nullptr);
- }();
-
- UINT dpi_x;
- UINT dpi_y;
- if (get_dpi_for_monitor_func &&
- SUCCEEDED(get_dpi_for_monitor_func(monitor, MDT_EFFECTIVE_DPI,
- &dpi_x, &dpi_y))) {
- DCHECK_EQ(dpi_x, dpi_y);
- return GetScalingFactorFromDPI(dpi_x);
- }
- }
- return GetDPIScale();
+ return ScreenWin::GetUnforcedMonitorScaleFactor(monitor);
}
std::vector<DisplayInfo> FindAndRemoveTouchingDisplayInfos(
@@ -352,6 +330,32 @@ float ScreenWin::GetScaleFactorForHWND(HWND hwnd) {
}
// static
+float ScreenWin::GetUnforcedMonitorScaleFactor(HMONITOR monitor) {
+ DCHECK(monitor);
+ if (base::win::IsProcessPerMonitorDpiAware()) {
+ static auto get_dpi_for_monitor_func = []() {
+ using GetDpiForMonitorPtr = decltype(::GetDpiForMonitor)*;
+ HMODULE shcore_dll = ::LoadLibrary(L"shcore.dll");
+ if (shcore_dll) {
+ return reinterpret_cast<GetDpiForMonitorPtr>(
+ ::GetProcAddress(shcore_dll, "GetDpiForMonitor"));
+ }
+ return static_cast<GetDpiForMonitorPtr>(nullptr);
+ }();
+
+ UINT dpi_x;
+ UINT dpi_y;
+ if (get_dpi_for_monitor_func &&
+ SUCCEEDED(get_dpi_for_monitor_func(monitor, MDT_EFFECTIVE_DPI, &dpi_x,
+ &dpi_y))) {
+ DCHECK_EQ(dpi_x, dpi_y);
+ return GetScalingFactorFromDPI(dpi_x);
+ }
+ }
+ return GetUnforcedDeviceScaleFactor();
+}
+
+// static
float ScreenWin::GetSystemScaleFactor() {
return GetUnforcedDeviceScaleFactor();
}
« chrome/browser/ui/views/profiles/profile_chooser_view.cc ('K') | « ui/display/win/screen_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698