[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Incremental Redisplay (Animation)

OK, I'm finally trying to figure out how to do this, and if this is going to
be easier with CLIM, let me know that and I'll wait :-).

Basically here's the problem. I'm using define-program-framework. I have a
number of objects, each of which has a graphical presentation. One of the
slots on the objects specifies the position it should be drawn at. This
position may change.

1) how do I invoke an incremental redisplay within a command (to show more
smooth movement, and more frequent updates than waiting for returning from
the command will do.. these commands take 5 minutes or more each).

2) The display is basically on 3 levels - a background that doesn't change,
an intermediate level that changes slightly periodically, and a foreground
that moves all over the place (for the curious, the former are tracks and
buildings, the medium are switch flags and other features that move and the
foreground are trains that run on the tracks). How can I get incremental
redisplay to update (redraw) the background when the foreground object moves
off of them? Somehow I may be able to get access to the bounding box of the
object that is moving, but how is it supposed to know what objects it no
longer is blocking?

Right now I'm using non-incremental redisplay which "works", but it's slow,
and flickers in a very serious way, obviously.

 Brad Miller		U. Rochester Comp Sci Dept.
 miller@cs.rochester.edu {...allegra!rochester!miller}