Subject: Re: bug#51988: [PATCH] Implement the buttonForeground resource color

From: Gregory Heytings <[email-masked]>
Date: Sat, 20 Nov 2021 00:24:02 +0000

Slightly improved patch attached.

From 0a76e0d3f78bf740ab1ca2d9bd00c44a255680a2 Mon Sep 17 00:00:00 2001
From: Gregory Heytings <[email-masked]>
Date: Sat, 20 Nov 2021 00:22:16 +0000
Subject: [PATCH] Implement the buttonForeground resource

* lwlib/xlwmenu.c (draw_shadow_rectangle, draw_shadow_rhombus):
Use the buttonForeground resource color.
---
 lwlib/xlwmenu.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c
index 702fad49ba..5f8832bb36 100644
--- a/lwlib/xlwmenu.c
+++ b/lwlib/xlwmenu.c
@@ -641,6 +641,21 @@ draw_shadow_rectangle (XlwMenuWidget mw,
   int thickness = !x && !y ? mw->menu.border_thickness : mw->menu.shadow_thickness;
   XPoint points [4];
 
+  if (!erase_p && width == height && width == toggle_button_width (mw))
+    {
+      points [0].x = x;
+      points [0].y = y;
+      points [1].x = x + width;
+      points [1].y = y;
+      points [2].x = x + width;
+      points [2].y = y + height;
+      points [3].x = x;
+      points [3].y = y + height;
+      XFillPolygon (dpy, window,
+                    down_p ? mw->menu.button_gc : mw->menu.inactive_button_gc,
+                    points, 4, Convex, CoordModeOrigin);
+    }
+
   if (!erase_p && down_p)
     {
       GC temp;
@@ -704,6 +719,21 @@ draw_shadow_rhombus (XlwMenuWidget mw,
   int thickness = mw->menu.shadow_thickness;
   XPoint points [4];
 
+  if (!erase_p && width == height && width == radio_button_width (mw))
+    {
+      points [0].x = x;
+      points [0].y = y + width / 2;
+      points [1].x = x + height / 2;
+      points [1].y = y + width;
+      points [2].x = x + height;
+      points [2].y = y + width / 2;
+      points [3].x = x + height / 2;
+      points [3].y = y;
+      XFillPolygon (dpy, window,
+                    down_p ? mw->menu.button_gc : mw->menu.inactive_button_gc,
+                    points, 4, Convex, CoordModeOrigin);
+    }
+
   if (!erase_p && down_p)
     {
       GC temp;
-- 
2.33.0