
QuickDraw                                             
================================================================

What follows is a list of all valid QuickDraw calls.  They are
listed in groups that perform similar functions.  Some notes 
follow the listing.


Main Calls:      (Explained below)

   PROCEDURE InitDraw(width, height : integer);
   PROCEDURE InitDraw4(width, height, x, y : integer);
   PROCEDURE ClearAll;
   PROCEDURE GetDrawingRect(VAR sizeOfWindow : Rect);
   PROCEDURE DrawGrid(spacing : integer);
   PROCEDURE QuitDraw;


Calculation Calls:

   PROCEDURE SetPt(VAR pointToSet : Point; x, y :  integer);
   PROCEDURE SetRect(VAR rectToSet : Rect; left, top, right, bot : integer);
   PROCEDURE OffsetRect(VAR rectToOffset : Rect; dh, dv : integer);
   PROCEDURE InsetRect(VAR rectToInset : Rect; dh, dv : integer);
   FUNCTION  PtInRect(checkPoint : Point; checkRect : Rect): boolean;


Color Calls:

   PROCEDURE SetColor(colorToSet : integer);
      Valid Colors:  whiteColor, blackColor, redColor, greenColor, 
                     blueColor, magentaColor, cyanColor, yellowColor
      Example:  SetColor( whiteColor );
   PROCEDURE PenPat(pattern : integer);
      Valid Patterns: gray, ltGray, dkGray, black
      Other Patterns: white
      Note: NEVER use white.
      Example:  PenPat( gray );


Miscellaneous Calls:

   FUNCTION  Random : integer;
   PROCEDURE Randomize(seed : integer);
   PROCEDURE WaitDraw(seconds : integer);


Query Calls:

   FUNCTION  Button : boolean;
   PROCEDURE GetMouse(VAR x, y : integer)
   PROCEDURE GetMousePt(VAR pt : Point)


Setting Calls:

   PROCEDURE SetLineWidth(lineWidth : integer);
   PROCEDURE GetLineWidth(VAR lineWidth : integer);
   PROCEDURE SetLineStyle(style : integer);
   PROCEDURE GetLineStyle(VAR : integer);
      Valid Line Styles:  LINE_STYLE__SOLID, LINE_STYLE__ON_OFF_DASH, 
                          LINE_STYLE__DOUBLE_DASH   
      Example:  SetLineStyle( LINE_STYLE__SOLID );

   PROCEDURE PenMode(mode : integer);
   PROCEDURE GetPenMode(VAR mode : integer);
     Valid Pen Modes:  patCopy, patXor   Example:  PenMode( patXor );

   PROCEDURE SetFont(font : integer);
   PROCEDURE GetFont(VAR font : integer);
     Valid Fonts:  FONT__SMALL, FONT__MEDIUM, FONT__LARGE, FONT__LARGEST
     Example:  SetFont( FONT__LARGE );


Shape Calls:

   PROCEDURE DrawLine(p1, p2 : Point);
   PROCEDURE EraseLine(p1, p2 : Point);
   PROCEDURE FrameRect(rectToFrame : Rect);
   PROCEDURE PaintRect(rectToPaint : Rect);
   PROCEDURE InvertRect(rectToInvert : Rect);
   PROCEDURE EraseRect(rectToErase : Rect);
   PROCEDURE FrameOval(ovalToFrame : Rect);
   PROCEDURE PaintOval(ovalToPaint : Rect);
   PROCEDURE InvertOval(ovalToInvert : Rect);
   PROCEDURE EraseOval(ovalToErase : Rect);
   PROCEDURE FrameArc(arcToFrame: Rect;  startAng, angSize : integer);
   PROCEDURE PaintArc(arcToPaint: Rect;  startAng, angSize : integer);
   PROCEDURE InvertArc(arcToInvert: Rect;  startAng, angSize : integer);
   PROCEDURE EraseArc(arcToErase: Rect;  startAng, angSize : integer);
   PROCEDURE PaintCircle(x, y, radius : inteer);
   PROCEDURE FrameCircle(x, y, radius : inteer);
   PROCEDURE EraseCircle(x, y, radius : inteer);


Line Calls:
   
   PROCEDURE MoveTo(x, y : integer);
   PROCEDURE LineTo(x, y : integer);


Text Calls:

   PROCEDURE DrawString(str : string; x, y : integer);
   PROCEDURE QueryStringSize(str : string; VAR width, height : integer);


Initialization Notes:

   InitDraw creates the QuickDraw Window in which all of the other 
      commands act.  If width and height are specified as 0 (zero), 
      the size of the window will be specified by the user.  
   ClearAll clears the QuickDraw display. 
   DrawGrid draws a grid of specified spacing.  This is useful for
      laying out graphics in the window.  
   GetDrawingRect returns the size of the QuickDraw Window as a rect.  
      This is useful in conjunction with the zero height/width option 
      of InitDraw.  
   QuitDraw closes the display created by the InitDraw call.

   
Possible Errors:

   1) Call QuickDraw routines without InitDraw (initilizing).
   2) Call QuitDraw when no InitDraw precedes it.
   3) Try to REinitilize QuickDraw. (InitDraw in succession)
   4) Try to use/create a Rect that is illegal.
   5) Send bad paramaters to the Set procedures.


See Also:       Pascal Keyword Help
