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.h43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
index 9557c11c..eda81485 100644
--- a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
+++ b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h
@@ -6,6 +6,10 @@
6extern "C" { 6extern "C" {
7#endif 7#endif
8 8
9// forward declare
10
11typedef struct _THEME THEME;
12
9#define ReleaseTheme(p) if (p) { ThemeFree(p); p = NULL; } 13#define ReleaseTheme(p) if (p) { ThemeFree(p); p = NULL; }
10 14
11typedef HRESULT(CALLBACK *PFNTHM_EVALUATE_VARIABLE_CONDITION)( 15typedef HRESULT(CALLBACK *PFNTHM_EVALUATE_VARIABLE_CONDITION)(
@@ -111,6 +115,10 @@ typedef enum _WM_THMUTIL
111 // wparam is THEME_CONTROLWMNOTIFY_ARGS* and lparam is THEME_CONTROLWMNOTIFY_RESULTS*. 115 // wparam is THEME_CONTROLWMNOTIFY_ARGS* and lparam is THEME_CONTROLWMNOTIFY_RESULTS*.
112 // Return code is TRUE to prevent further processing of the message. 116 // Return code is TRUE to prevent further processing of the message.
113 WM_THMUTIL_CONTROL_WM_NOTIFY = WM_APP - 3, 117 WM_THMUTIL_CONTROL_WM_NOTIFY = WM_APP - 3,
118 // Sent after created a control.
119 // wparam is THEME_LOADEDCONTROL_ARGS* and lparam is THEME_LOADEDCONTROL_RESULTS*.
120 // Return code is TRUE if it was processed.
121 WM_THMUTIL_LOADED_CONTROL = WM_APP - 4,
114} WM_THMUTIL; 122} WM_THMUTIL;
115 123
116struct THEME_COLUMN 124struct THEME_COLUMN
@@ -287,6 +295,7 @@ struct THEME_CONTROL
287 // state variables that should be ignored 295 // state variables that should be ignored
288 HWND hWnd; 296 HWND hWnd;
289 DWORD dwData; // type specific data 297 DWORD dwData; // type specific data
298 THEME* pTheme;
290}; 299};
291 300
292 301
@@ -340,7 +349,7 @@ struct THEME_FONT
340}; 349};
341 350
342 351
343struct THEME 352typedef struct _THEME
344{ 353{
345 WORD wNextControlId; 354 WORD wNextControlId;
346 355
@@ -403,7 +412,7 @@ struct THEME
403 PFNTHM_SET_VARIABLE_STRING pfnSetStringVariable; 412 PFNTHM_SET_VARIABLE_STRING pfnSetStringVariable;
404 413
405 LPVOID pvVariableContext; 414 LPVOID pvVariableContext;
406}; 415} THEME;
407 416
408typedef struct _THEME_CONTROLWMCOMMAND_ARGS 417typedef struct _THEME_CONTROLWMCOMMAND_ARGS
409{ 418{
@@ -431,6 +440,18 @@ typedef struct _THEME_CONTROLWMNOTIFY_RESULTS
431 LRESULT lResult; 440 LRESULT lResult;
432} THEME_CONTROLWMNOTIFY_RESULTS; 441} THEME_CONTROLWMNOTIFY_RESULTS;
433 442
443typedef struct _THEME_LOADEDCONTROL_ARGS
444{
445 DWORD cbSize;
446 const THEME_CONTROL* pThemeControl;
447} THEME_LOADEDCONTROL_ARGS;
448
449typedef struct _THEME_LOADEDCONTROL_RESULTS
450{
451 DWORD cbSize;
452 HRESULT hr;
453} THEME_LOADEDCONTROL_RESULTS;
454
434typedef struct _THEME_LOADINGCONTROL_ARGS 455typedef struct _THEME_LOADINGCONTROL_ARGS
435{ 456{
436 DWORD cbSize; 457 DWORD cbSize;
@@ -528,24 +549,6 @@ HRESULT DAPI ThemeCreateParentWindow(
528 ); 549 );
529 550
530/******************************************************************** 551/********************************************************************
531 ThemeLoadControls - creates the windows for all the theme controls
532 using the window created in ThemeCreateParentWindow.
533
534*******************************************************************/
535HRESULT DAPI ThemeLoadControls(
536 __in THEME* pTheme
537 );
538
539/********************************************************************
540 ThemeUnloadControls - resets all the theme control windows so the theme
541 controls can be reloaded.
542
543*******************************************************************/
544void DAPI ThemeUnloadControls(
545 __in THEME* pTheme
546 );
547
548/********************************************************************
549 ThemeLocalize - Localizes all of the strings in the theme. 552 ThemeLocalize - Localizes all of the strings in the theme.
550 553
551*******************************************************************/ 554*******************************************************************/