diff options
author | das <das> | 2007-04-29 02:24:01 (GMT) |
---|---|---|
committer | das <das> | 2007-04-29 02:24:01 (GMT) |
commit | 0ee713439182546f0e884ac2db7f83101456d56e (patch) | |
tree | b6b29a677c5c6c642d97f66297edf93f269b37b6 /unix | |
parent | 7614214a0526527a62f6cc88b6560f003397c1a3 (diff) | |
download | tk-0ee713439182546f0e884ac2db7f83101456d56e.zip tk-0ee713439182546f0e884ac2db7f83101456d56e.tar.gz tk-0ee713439182546f0e884ac2db7f83101456d56e.tar.bz2 |
* generic/tkCanvas.c: allow -selectforeground option to be None; add
* generic/tkCanvText.c: fallback to fgColor when selFgColor is None
* generic/tkEntry.c: (new default on aqua to match native L&F).
* generic/tkListbox.c:
* generic/tkText.c:
* generic/tkCanvas.c: add support for bypassing all of Tk's double
* generic/tkEntry.c: buffered drawing into intermediate pixmaps
* generic/tkFrame.c: (via TK_NO_DOUBLE_BUFFERING #define), it is
* generic/tkListbox.c: unnecessary & wasteful on aqua where all
* generic/tkPanedWindow.c: drawing is already double-buffered by the
* generic/tkTextDisp.c: window server. (Use of this on other
* unix/tkUnixScale.c: platforms would only require implementation
of TkpClipDrawableToRect()).
Diffstat (limited to 'unix')
-rw-r--r-- | unix/tkUnixScale.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/unix/tkUnixScale.c b/unix/tkUnixScale.c index abc983b..259cc92 100644 --- a/unix/tkUnixScale.c +++ b/unix/tkUnixScale.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: tkUnixScale.c,v 1.8.4.1 2004/10/28 15:18:40 patthoyts Exp $ + * RCS: @(#) $Id: tkUnixScale.c,v 1.8.4.2 2007/04/29 02:24:01 das Exp $ */ #include "tkScale.h" @@ -567,6 +567,7 @@ TkpDisplayScale(clientData) } Tcl_Release((ClientData) scalePtr); +#ifndef TK_NO_DOUBLE_BUFFERING /* * In order to avoid screen flashes, this procedure redraws * the scale in a pixmap, then copies the pixmap to the @@ -576,6 +577,9 @@ TkpDisplayScale(clientData) pixmap = Tk_GetPixmap(scalePtr->display, Tk_WindowId(tkwin), Tk_Width(tkwin), Tk_Height(tkwin), Tk_Depth(tkwin)); +#else + pixmap = Tk_WindowId(tkwin); +#endif /* TK_NO_DOUBLE_BUFFERING */ drawnArea.x = 0; drawnArea.y = 0; drawnArea.width = Tk_Width(tkwin); @@ -620,6 +624,7 @@ TkpDisplayScale(clientData) } } +#ifndef TK_NO_DOUBLE_BUFFERING /* * Copy the information from the off-screen pixmap onto the screen, * then delete the pixmap. @@ -629,6 +634,7 @@ TkpDisplayScale(clientData) scalePtr->copyGC, drawnArea.x, drawnArea.y, drawnArea.width, drawnArea.height, drawnArea.x, drawnArea.y); Tk_FreePixmap(scalePtr->display, pixmap); +#endif /* TK_NO_DOUBLE_BUFFERING */ done: scalePtr->flags &= ~REDRAW_ALL; |