summaryrefslogtreecommitdiffstats
path: root/unix/tkUnixScale.c
diff options
context:
space:
mode:
authordas <das>2007-04-29 02:24:01 (GMT)
committerdas <das>2007-04-29 02:24:01 (GMT)
commit0ee713439182546f0e884ac2db7f83101456d56e (patch)
treeb6b29a677c5c6c642d97f66297edf93f269b37b6 /unix/tkUnixScale.c
parent7614214a0526527a62f6cc88b6560f003397c1a3 (diff)
downloadtk-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/tkUnixScale.c')
-rw-r--r--unix/tkUnixScale.c8
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;