diff options
author | patthoyts <patthoyts@users.sourceforge.net> | 2009-10-05 15:08:07 (GMT) |
---|---|---|
committer | patthoyts <patthoyts@users.sourceforge.net> | 2009-10-05 15:08:07 (GMT) |
commit | cfe4b25b7fe00cc06ac41d19ef2def38e3bc5ba5 (patch) | |
tree | 180d368c9f9519cf262c0dcadbc3371580fbaa9d /win/tkWinButton.c | |
parent | 39af37dfa88bb0267d6b5236e06a3f53725ed317 (diff) | |
download | tk-cfe4b25b7fe00cc06ac41d19ef2def38e3bc5ba5.zip tk-cfe4b25b7fe00cc06ac41d19ef2def38e3bc5ba5.tar.gz tk-cfe4b25b7fe00cc06ac41d19ef2def38e3bc5ba5.tar.bz2 |
[Bug 2860827] Backported patch avoiding 3D effects with user-specified backgrounds
Diffstat (limited to 'win/tkWinButton.c')
-rw-r--r-- | win/tkWinButton.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/win/tkWinButton.c b/win/tkWinButton.c index 5a348b1..22142c7 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.34 2007/12/14 15:56:09 patthoyts Exp $ + * RCS: @(#) $Id: tkWinButton.c,v 1.34.2.1 2009/10/05 15:08:07 patthoyts Exp $ */ #define OEMRESOURCE @@ -552,15 +552,17 @@ TkpDisplayButton( (butPtr->disabledFg != NULL)) { COLORREF oldFgColor = gc->foreground; - gc->foreground = GetSysColor(COLOR_3DHILIGHT); - Tk_DrawTextLayout(butPtr->display, pixmap, gc, + if (gc->background == GetSysColor(COLOR_BTNFACE)) { + gc->foreground = GetSysColor(COLOR_3DHILIGHT); + Tk_DrawTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout, x + textXOffset + 1, y + textYOffset + 1, 0, -1); - Tk_UnderlineTextLayout(butPtr->display, pixmap, gc, + Tk_UnderlineTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout, x + textXOffset + 1, y + textYOffset + 1, butPtr->underline); - gc->foreground = oldFgColor; + gc->foreground = oldFgColor; + } } Tk_DrawTextLayout(butPtr->display, pixmap, gc, @@ -615,13 +617,15 @@ TkpDisplayButton( if ((butPtr->state == STATE_DISABLED) && (butPtr->disabledFg != NULL)) { COLORREF oldFgColor = gc->foreground; - gc->foreground = GetSysColor(COLOR_3DHILIGHT); - Tk_DrawTextLayout(butPtr->display, pixmap, gc, + if (gc->background == GetSysColor(COLOR_BTNFACE)) { + gc->foreground = GetSysColor(COLOR_3DHILIGHT); + Tk_DrawTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout, x + 1, y + 1, 0, -1); - Tk_UnderlineTextLayout(butPtr->display, pixmap, gc, + Tk_UnderlineTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout, x + 1, y + 1, butPtr->underline); - gc->foreground = oldFgColor; + gc->foreground = oldFgColor; + } } Tk_DrawTextLayout(butPtr->display, pixmap, gc, butPtr->textLayout, x, y, 0, -1); |