CLIM mail archive
[Prev][Next][Index][Thread]
Drawing Order
From: Erik Eilerts <eilerts@cs.utexas.edu>
Date: Tue, 8 Dec 1992 17:30:46 -0600
X-Mailer: Mail User's Shell (7.2.3 5/22/91)
System: Lucid 4.0, Clim 1.1, Ultrix, X11R5
I'm drawing a graph in an application window with scroll bars, but
it is having a problem. The appearance of the graph depends on the order
in which the elements of the graph are drawn. But, CLIM seems to be
reordering the way the objects are drawn when the window get's refreshed
or scrolled.
For example, I want the following:
------------ object1 -------------
This is a:
1. a line segment
2. a filled rectangle who's ink is the background
3. the word object1
The end result is that the filled rectangle blanks out part of the
line segment so that the word can be drawn with some whitespace around it.
But, when I scroll my window, this drawing order seems to change randomly.
So, I like to know if there's any way to gurarantee the order that objects
get drawn when a window is scrolled?
If this is too hard, I'll just compute the intersection points of the
line segment with the word.
CLIM sorts output records in Y-coordinate order so that the output
history can be searched more efficiently for mouse sensitivity
computations. There is supposed to be code that makes sure that
overlapping presentations get replayed in the order in which they are
drawn, but it has been known to have bugs.
You can flush the coordinate-sorting entirely by installing a stupider
kind of output record as the top-level history record for your window:
(setf (output-recording-stream-output-record win)
(make-instance 'clim::linear-output-record))
0,,
Follow-Ups:
- Drawing Order
- From: Scott McKay <SWM@STONY-BROOK.SCRC.Symbolics.COM>
References:
Main Index |
Thread Index