home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff339.lzh / PCQ / Include / Graphics.i < prev    next >
Text File  |  1990-03-19  |  6KB  |  246 lines

  1. {
  2.     Graphics.i
  3.         This is the include file needed to use graphics routines
  4.     from PCQ Pascal.  Before you use any of these routines, be
  5.     sure to open the Graphics library and get a valid library pointer into
  6.     GfxBase.
  7. }
  8.  
  9. {$I "Include/Ports.i" solely for the Message structure in TextFont }
  10.  
  11. const
  12.     JAM1 = 0;
  13.     JAM2 = 1;
  14.     COMPLEMENT = 2;
  15.     INVERSEVID = 4;
  16.  
  17. type
  18.     Rectangle = record
  19.     MinX,MinY,
  20.     MaxX,MaxY : Short;
  21.     end;
  22.     RectanglePtr = ^Rectangle;
  23.  
  24.     RegionRectangle = record
  25.     Next,
  26.     Prev    : ^RegionRectangle;
  27.     Bounds    : Rectangle;
  28.     end;
  29.     RegionRecPtr = ^RegionRectangle;
  30.  
  31.     Region = record
  32.     Bounds : Rectangle;
  33.     RegionRec : RegionRecPtr;
  34.     end;
  35.     RegionPtr = ^Region;
  36.  
  37.     TmpRas = record
  38.     rasPtr : Address;
  39.     size   : Integer;
  40.     end;
  41.     TmpRasPtr = ^TmpRas;
  42.  
  43.     PlanePtr = Address;
  44.  
  45.     BitMap = record
  46.     BytesPerRow : Short;
  47.     Rows        : Short;
  48.     Flags        : Byte;
  49.     Depth        : Byte;
  50.     Pad        : Short;
  51.     Planes        : array [0..7] of PlanePtr;
  52.     end;
  53.     BitMapPtr = ^BitMap;
  54.  
  55.     RastPort = record
  56.     layer    : Address;
  57.     bitMap   : BitMapPtr;
  58.     AreaPtrn : ^Short;
  59.     tmpRas   : TmpRasPtr;
  60.     areaInfo : Address;
  61.     gelsInfo : Address;
  62.     Mask     : Byte;
  63.     FgPen    : Byte;
  64.     BgPen    : Byte;
  65.     AOlPen   : Byte;
  66.     DrawMode : Byte;
  67.     AreaPtSz : Byte;
  68.     linpatcnt: Byte;
  69.     Flags    : Short;
  70.     LinePtrn : Short;
  71.     cpx      : Short;
  72.     cpy      : Short;
  73.     minterms : Array [0..7] of Byte;
  74.     PenWidth : Short;
  75.     PenHeight: Short;
  76.     Font     : Address;
  77.     AlgoStyle: Byte;
  78.     TxFlags  : Byte;
  79.     TxHeight : Short;
  80.     TxWidth  : Short;
  81.     TxBaseline : Short;
  82.     TxSpacing : Short;
  83.     RPUser   : Integer;
  84.     wordreserved : array [0..6] of Short;
  85.     longreserved : array [0..1] of Integer;
  86.     reserved : array [0..7] of Byte;
  87.     end;
  88.     RastPortPtr = ^RastPort;
  89.  
  90. var
  91.     GfxBase    : Address;
  92.  
  93. Procedure AddAnimOb(anOb, anKey : Address; rp : RastPortPtr);
  94.     External;
  95.  
  96. Procedure AddBob(bobp : Address; rp : RastPortPtr);
  97.     External;
  98.  
  99. Procedure AddVSprite(vs : Address; rp : RastPortPtr);
  100.     External;
  101.  
  102. Function AllocRaster(w, h : Integer): PlanePtr;
  103.     External;
  104.  
  105. Procedure AndRectRegion(reg : RegionPtr; rec : RectanglePtr);
  106.     External;
  107.  
  108. Function AndRegionRegion(reg1, reg2 : RegionPtr) : Boolean;
  109.     External;
  110.  
  111. Procedure Animate(anKey : Address; rp : RastPortPtr);
  112.     External;
  113.  
  114. Function AreaCircle(rp : RastPortPtr; cx, cy, radius : Short) : Integer;
  115.     External;
  116.  
  117. Function AreaDraw(r : RastPortPtr; x, y : Integer): Integer;
  118.     External;
  119.  
  120. Function AreaEllipse(rp : RastPortPtr; cx, cy, a, b : Short) : Integer;
  121.     External;
  122.  
  123. Function AreaEnd(r : RastPortPtr) : Integer;
  124.     External;
  125.  
  126. Function AreaMove(r : RastPortPtr; x, y : Integer): Integer;
  127.     External;
  128.  
  129. Function AttemptLockLayerRom(ly : Address) : Boolean;
  130.     External;
  131.  
  132. Function BltBitMap(Src : BitMapPtr; SrcX, SrcY : Short;
  133.            Dest: BitMapPtr; DstX, DstY : Short;
  134.            SizeX, SizeY : Short; MinTerm : Byte;
  135.            Mask : Byte; TempA : Address) : Integer;
  136.     External;
  137.  
  138. Procedure BltBitMapRastPort(srcbm : BitMapPtr; SrcX, SrcY : Short;
  139.             destrp : RastPortPtr; DestX, DestY : Short;
  140.             SizeX, SizeY : Short; Minterm : Byte);
  141.     External;
  142.  
  143. Procedure BltClear(m : Address; c : Integer; f : Integer);
  144.     External;
  145.  
  146. Procedure BltMaskBitMapRastPort(srcbm : BitMapPtr; SrcX, SrcY : Short;
  147.             destrp : RastPortPtr; DestX, DestY : Short;
  148.             SizeX, SizeY : Short; minterm : Byte;
  149.             bltmask : Address);
  150.     External;
  151.  
  152. Procedure BltPattern(rp : RastPortPtr; Mask : Address; xl, yl : Short;
  153.             maxx, maxy, bytecount : Short);
  154.     External;
  155.  
  156. Procedure BltTemplate(SrcTemplate : Address; SrcX, SrcMod : Short;
  157.             rp : RastPortPtr; DstX, DstY, SizeX, SizeY : Short);
  158.     External;
  159.  
  160. Procedure ChangeSprite(vp : Address; s : Address; newdata : Address);
  161.     External;
  162.  
  163. Function ClearRectRegion(reg : RegionPtr; rec : RectanglePtr) : Boolean;
  164.     External;
  165.  
  166. Procedure ClearRegion(reg : RegionPtr);
  167.     External;
  168.  
  169. Procedure ClipBlit(Src : RastPortPtr; SrcX, SrcY : Short;
  170.         Dest : RastPortPtr; DestX, DestY : Short;
  171.         XSize, YSize : Short; Minterm : Byte);
  172.     External;
  173.  
  174. Procedure CopySBitMap(lyr : Address);
  175.     External;
  176.  
  177. Procedure DisownBlitter;
  178.     External;
  179.  
  180. Procedure Draw(r : RastPortPtr; x, y : Integer);
  181.     External;
  182.  
  183. Procedure DrawCircle(rp : RastPortPtr; x, y, r : Short);
  184.     External;
  185.  
  186. Procedure DrawEllipse(rp : RastPortPtr; x, y, a, b : Short);
  187.     External;
  188.  
  189. Procedure Flood(r : RastPortPtr; f, x, y : Integer);
  190.     External;
  191.  
  192. Procedure FreeRaster(p : PlanePtr; w, h : Integer);
  193.     External;
  194.  
  195. Procedure InitBitMap(b : BitMapPtr; d, w, h : Integer);
  196.     External;
  197.  
  198. Procedure InitRastPort(r : RastPortPtr);
  199.     External;
  200.  
  201. Procedure Move(r : RastPortPtr; x, y : Integer);
  202.     External;
  203.  
  204. Procedure OwnBlitter;
  205.     External;
  206.  
  207. Procedure PolyDraw(r : RastPortPtr; c : Integer; a : Address);
  208.     External;
  209.  
  210. Function ReadPixel(r : RastPortPtr; x, y : Integer): Integer;
  211.     External;
  212.  
  213. Procedure RectFill(r : RastPortPtr; xn, yn, xx, yx : Integer);
  214.     External;
  215.  
  216. Procedure ScrollRaster(r : RastPortPtr; dx, dy, xn, yn, xx, yx : Integer);
  217.     External;
  218.  
  219. Procedure ScrollVPort(vp : Address);
  220.     External;
  221.  
  222. Procedure SetAPen(r : RastPortPtr; p : Integer);
  223.     External;
  224.  
  225. Procedure SetBPen(r : RastPortPtr; p : Integer);
  226.     External;
  227.  
  228. Procedure SetDrMd(r : RastPortPtr; m : Integer);
  229.     External;
  230.  
  231. Procedure SetRast(r : RastPortPtr; p : Integer);
  232.     External;
  233.  
  234. Procedure SetRGB4(p : Address; n, r, g, b : Integer);
  235.     External;
  236.  
  237. Function VBeamPos() : Integer;
  238.     External;
  239.  
  240. Procedure WaitTOF;
  241.     External;
  242.  
  243. Procedure WritePixel(r : RastPortPtr; x, y : Integer);
  244.     External;
  245.  
  246.