summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorhobbs <hobbs@noemail.net>2003-04-25 20:03:37 (GMT)
committerhobbs <hobbs@noemail.net>2003-04-25 20:03:37 (GMT)
commit6d0f80f42b127461746da9bd8d8cd9486fa67cb0 (patch)
tree63c8cdd8510995594abd104d618792fb2b428a6d /win
parent007f59e956aee5d38d14f99b91f855eb4bb26d78 (diff)
downloadtk-6d0f80f42b127461746da9bd8d8cd9486fa67cb0.zip
tk-6d0f80f42b127461746da9bd8d8cd9486fa67cb0.tar.gz
tk-6d0f80f42b127461746da9bd8d8cd9486fa67cb0.tar.bz2
* unix/tkUnixButton.c (TkpDisplayButton): Use the normalTextGc when
* win/tkWinButton.c (TkpDisplayButton): displaying disabled text that have images, as they get a gray50 stipple as well and the disabledGc is not set up correctly for font drawing. [Bug #477740] FossilOrigin-Name: 12fc533501c0ad91469c0c4983d0fc54a08874ca
Diffstat (limited to 'win')
-rw-r--r--win/tkWinButton.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/win/tkWinButton.c b/win/tkWinButton.c
index 1f050aa..5552b1e 100644
--- a/win/tkWinButton.c
+++ b/win/tkWinButton.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinButton.c,v 1.20 2002/09/03 01:05:11 hobbs Exp $
+ * RCS: @(#) $Id: tkWinButton.c,v 1.21 2003/04/25 20:03:44 hobbs Exp $
*/
#define OEMRESOURCE
@@ -461,10 +461,9 @@ TkpDisplayButton(clientData)
}
haveText = (butPtr->textWidth != 0 && butPtr->textHeight != 0);
-
+
if (butPtr->compound != COMPOUND_NONE && haveImage && haveText) {
- int imageXOffset, imageYOffset, fullWidth,
- fullHeight;
+ int imageXOffset, imageYOffset, fullWidth, fullHeight;
imageXOffset = 0;
imageYOffset = 0;
fullWidth = 0;
@@ -542,10 +541,14 @@ TkpDisplayButton(clientData)
y + imageYOffset, 1);
XSetClipOrigin(butPtr->display, gc, 0, 0);
}
-
- Tk_DrawTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout,
- x + textXOffset, y + textYOffset, 0, -1);
- Tk_UnderlineTextLayout(butPtr->display, pixmap, gc,
+
+ /*
+ * Use normalTextGC in this case since we have both text and image,
+ * the whole button will later be stippled 50% grey.
+ */
+ Tk_DrawTextLayout(butPtr->display, pixmap, butPtr->normalTextGC,
+ butPtr->textLayout, x + textXOffset, y + textYOffset, 0, -1);
+ Tk_UnderlineTextLayout(butPtr->display, pixmap, butPtr->normalTextGC,
butPtr->textLayout, x + textXOffset, y + textYOffset,
butPtr->underline);
height = fullHeight;
@@ -643,7 +646,7 @@ TkpDisplayButton(clientData)
xSrc += tsdPtr->boxWidth*2;
}
ySrc = (butPtr->type == TYPE_RADIO_BUTTON) ? 0 : tsdPtr->boxHeight;
-
+
/*
* Update the palette in the boxes bitmap to reflect the current
* button colors. Note that this code relies on the layout of the