From 0817e451578b2920ec30a2ebb88fe908cf60c0e0 Mon Sep 17 00:00:00 2001 From: Jonas Kümmerlin Date: Tue, 23 Jun 2020 15:10:37 +0200 Subject: button: new padding calculation this is more in line with how win10 does things and IMHO leads to better results on high-dpi displays. --- alf/alfbutton.cpp | 10 ++++------ alf/alflayout.cpp | 6 ++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/alf/alfbutton.cpp b/alf/alfbutton.cpp index 2bc6bc4..8f8ced4 100644 --- a/alf/alfbutton.cpp +++ b/alf/alfbutton.cpp @@ -211,10 +211,8 @@ ALF_NtButton_CalculateSize(HWND hwnd, ALFNtButtonPriv *priv, SIZE *pSize) if (pSize->cy < cy) pSize->cy = cy; } else { - int xpadding = ALF_Compat_GetSystemMetricsForDpi(SM_CXEDGE, - (UINT)priv->dpi) * 2 + 6; - int ypadding = ALF_Compat_GetSystemMetricsForDpi(SM_CYEDGE, - (UINT)priv->dpi) * 2 + 4; + int xpadding = ALF_CentipointsToPixels(1800, priv->dpi); + int ypadding = ALF_CentipointsToPixels(600, priv->dpi); if (pSize->cx < r.right - r.left + xpadding) { pSize->cx = r.right - r.left + xpadding; @@ -1057,8 +1055,8 @@ ALF_ClassicButton_CalculateSize(HWND hwnd, ALFClassicButtonPriv *priv, SIZE *pSi if (pSize->cy < cy) pSize->cy = cy; } else { - int xpadding = GetSystemMetrics(SM_CXEDGE) * 2 + 6; - int ypadding = GetSystemMetrics(SM_CYEDGE) * 2 + 4; + int xpadding = 24; + int ypadding = 8; if (pSize->cx < r.right - r.left + xpadding) { pSize->cx = r.right - r.left + xpadding; diff --git a/alf/alflayout.cpp b/alf/alflayout.cpp index 38e69a2..176070d 100644 --- a/alf/alflayout.cpp +++ b/alf/alflayout.cpp @@ -277,10 +277,8 @@ ALF_Layout_CalcButtonSize(HWND hwndWindow, ALFLayout *layout, HWND hwndButton, S DrawText(hdc, textbuf, -1, &r, format); ALF_Free(textbuf); - int xpadding = ALF_Compat_GetSystemMetricsForDpi(SM_CXEDGE, - (UINT)layout->dpi) * 2 + 6; - int ypadding = ALF_Compat_GetSystemMetricsForDpi(SM_CYEDGE, - (UINT)layout->dpi) * 2 + 4; + int xpadding = ALF_CentipointsToPixels(1800, layout->dpi); + int ypadding = ALF_CentipointsToPixels(600, layout->dpi); if (pSize->cx < r.right - r.left + xpadding) { pSize->cx = r.right - r.left + xpadding; -- cgit v1.2.3