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

beginners question about incremental redisplay



    Date: Wed, 21 Mar 90 13:55:12 EDT
    From: MILLER@vax.cam.nist.gov (Bruce R. Miller)

	Date: Wed, 21 Mar 90 17:56:13 N
	From: sauthier%elma.epfl.ch@CUNYVM.CUNY.EDU

	I tried to use the incremental redisplay capabilities of genera (7.2)
	without success. I want to have a program able to handle some graphical
	output. Each piece of graphic is also intended to be selectable and therefore
	corresponds to a presentation type. I also want to be able to interactively
	move this pieces on the screen.
	I tried to implement this after an example found in the genera documentation
	and the result was not exactly what I expected. For example if I select a
	piece of the "drawing" and I move it, it is the only things which is redrawn,
	but under certain circumstances (unfortunately, I don't know what they are,
	but I suppose they have something to do with the overlapping of the highlighting
	boxes) other part of my output are disturbed or shifted (the highlighting of
	the presentation does not overlap the presentation anymore).

	Before going into details, I would know if it is possible to do this, if
	someone has had the same troubles, or if I am doing something wrong.

    I, too, thought that presentations and generic graphics would be a great
    mix!  And, with some  caveats, it is.    The short answer  to your three
    questions are (most likely): YES.  

    A slightly longer answer is that the combination of 1) the system  being
    very non-trivial to design & implement, 2) having a few bugs in design &
    implementation and 3) the not-so-obvious way of using it sometimes being
    the best way make the thing difficult to get right for non-trivial uses.

    [...]

Yes, this matches our experience trying to do similar things, as well.
I ended up spending a lot of time doing trial and error development
(thank God for incremental compilation!) until I had all of the
incantations (roughly) correct.  I would hate to be forced to explain
why each line of code is the way it ended up.  The only answer, a lot of
the time, would be that it's because it seems to work!  We've gotten
this part of our system to a state we can live with (for now) and are
anxiously awaiting the arrival of CLIM, hoping that this will improve
the situation.  If you can hold out a while longer, my best advice would
be to wait for CLIM.