Fix DPI scaling calculation
parent
8aee17b8d1
commit
12f0dd7c60
|
|
@ -2644,7 +2644,10 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
|
|||
case WM_DPICHANGED:
|
||||
{
|
||||
LPRECT lprc_new_scale;
|
||||
F32 new_scale = LOWORD(w_param) / USER_DEFAULT_SCREEN_DPI;
|
||||
// <FS:Ansariel> Fix DPI scaling
|
||||
//F32 new_scale = LOWORD(w_param) / USER_DEFAULT_SCREEN_DPI;
|
||||
F32 new_scale = F32(LOWORD(w_param)) / F32(USER_DEFAULT_SCREEN_DPI);
|
||||
// </FS:Ansariel>
|
||||
lprc_new_scale = (LPRECT)l_param;
|
||||
S32 new_width = lprc_new_scale->right - lprc_new_scale->left;
|
||||
S32 new_height = lprc_new_scale->bottom - lprc_new_scale->top;
|
||||
|
|
@ -4060,7 +4063,10 @@ F32 LLWindowWin32::getSystemUISize()
|
|||
hr = pGDFM(hMonitor, MDT_EFFECTIVE_DPI, &dpix, &dpiy);
|
||||
if (hr == S_OK)
|
||||
{
|
||||
scale_value = dpix / USER_DEFAULT_SCREEN_DPI;
|
||||
// <FS:Ansariel> Fix DPI scaling
|
||||
//scale_value = dpix / USER_DEFAULT_SCREEN_DPI;
|
||||
scale_value = F32(dpix) / F32(USER_DEFAULT_SCREEN_DPI);
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -4079,7 +4085,10 @@ F32 LLWindowWin32::getSystemUISize()
|
|||
else
|
||||
{
|
||||
LL_WARNS() << "Could not load shcore.dll library (included by <ShellScalingAPI.h> from Win 8.1 SDK). Using legacy DPI awareness API of Win XP/7" << LL_ENDL;
|
||||
scale_value = GetDeviceCaps(hdc, LOGPIXELSX) / USER_DEFAULT_SCREEN_DPI;
|
||||
// <FS:Ansariel> Fix DPI scaling
|
||||
//scale_value = GetDeviceCaps(hdc, LOGPIXELSX) / USER_DEFAULT_SCREEN_DPI;
|
||||
scale_value = F32(GetDeviceCaps(hdc, LOGPIXELSX)) / F32(USER_DEFAULT_SCREEN_DPI);
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
ReleaseDC(hWnd, hdc);
|
||||
|
|
|
|||
Loading…
Reference in New Issue