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

Graphical presentations



The Question:  Do I have to resort to Release 6.0-style graphics and
               mouse sensitivity?

Here's the idea.  I want to develop a system that lets me assemble
graphical representations of mechanical devices.  This system needs to
be able to take "standard" parts from some library and then dynamically
shape and move these parts onto some area of the screen.  As a result, I
require the following behaviors:

	1) When moving a chunk of graphics (1i.e.0 a mechanical part) over
           the screen, it must 1not0 erase other graphics.

	2) Graphics should 1not0 flicker.

	3) Graphics must have semantics.

	4) The system should feel interactive, 1not0 batch-oriented.
           (read: I want speed).

The answer to (3) seems easy:  "use presentations."  I've been able to
satisfy requirements 2, 3, and 4 by using

	2graphics:with-output-as-graphics-presentation
	graphics:replacing-graphics-presentation

0and some other goodies.  Much to my dismay, I have not been able to
control the ALU function with which these routines draw graphics.  Even
worse, it appears as though these functions use 2tv:alu-ior0 (or
2tv:alu-seta0) on all bits that fall within a bounding rectangle for their
presentation.  Hence, requirement (1) is not satisfied.  As I move a
graphical presentation around the screen, it acts like an eraser,
removing all graphics in its path.  When I finally hit <refresh>, the
display is still blotchy -- lots of whitespace is created by the
"invisible" bounding rectangles.  Has anyone figured a way to avoid this
problem?

A simple solution might use 2tv:alu-xor0 as a drawing ALU for these
presentations, if that is at all possible.  The question is, where is
the code that needs patching?  I'm still waiting for the basic sources
to arrive.

Thanks!
Scott