diff options
author | hobbs <hobbs> | 2003-04-25 20:03:37 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2003-04-25 20:03:37 (GMT) |
commit | 056ce9c5bfeb97685012ee0992ac0b5e3f0c59f2 (patch) | |
tree | 63c8cdd8510995594abd104d618792fb2b428a6d /win/tkWinButton.c | |
parent | 986591ee07c1fe94eb147e55a1d234cfdae0232e (diff) | |
download | tk-056ce9c5bfeb97685012ee0992ac0b5e3f0c59f2.zip tk-056ce9c5bfeb97685012ee0992ac0b5e3f0c59f2.tar.gz tk-056ce9c5bfeb97685012ee0992ac0b5e3f0c59f2.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]
Diffstat (limited to 'win/tkWinButton.c')
-rw-r--r-- | win/tkWinButton.c | 21 |
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 |