diff options
| author | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-06-11 14:37:45 +0200 |
|---|---|---|
| committer | Jonas Kümmerlin <jonas@kuemmerlin.eu> | 2020-06-11 14:37:45 +0200 |
| commit | f722fb1155cb3d198c450a68d7db82a0bf6318bf (patch) | |
| tree | bac789489aaa5d81715d1ee916b030252a1c89e7 /alf/alfnativebtn.cpp | |
| parent | c73dbbf12b090cb05819df2615594c91dbf1dc16 (diff) | |
concerted effort to reduce unneccessary redraws on transparent backgrounds
Diffstat (limited to 'alf/alfnativebtn.cpp')
| -rw-r--r-- | alf/alfnativebtn.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/alf/alfnativebtn.cpp b/alf/alfnativebtn.cpp index 3b35321..517676d 100644 --- a/alf/alfnativebtn.cpp +++ b/alf/alfnativebtn.cpp @@ -12,7 +12,12 @@ ALF_AddNativeButton(HWND win, WORD id, int x, int y, const TCHAR *text) (HMENU)(ULONG_PTR)id, ALF_HINSTANCE, NULL); - ALF_AddControl(win, x, y, hwndBtn, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG | ALF_LAYOUT_SIZE_PUSHBUTTON); + + DWORD layoutFlags = ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SIZE_PUSHBUTTON; + if (ALF_Compat_IsComCtlV6()) + layoutFlags |= ALF_LAYOUT_TRANSPARENTBG; + + ALF_AddControl(win, x, y, hwndBtn, 5625, 1725, layoutFlags); return hwndBtn; } @@ -30,7 +35,11 @@ ALF_AddNativeCheckbox(HWND parent, WORD id, int x, int y, const TCHAR *text) ALF_HINSTANCE, NULL); - ALF_AddControl(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + DWORD layoutFlags = ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT; + if (ALF_Compat_IsComCtlV6()) + layoutFlags |= ALF_LAYOUT_TRANSPARENTBG; + + ALF_AddControl(parent, x, y, hwnd, 0, 0, layoutFlags); return hwnd; } @@ -48,7 +57,11 @@ ALF_AddNativeRadioButton(HWND parent, WORD id, int x, int y, const TCHAR *text) ALF_HINSTANCE, NULL); - ALF_AddControl(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG); + DWORD layoutFlags = ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT; + if (ALF_Compat_IsComCtlV6()) + layoutFlags |= ALF_LAYOUT_TRANSPARENTBG; + + ALF_AddControl(parent, x, y, hwnd, 0, 0, layoutFlags); return hwnd; } |
