aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-10-27 14:42:32 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-11-01 16:34:09 -0500
commitbad2e93524f376cfeb76d5231d4b08510bdad033 (patch)
treeb201ec4b1495a0af4805ea6b0bc4fce9f8bde7b7 /src/api
parent8fa040da9d0d3826f5ffda6bcbec4f53abd97452 (diff)
downloadwix-bad2e93524f376cfeb76d5231d4b08510bdad033.tar.gz
wix-bad2e93524f376cfeb76d5231d4b08510bdad033.tar.bz2
wix-bad2e93524f376cfeb76d5231d4b08510bdad033.zip
Add more thmutil window messages to simplify handling control events.
Diffstat (limited to 'src/api')
-rw-r--r--src/api/burn/balutil/inc/BAFunctions.h34
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h24
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h24
-rw-r--r--src/api/burn/balutil/inc/IBAFunctions.h22
4 files changed, 104 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h
index 2a34aaad..ab6ea4d7 100644
--- a/src/api/burn/balutil/inc/BAFunctions.h
+++ b/src/api/burn/balutil/inc/BAFunctions.h
@@ -86,6 +86,8 @@ enum BA_FUNCTIONS_MESSAGE
86 BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, 86 BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024,
87 BA_FUNCTIONS_MESSAGE_WNDPROC, 87 BA_FUNCTIONS_MESSAGE_WNDPROC,
88 BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLLOADING, 88 BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLLOADING,
89 BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLWMCOMMAND,
90 BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLWMNOTIFY,
89}; 91};
90 92
91typedef HRESULT(WINAPI *PFN_BA_FUNCTIONS_PROC)( 93typedef HRESULT(WINAPI *PFN_BA_FUNCTIONS_PROC)(
@@ -126,6 +128,38 @@ struct BA_FUNCTIONS_ONTHEMECONTROLLOADING_RESULTS
126 WORD wId; 128 WORD wId;
127}; 129};
128 130
131struct BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_ARGS
132{
133 DWORD cbSize;
134 WPARAM wParam;
135 LPCWSTR wzName;
136 WORD wId;
137 HWND hWnd;
138};
139
140struct BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_RESULTS
141{
142 DWORD cbSize;
143 BOOL fProcessed;
144 LRESULT lResult;
145};
146
147struct BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_ARGS
148{
149 DWORD cbSize;
150 LPNMHDR lParam;
151 LPCWSTR wzName;
152 WORD wId;
153 HWND hWnd;
154};
155
156struct BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_RESULTS
157{
158 DWORD cbSize;
159 BOOL fProcessed;
160 LRESULT lResult;
161};
162
129struct BA_FUNCTIONS_ONTHEMELOADED_ARGS 163struct BA_FUNCTIONS_ONTHEMELOADED_ARGS
130{ 164{
131 DWORD cbSize; 165 DWORD cbSize;
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
index c2c8a6dc..f6c33f58 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
@@ -850,6 +850,30 @@ public: // IBAFunctions
850 return S_OK; 850 return S_OK;
851 } 851 }
852 852
853 virtual STDMETHODIMP OnThemeControlWmCommand(
854 __in WPARAM /*wParam*/,
855 __in LPCWSTR /*wzName*/,
856 __in WORD /*wId*/,
857 __in HWND /*hWnd*/,
858 __inout BOOL* /*pfProcessed*/,
859 __inout LRESULT* /*plResult*/
860 )
861 {
862 return S_OK;
863 }
864
865 virtual STDMETHODIMP OnThemeControlWmNotify(
866 __in LPNMHDR /*lParam*/,
867 __in LPCWSTR /*wzName*/,
868 __in WORD /*wId*/,
869 __in HWND /*hWnd*/,
870 __inout BOOL* /*pfProcessed*/,
871 __inout LRESULT* /*plResult*/
872 )
873 {
874 return S_OK;
875 }
876
853protected: 877protected:
854 CBalBaseBAFunctions( 878 CBalBaseBAFunctions(
855 __in HMODULE hModule, 879 __in HMODULE hModule,
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
index efe22ddd..1d51c5b6 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
@@ -33,6 +33,24 @@ static HRESULT BalBaseBAFunctionsProcOnThemeControlLoading(
33 return pBAFunctions->OnThemeControlLoading(pArgs->wzName, &pResults->fProcessed, &pResults->wId); 33 return pBAFunctions->OnThemeControlLoading(pArgs->wzName, &pResults->fProcessed, &pResults->wId);
34} 34}
35 35
36static HRESULT BalBaseBAFunctionsProcOnThemeControlWmCommand(
37 __in IBAFunctions* pBAFunctions,
38 __in BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_ARGS* pArgs,
39 __inout BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_RESULTS* pResults
40 )
41{
42 return pBAFunctions->OnThemeControlWmCommand(pArgs->wParam, pArgs->wzName, pArgs->wId, pArgs->hWnd, &pResults->fProcessed, &pResults->lResult);
43}
44
45static HRESULT BalBaseBAFunctionsProcOnThemeControlWmNotify(
46 __in IBAFunctions* pBAFunctions,
47 __in BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_ARGS* pArgs,
48 __inout BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_RESULTS* pResults
49 )
50{
51 return pBAFunctions->OnThemeControlWmNotify(pArgs->lParam, pArgs->wzName, pArgs->wId, pArgs->hWnd, &pResults->fProcessed, &pResults->lResult);
52}
53
36/******************************************************************* 54/*******************************************************************
37BalBaseBAFunctionsProc - requires pvContext to be of type IBAFunctions. 55BalBaseBAFunctionsProc - requires pvContext to be of type IBAFunctions.
38Provides a default mapping between the message based BAFunctions interface and 56Provides a default mapping between the message based BAFunctions interface and
@@ -137,6 +155,12 @@ static HRESULT WINAPI BalBaseBAFunctionsProc(
137 case BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLLOADING: 155 case BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLLOADING:
138 hr = BalBaseBAFunctionsProcOnThemeControlLoading(pBAFunctions, reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLLOADING_ARGS*>(pvArgs), reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLLOADING_RESULTS*>(pvResults)); 156 hr = BalBaseBAFunctionsProcOnThemeControlLoading(pBAFunctions, reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLLOADING_ARGS*>(pvArgs), reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLLOADING_RESULTS*>(pvResults));
139 break; 157 break;
158 case BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLWMCOMMAND:
159 hr = BalBaseBAFunctionsProcOnThemeControlWmCommand(pBAFunctions, reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_ARGS*>(pvArgs), reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLWMCOMMAND_RESULTS*>(pvResults));
160 break;
161 case BA_FUNCTIONS_MESSAGE_ONTHEMECONTROLWMNOTIFY:
162 hr = BalBaseBAFunctionsProcOnThemeControlWmNotify(pBAFunctions, reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_ARGS*>(pvArgs), reinterpret_cast<BA_FUNCTIONS_ONTHEMECONTROLWMNOTIFY_RESULTS*>(pvResults));
163 break;
140 } 164 }
141 } 165 }
142 166
diff --git a/src/api/burn/balutil/inc/IBAFunctions.h b/src/api/burn/balutil/inc/IBAFunctions.h
index d41b7c9b..63395e1e 100644
--- a/src/api/burn/balutil/inc/IBAFunctions.h
+++ b/src/api/burn/balutil/inc/IBAFunctions.h
@@ -39,4 +39,26 @@ DECLARE_INTERFACE_IID_(IBAFunctions, IBootstrapperApplication, "0FB445ED-17BD-49
39 __inout BOOL* pfProcessed, 39 __inout BOOL* pfProcessed,
40 __inout WORD* pwId 40 __inout WORD* pwId
41 ) = 0; 41 ) = 0;
42
43 // OnThemeControlWmCommand - Called when WM_COMMAND is received for a control.
44 //
45 STDMETHOD(OnThemeControlWmCommand)(
46 __in WPARAM wParam,
47 __in LPCWSTR wzName,
48 __in WORD wId,
49 __in HWND hWnd,
50 __inout BOOL* pfProcessed,
51 __inout LRESULT* plResult
52 ) = 0;
53
54 // OnThemeControlWmNotify - Called when WM_NOTIFY is received for a control.
55 //
56 STDMETHOD(OnThemeControlWmNotify)(
57 __in LPNMHDR lParam,
58 __in LPCWSTR wzName,
59 __in WORD wId,
60 __in HWND hWnd,
61 __inout BOOL* pfProcessed,
62 __inout LRESULT* plResult
63 ) = 0;
42}; 64};