[PATCH 1/5] uxtheme: Support parsing more button parts and states.

Zhiyi Zhang wine at gitlab.winehq.org
Mon Jun 20 22:10:57 CDT 2022


From: Zhiyi Zhang <zzhang at codeweavers.com>

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 dlls/uxtheme/stylemap.c | 45 +++++++++++++++++++++++++++++++++++++++++
 include/vsstyle.h       |  9 +++++++++
 2 files changed, 54 insertions(+)

diff --git a/dlls/uxtheme/stylemap.c b/dlls/uxtheme/stylemap.c
index 07fafbe0bde..7a0a64cc470 100644
--- a/dlls/uxtheme/stylemap.c
+++ b/dlls/uxtheme/stylemap.c
@@ -341,6 +341,7 @@ static const MSSTYLES_CLASS_MAP classButton[] = {
     {BP_PUSHBUTTON, PBS_PRESSED, L"PRESSED"},
     {BP_PUSHBUTTON, PBS_DISABLED, L"DISABLED"},
     {BP_PUSHBUTTON, PBS_DEFAULTED, L"DEFAULTED"},
+    {BP_PUSHBUTTON, PBS_DEFAULTED_ANIMATING, L"DEFAULTED_ANIMATING"},
     {BP_RADIOBUTTON, 0, L"RADIOBUTTON"},
     {BP_RADIOBUTTON, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
     {BP_RADIOBUTTON, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
@@ -363,6 +364,14 @@ static const MSSTYLES_CLASS_MAP classButton[] = {
     {BP_CHECKBOX, CBS_MIXEDHOT, L"MIXEDHOT"},
     {BP_CHECKBOX, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
     {BP_CHECKBOX, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
+    {BP_CHECKBOX, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
+    {BP_CHECKBOX, CBS_IMPLICITHOT, L"IMPLICITHOT"},
+    {BP_CHECKBOX, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
+    {BP_CHECKBOX, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
+    {BP_CHECKBOX, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
+    {BP_CHECKBOX, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
+    {BP_CHECKBOX, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
+    {BP_CHECKBOX, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
     {BP_GROUPBOX, 0, L"GROUPBOX"},
     {BP_GROUPBOX, GBS_NORMAL, L"NORMAL"},
     {BP_GROUPBOX, GBS_DISABLED, L"DISABLED"},
@@ -380,6 +389,42 @@ static const MSSTYLES_CLASS_MAP classButton[] = {
     {BP_COMMANDLINKGLYPH, CMDLGS_PRESSED, L"PRESSED"},
     {BP_COMMANDLINKGLYPH, CMDLGS_DISABLED, L"DISABLED"},
     {BP_COMMANDLINKGLYPH, CMDLGS_DEFAULTED, L"DEFAULTED"},
+    {BP_RADIOBUTTON_HCDISABLED, 0, L"RADIOBUTTON_HCDISABLED"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDHOT, L"CHECKEDHOT"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
+    {BP_RADIOBUTTON_HCDISABLED, RBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, 0, L"CHECKBOX_HCDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDNORMAL, L"UNCHECKEDNORMAL"},
+    {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDHOT, L"UNCHECKEDHOT"},
+    {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDPRESSED, L"UNCHECKEDPRESSED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_UNCHECKEDDISABLED, L"UNCHECKEDDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDNORMAL, L"CHECKEDNORMAL"},
+    {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDHOT, L"CHECKEDHOT"},
+    {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDPRESSED, L"CHECKEDPRESSED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_CHECKEDDISABLED, L"CHECKEDDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_MIXEDNORMAL, L"MIXEDNORMAL"},
+    {BP_CHECKBOX_HCDISABLED, CBS_MIXEDHOT, L"MIXEDHOT"},
+    {BP_CHECKBOX_HCDISABLED, CBS_MIXEDPRESSED, L"MIXEDPRESSED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_MIXEDDISABLED, L"MIXEDDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITNORMAL, L"IMPLICITNORMAL"},
+    {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITHOT, L"IMPLICITHOT"},
+    {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITPRESSED, L"IMPLICITPRESSED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_IMPLICITDISABLED, L"IMPLICITDISABLED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDNORMAL, L"EXCLUDEDNORMAL"},
+    {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDHOT, L"EXCLUDEDHOT"},
+    {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDPRESSED, L"EXCLUDEDPRESSED"},
+    {BP_CHECKBOX_HCDISABLED, CBS_EXCLUDEDDISABLED, L"EXCLUDEDDISABLED"},
+    {BP_GROUPBOX_HCDISABLED, 0, L"GROUPBOX_HCDISABLED"},
+    {BP_GROUPBOX_HCDISABLED, GBS_NORMAL, L"NORMAL"},
+    {BP_GROUPBOX_HCDISABLED, GBS_DISABLED, L"DISABLED"},
+    {BP_PUSHBUTTONDROPDOWN, 0, L"PUSHBUTTONDROPDOWN"},
+    {BP_PUSHBUTTONDROPDOWN, PBDDS_NORMAL, L"NORMAL"},
+    {BP_PUSHBUTTONDROPDOWN, PBDDS_DISABLED, L"DISABLED"},
     {0, 0, L""}
 };
 
diff --git a/include/vsstyle.h b/include/vsstyle.h
index d6ea9071f64..f5af8492aef 100644
--- a/include/vsstyle.h
+++ b/include/vsstyle.h
@@ -72,6 +72,10 @@ enum BUTTONPARTS {
     BP_USERBUTTON = 5,
     BP_COMMANDLINK = 6,
     BP_COMMANDLINKGLYPH = 7,
+    BP_RADIOBUTTON_HCDISABLED = 8,
+    BP_CHECKBOX_HCDISABLED = 9,
+    BP_GROUPBOX_HCDISABLED = 10,
+    BP_PUSHBUTTONDROPDOWN = 11,
 };
 
 #define BUTTONSTYLEPARTS BUTTONPARTS;
@@ -141,6 +145,11 @@ enum COMMANDLINKGLYPHSTATES {
     CMDLGS_DEFAULTED = 5,
 };
 
+enum PUSHBUTTONDROPDOWNSTATES {
+    PBDDS_NORMAL = 1,
+    PBDDS_DISABLED = 2,
+};
+
 /* COMBOBOXSTYLE class */
 #if defined(_MSC_VER) || defined(__MINGW32__)
 #define VSCLASS_COMBOBOXSTYLE L"COMBOBOXSTYLE"
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/287



More information about the wine-devel mailing list