diff options
author | jingham <jingham> | 1999-08-10 05:04:45 (GMT) |
---|---|---|
committer | jingham <jingham> | 1999-08-10 05:04:45 (GMT) |
commit | 4904c2fefb18f2f2cc5e3e70d58e1750f52fa659 (patch) | |
tree | 7316e518597bb3d84ce7a7a7cabcf5b05832add8 /mac/tkMacDraw.c | |
parent | 1cdd5fb850d1be603e0994761bd0271233c964c4 (diff) | |
download | tk-4904c2fefb18f2f2cc5e3e70d58e1750f52fa659.zip tk-4904c2fefb18f2f2cc5e3e70d58e1750f52fa659.tar.gz tk-4904c2fefb18f2f2cc5e3e70d58e1750f52fa659.tar.bz2 |
New Function: TkpDrawHighlightBorder. Use this in place of Tk_DrawFocusHighlight. The latter did not work on the Mac, since you need to know both foreground & background color when you draw the active focus ring.
Diffstat (limited to 'mac/tkMacDraw.c')
-rw-r--r-- | mac/tkMacDraw.c | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/mac/tkMacDraw.c b/mac/tkMacDraw.c index a346a3c..bb04f05 100644 --- a/mac/tkMacDraw.c +++ b/mac/tkMacDraw.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkMacDraw.c,v 1.5 1999/05/22 06:32:50 jingham Exp $ + * RCS: @(#) $Id: tkMacDraw.c,v 1.6 1999/08/10 05:04:53 jingham Exp $ */ #include "tkInt.h" @@ -1129,3 +1129,46 @@ InvertByte( } return result; } + +/* + *---------------------------------------------------------------------- + * + * TkpDrawpHighlightBorder -- + * + * This procedure draws a rectangular ring around the outside of + * a widget to indicate that it has received the input focus. + * + * On the Macintosh, this puts a 1 pixel border in the bgGC color + * between the widget and the focus ring, except in the case where + * highlightWidth is 1, in which case the border is left out. + * + * For proper Mac L&F, use highlightWidth of 3. + * + * Results: + * None. + * + * Side effects: + * A rectangle "width" pixels wide is drawn in "drawable", + * corresponding to the outer area of "tkwin". + * + *---------------------------------------------------------------------- + */ + +void +TkpDrawHighlightBorder ( + Tk_Window tkwin, + GC fgGC, + GC bgGC, + int highlightWidth, + Drawable drawable) +{ + if (highlightWidth == 1) { + TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth, drawable, 0); + } else { + TkDrawInsetFocusHighlight (tkwin, bgGC, highlightWidth, drawable, 0); + if (fgGC != bgGC) { + TkDrawInsetFocusHighlight (tkwin, fgGC, highlightWidth - 1, drawable, 0); + } + } +} +
\ No newline at end of file |