summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--ChangeLog10
-rw-r--r--unix/tkUnixButton.c12
-rw-r--r--win/tkWinButton.c21
3 files changed, 30 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index cdf3ab1..deb1116 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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