[comp.lang.pascal] Graphics with Turbo Pascal 4.0

milne@ics.uci.edu (Alastair Milne) (08/09/88)

   I work for a University of California software project that develops
   state-of-the-art educational software.  We are in the process of moving our
   software support into Turbo Pascal from a Pascal environment in a different
   operating system.  However, we are encountering a particular problem with 
   Turbo's graphics support that gives us a considerable hindrance:

   There appears to be no control of drawing logic for line or arc drawing.

   In our present system, a line or arc can be drawn:
   - by replacing every pixel lying on the line with a new value,
     no matter its original value;
   - or by giving each of those pixels a new value which is the exclusive or
     of its original value and the foreground colour value in which the line 
     is being drawn.

   The latter is very useful for drawing things onto an existing display, then
   undrawing them later with the original display remaining intact underneath.
   We use this for many things, but particularly for letting our screen
   support use as a graphics input device a small flashing crosshairs that the
   user can manipulate with the cursor keys to point to a place on the screen.  
   Using XOr logic for drawing this lets it move anywhere, over anything 
   already drawn, and damage none of it.

   These varieties of drawing logic (and several more ) are all supplied for 
   the Graph procedure PutImage.  They are *not* supplied (anywhere I can 
   find) for line drawing.

   1.  Why not !!??

   2.  How has this problem been handled by other groups using graphics
       with different types of drawing logic?

   We are eager to get our screen support up and tested under Turbo,
   but this lack of a fundamental capability is a real hindrance to us.
   Any assistance would be much appreciated.


   Thanks in advance,

   Alastair Milne
   Educational Technology Center,
   U.C. Irvine

du>@adm.ARPA (08/10/88)

> There appears to be no control of drawing logic for line or arc drawing.

Look at the description of PutImage in the Turbo manual.  It allows
you to display a saved bitmap using MOV, OR, XOR, AND and NOT operations.
It seems like this should be adequate for showing crosshairs.

Rich Winkel