diff options
author | hobbs <hobbs@noemail.net> | 2003-04-25 20:03:37 (GMT) |
---|---|---|
committer | hobbs <hobbs@noemail.net> | 2003-04-25 20:03:37 (GMT) |
commit | 6d0f80f42b127461746da9bd8d8cd9486fa67cb0 (patch) | |
tree | 63c8cdd8510995594abd104d618792fb2b428a6d | |
parent | 007f59e956aee5d38d14f99b91f855eb4bb26d78 (diff) | |
download | tk-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
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | unix/tkUnixButton.c | 12 | ||||
-rw-r--r-- | win/tkWinButton.c | 21 |
3 files changed, 30 insertions, 13 deletions
@@ -1,3 +1,13 @@ +2003-04-25 Jeff Hobbs <jeffh@ActiveState.com> + + * library/bgerror.tcl: make bgerror dialog topmost on Windows to + prevent it being covered by other windows. + + * 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] + 2003-04-18 Jeff Hobbs <jeffh@ActiveState.com> * win/configure: regen diff --git a/unix/tkUnixButton.c b/unix/tkUnixButton.c index c9d8448..ae2feae 100644 --- a/unix/tkUnixButton.c +++ b/unix/tkUnixButton.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: tkUnixButton.c,v 1.11 2003/02/25 01:39:57 hobbs Exp $ + * RCS: @(#) $Id: tkUnixButton.c,v 1.12 2003/04/25 20:03:43 hobbs Exp $ */ #include "tkButton.h" @@ -266,9 +266,13 @@ TkpDisplayButton(clientData) 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); y += fullHeight/2; 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 |