summaryrefslogtreecommitdiff
path: root/alf/alf.h
diff options
context:
space:
mode:
Diffstat (limited to 'alf/alf.h')
-rw-r--r--alf/alf.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/alf/alf.h b/alf/alf.h
index e64cac7..fb9c544 100644
--- a/alf/alf.h
+++ b/alf/alf.h
@@ -601,15 +601,25 @@ ALF_AddRadioButton(HWND parent, WORD id, int x, int y, const TCHAR *text);
HWND
ALF_AddGroupBox(HWND parent, WORD id, int x, int y, const TCHAR *text);
-// native buttons
-HWND
-ALF_AddNativeButton(HWND win, WORD id, int x, int y, const TCHAR *text);
+// custom button
-HWND
-ALF_AddNativeCheckbox(HWND parent, WORD id, int x, int y, const TCHAR *text);
+typedef SIZE (*ALFCustomButtonMeasureFunc)(HWND /*btn*/, void * /*closure*/, int /*dpi*/, HDC, HANDLE /*theme*/, int /*themePartId*/, int /*themeStateId*/);
+typedef void (*ALFCustomButtonPaintFunc)(HWND /*btn*/, void * /*closure*/, int /*dpi*/, UINT /*itemState = ODS_* */, HDC, RECT * /*rcContent*/, HANDLE /*theme*/, int /*themePartId*/, int /*themeStateId*/);
HWND
-ALF_AddNativeRadioButton(HWND parent, WORD id, int x, int y, const TCHAR *text);
+ALF_AddCustomButton(HWND win, WORD id, int x, int y, const TCHAR *text, ALFCustomButtonMeasureFunc measureFunc, ALFCustomButtonPaintFunc paintFunc, void *closure);
+
+SIZE
+ALF_CustomButtonMeasureText(HWND btn, void *closure, int dpi, HDC hdc, HANDLE theme, int themePartId, int themeState);
+
+void
+ALF_CustomButtonPaintText(HWND btn, void *closure, int dpi, UINT itemState, HDC hdc, RECT *rcContent, HANDLE theme, int themePartId, int themeStateId);
+
+SIZE
+ALF_CustomButtonMeasureIcon(HWND btn, void *closure, int dpi, HDC hdc, HANDLE theme, int themePartId, int themeState);
+
+void
+ALF_CustomButtonPaintIcon(HWND btn, void *closure, int dpi, UINT itemState, HDC hdc, RECT *rcContent, HANDLE theme, int themePartId, int themeStateId);
// icons and icon widget
HWND