summaryrefslogtreecommitdiff
path: root/alf/alfnativebtn.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-06-11 14:37:45 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-06-11 14:37:45 +0200
commitf722fb1155cb3d198c450a68d7db82a0bf6318bf (patch)
treebac789489aaa5d81715d1ee916b030252a1c89e7 /alf/alfnativebtn.cpp
parentc73dbbf12b090cb05819df2615594c91dbf1dc16 (diff)
concerted effort to reduce unneccessary redraws on transparent backgrounds
Diffstat (limited to 'alf/alfnativebtn.cpp')
-rw-r--r--alf/alfnativebtn.cpp19
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;
}