From c0fa77405e0cc1e231dfef357b9ca6e1645c1fe3 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 4 Jun 2021 13:35:35 -0500 Subject: Require separate images for thmutil graphic Buttons and Progressbars. --- src/libs/dutil/WixToolset.DUtil/inc/thmutil.h | 44 +++++++++++++++++++-------- 1 file changed, 31 insertions(+), 13 deletions(-) (limited to 'src/libs/dutil/WixToolset.DUtil/inc/thmutil.h') diff --git a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h index 2a7cabb9..d21c3e17 100644 --- a/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h +++ b/src/libs/dutil/WixToolset.DUtil/inc/thmutil.h @@ -188,12 +188,38 @@ struct THEME_CONTROL LPWSTR sczVisibleCondition; BOOL fDisableVariableFunctionality; - THEME_IMAGE_REFERENCE imageRef; - HBITMAP hImage; - HICON hIcon; + union + { + struct + { + THEME_IMAGE_REFERENCE rgImageRef[4]; + } Button; + struct + { + HBITMAP hImage; + HICON hIcon; + + DWORD cConditionalNotes; + THEME_CONDITIONAL_TEXT* rgConditionalNotes; + } CommandLink; + struct + { + THEME_IMAGE_REFERENCE imageRef; + } Image; + struct + { + // Don't free these; it's just a handle to the central image lists stored in THEME. The handle is freed once, there. + HIMAGELIST rghImageList[4]; - // Don't free these; it's just a handle to the central image lists stored in THEME. The handle is freed once, there. - HIMAGELIST rghImageList[4]; + THEME_COLUMN* ptcColumns; + DWORD cColumns; + } ListView; + struct + { + DWORD cImageRef; + THEME_IMAGE_REFERENCE* rgImageRef; + } ProgressBar; + }; DWORD dwStyle; DWORD dwExtendedStyle; @@ -218,10 +244,6 @@ struct THEME_CONTROL DWORD dwFontHoverId; DWORD dwFontSelectedId; - // Used by listview controls - THEME_COLUMN *ptcColumns; - DWORD cColumns; - // Used by radio button controls BOOL fLastRadioButton; LPWSTR sczValue; @@ -235,10 +257,6 @@ struct THEME_CONTROL DWORD cConditionalText; THEME_CONDITIONAL_TEXT* rgConditionalText; - // Used by command link controls - DWORD cConditionalNotes; - THEME_CONDITIONAL_TEXT* rgConditionalNotes; - // state variables that should be ignored HWND hWnd; DWORD dwData; // type specific data -- cgit v1.2.3-55-g6feb