aboutsummaryrefslogtreecommitdiff
path: root/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/inc/thmutil.h')
-rw-r--r--src/libs/dutil/WixToolset.DUtil/inc/thmutil.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
index 6ac3711f..dc554219 100644
--- a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
+++ b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
@@ -95,6 +95,15 @@ typedef enum THEME_WINDOW_INITIAL_POSITION
95 THEME_WINDOW_INITIAL_POSITION_CENTER_MONITOR_FROM_COORDINATES, 95 THEME_WINDOW_INITIAL_POSITION_CENTER_MONITOR_FROM_COORDINATES,
96} THEME_WINDOW_INITIAL_POSITION; 96} THEME_WINDOW_INITIAL_POSITION;
97 97
98// These messages are sent by thmutil to the parent window created in ThemeCreateParentWindow.
99// thmutil reserves the last values of WM_USER's range.
100typedef enum _WM_THMUTIL
101{
102 // Sent while creating a control.
103 // wparam is THEME_LOADINGCONTROL_ARGS* and lparam is THEME_LOADINGCONTROL_RESULTS*.
104 // Return code is TRUE if it was processed.
105 WM_THMUTIL_LOADING_CONTROL = WM_APP - 1,
106} WM_THMUTIL;
98 107
99struct THEME_COLUMN 108struct THEME_COLUMN
100{ 109{
@@ -171,7 +180,7 @@ struct THEME_ASSIGN_CONTROL_ID
171 LPCWSTR wzName; // name of control to match 180 LPCWSTR wzName; // name of control to match
172}; 181};
173 182
174const DWORD THEME_FIRST_ASSIGN_CONTROL_ID = 1024; // Recommended first control id to be assigned. 183const WORD THEME_FIRST_ASSIGN_CONTROL_ID = 0x4000; // Recommended first control id to be assigned.
175 184
176struct THEME_CONTROL 185struct THEME_CONTROL
177{ 186{
@@ -325,7 +334,7 @@ struct THEME_FONT
325 334
326struct THEME 335struct THEME
327{ 336{
328 WORD wId; 337 WORD wNextControlId;
329 338
330 BOOL fAutoResize; 339 BOOL fAutoResize;
331 BOOL fForceResize; 340 BOOL fForceResize;
@@ -388,6 +397,24 @@ struct THEME
388 LPVOID pvVariableContext; 397 LPVOID pvVariableContext;
389}; 398};
390 399
400typedef struct _THEME_LOADINGCONTROL_ARGS
401{
402 DWORD cbSize;
403 const THEME_CONTROL* pThemeControl;
404} THEME_LOADINGCONTROL_ARGS;
405
406typedef struct _THEME_LOADINGCONTROL_RESULTS
407{
408 DWORD cbSize;
409 HRESULT hr;
410
411 // Used to apply a specific id to the control (usually used for WM_COMMAND).
412 // If assigning an id, it is recommended to start with THEME_FIRST_ASSIGN_CONTROL_ID to avoid collisions with well known ids such as IDOK and IDCANCEL.
413 // The values [100, THEME_FIRST_ASSIGN_CONTROL_ID) are reserved for thmutil.
414 // Due to this value being packed into 16 bits for many system window messages, this is restricted to a WORD.
415 WORD wId;
416} THEME_LOADINGCONTROL_RESULTS;
417
391 418
392/******************************************************************** 419/********************************************************************
393 ThemeInitialize - initialized theme management. 420 ThemeInitialize - initialized theme management.
@@ -472,9 +499,7 @@ HRESULT DAPI ThemeCreateParentWindow(
472 499
473*******************************************************************/ 500*******************************************************************/
474HRESULT DAPI ThemeLoadControls( 501HRESULT DAPI ThemeLoadControls(
475 __in THEME* pTheme, 502 __in THEME* pTheme
476 __in_ecount_opt(cAssignControlIds) const THEME_ASSIGN_CONTROL_ID* rgAssignControlIds,
477 __in DWORD cAssignControlIds
478 ); 503 );
479 504
480/******************************************************************** 505/********************************************************************