home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / MODULAV2GERMAN.DMS / in.adf / Def.zoo / Graphics.def < prev    next >
Encoding:
Modula Definition  |  1988-11-27  |  21.3 KB  |  794 lines

  1. DEFINITION MODULE Graphics {"graphics.library", 33};
  2.  
  3. FROM SYSTEM IMPORT
  4.  ADDRESS,BITSET,BYTE,LONGSET,WORD;
  5. FROM Hardware IMPORT
  6.  BltnodePtr;
  7. FROM Exec IMPORT
  8.  Interrupt,Library,List,Message,MinList,Node,SignalSemaphore,
  9.  SignalSemaphorePtr,TaskPtr,UByte;
  10.  
  11. TYPE
  12.  AnimCompPtr=POINTER TO AnimComp;
  13.  AnimObPtr=POINTER TO AnimOb;
  14.  AreaInfoPtr=POINTER TO AreaInfo;
  15.  BitMapPtr=POINTER TO BitMap;
  16.  BobPtr=POINTER TO Bob;
  17.  ClipRectPtr=POINTER TO ClipRect;
  18.  CollTablePtr=POINTER TO CollTable;
  19.  ColorMapPtr=POINTER TO ColorMap;
  20.  CopinitPtr=POINTER TO Copinit;
  21.  CopInsPtr=POINTER TO CopIns;
  22.  CopListPtr=POINTER TO CopList;
  23.  CprlistPtr=POINTER TO Cprlist;
  24.  DBufPacketPtr=POINTER TO DBufPacket;
  25.  GelsInfoPtr=POINTER TO GelsInfo;
  26.  IsrvstrPtr=POINTER TO IsrvstrPtr;
  27.  LayerPtr=POINTER TO Layer;
  28.  LayerInfoPtr=POINTER TO LayerInfo;
  29.  RasInfoPtr=POINTER TO RasInfo;
  30.  RastPortPtr=POINTER TO RastPort;
  31.  RectanglePtr=POINTER TO Rectangle;
  32.  RegionPtr=POINTER TO Region;
  33.  RegionRectanglePtr=POINTER TO RegionRectangle;
  34.  SimpleSpritePtr=POINTER TO SimpleSprite;
  35.  TextAttrPtr=POINTER TO TextAttr;
  36.  TextFontPtr=POINTER TO TextFont;
  37.  TmpRasPtr=POINTER TO TmpRas;
  38.  UCopListPtr=POINTER TO UCopList;
  39.  ViewPtr=POINTER TO View;
  40.  ViewPortPtr=POINTER TO ViewPort;
  41.  VSpritePtr=POINTER TO VSprite;
  42.  
  43.  Rectangle=RECORD
  44.   minX:INTEGER;
  45.   minY:INTEGER;
  46.   maxX:INTEGER;
  47.   maxY:INTEGER;
  48.  END;
  49.  Layer=RECORD
  50.   front:LayerPtr;
  51.   back:LayerPtr;
  52.   clipRect:ClipRectPtr;
  53.   rp:RastPortPtr;
  54.   bounds:Rectangle;
  55.   reserved:ARRAY [0..3] OF BYTE;
  56.   priority:CARDINAL;
  57.   flags:CARDINAL;
  58.   superBitMap:BitMapPtr;
  59.   superClipRect:ClipRectPtr;
  60.   window:ADDRESS;
  61.   scrollX:INTEGER;
  62.   scrollY:INTEGER;
  63.   cr:ClipRectPtr;
  64.   cr2:ClipRectPtr;
  65.   crnew:ClipRectPtr;
  66.   superSaveClipRects:ClipRectPtr;
  67.   cliprects:ClipRectPtr;
  68.   layerInfo:LayerInfoPtr;
  69.   lock:SignalSemaphore;
  70.   reserved3:ARRAY [0..7] OF BYTE;
  71.   clipRegion:RegionPtr;
  72.   saveClipRects:RegionPtr;
  73.   reserved2:ARRAY [0..21] OF BYTE;
  74.   damageList:RegionPtr;
  75.  END;
  76.  ClipRect=RECORD
  77.   next:ClipRectPtr;
  78.   prev:ClipRectPtr;
  79.   lobs:LayerPtr;
  80.   bitMap:BitMapPtr;
  81.   bounds:Rectangle;
  82.   p1:ClipRectPtr;
  83.   p2:ClipRectPtr;
  84.   reserved:LONGINT;
  85.   flags:LONGINT;
  86.  END;
  87.  
  88. CONST
  89.  needsNoConcealedRasters=01H; 
  90.  isLessX=1;
  91.  isLessY=2;
  92.  isGrtrX=4;
  93.  isGrtrY=8;
  94.  borderHit=0;
  95.  topHit=1;
  96.  bottomHit=2;
  97.  leftHit=4;
  98.  rightHit=8;
  99.  
  100. CONST
  101.  move=0;
  102.  wait=1;
  103.  next=2;
  104.  sht=14;
  105.  lof=15;
  106.  
  107. TYPE
  108.  CopIns=RECORD
  109.   CASE opCode:CARDINAL OF
  110.   | move:
  111.    destAddr:INTEGER;
  112.    destData:INTEGER;
  113.   | wait:
  114.    vWaitPos:INTEGER;
  115.    hWaitPos:INTEGER;
  116.   | next:
  117.    nxtlist:CopListPtr;
  118.   END;
  119.  END;
  120.  Cprlist=RECORD
  121.   next:CprlistPtr;
  122.   start:ADDRESS;
  123.   maxCount:INTEGER;
  124.  END;
  125.  CopList=RECORD
  126.   next:CopListPtr;
  127.   copList:CopListPtr;
  128.   viewPort:ViewPortPtr;
  129.   copIns:CopInsPtr;
  130.   copPtr:CopInsPtr;
  131.   copLStart:ADDRESS;
  132.   copSStart:ADDRESS;
  133.   count:INTEGER;
  134.   maxCount:INTEGER;
  135.   dyOffset:INTEGER;
  136.  END;
  137.  UCopList=RECORD
  138.   next:UCopListPtr;
  139.   firstCopList:CopListPtr;
  140.   copList:CopListPtr;
  141.  END;
  142.  Copinit=RECORD
  143.   diagstrt:ARRAY [0..3] OF CARDINAL;
  144.   sprstrtup:ARRAY [0..(2*8*2)+2+(2*2)+2-1] OF CARDINAL;
  145.   sprstop:ARRAY [0..1] OF CARDINAL;
  146.  END;
  147.  
  148. CONST
  149.  interlace=04H;
  150.  pf2pri=40H;
  151.  colorOn=200H;
  152.  dblpf=400H;
  153.  holdnmodify=800H;
  154.  m640=08000H;
  155.  plnCntMsk=07H;
  156.  plnCntShft=12;
  157.  
  158.  fineScroll=0FH;
  159.  fineScrollShift=04H;
  160.  fineScrollMask=0FH;
  161.  vrtclPos=01FFH;
  162.  vrtclPosShift=07H;
  163.  horizPos=07FH;
  164.  dftchMask=0FFH;
  165.  vposrlof=08000H;
  166.  
  167.  ringtrigger=01H;
  168.  anfracsize=06H;
  169.  animhalf=020H;
  170.  
  171.  b2Norm=0;
  172.  b2Swap=1;
  173.  b2Bobber=2;
  174.  
  175. TYPE
  176.  VSpriteFlags=(vsprite,saveBack,overlay,mustDraw,vf4,vf5,vf6,vf7,backSaved,
  177.   bobUpdate,gelGone,vsOverflow);
  178.  VSpriteFlagSet=SET OF VSpriteFlags;
  179.  VSprite=RECORD
  180.   nextVSprite:VSpritePtr;
  181.   prevVSprite:VSpritePtr;
  182.   drawPath:VSpritePtr;
  183.   clearPath:VSpritePtr;
  184.   oldY:INTEGER;
  185.   oldX:INTEGER;
  186.   flags:VSpriteFlagSet;
  187.   y:INTEGER;
  188.   x:INTEGER;
  189.   height:INTEGER;
  190.   width:INTEGER;
  191.   depth:INTEGER;
  192.   meMask:BITSET;
  193.   hitMask:BITSET;
  194.   imageData:ADDRESS;
  195.   borderLine:ADDRESS;
  196.   collMask:ADDRESS;
  197.   sprColors:ADDRESS;
  198.   vsBob:BobPtr;
  199.   planePick:UByte;
  200.   planeOnOff:UByte;
  201.  END;
  202.  BobFlags=(
  203.   saveBob,bobIsComp,bf2,bf3,bf4,bf5,bf6,bf7,
  204.   bWaiting,bDrawn,bobsAway,bobNix,savePreserve,outStep
  205.  );
  206.  BobFlagSet=SET OF BobFlags;
  207.  Bob=RECORD
  208.   flags:BobFlagSet;
  209.   saveBuffer:ADDRESS;
  210.   imageShadow:ADDRESS;
  211.   before:BobPtr;
  212.   after:BobPtr;
  213.   bobVSprite:VSpritePtr;
  214.   bobComp:AnimCompPtr;
  215.   dBuffer:DBufPacketPtr;
  216.  END;
  217.  AnimComp=RECORD
  218.   flags:INTEGER;
  219.   timer:INTEGER;
  220.   timeSet:INTEGER;
  221.   nextComp:AnimCompPtr;
  222.   prevComp:AnimCompPtr;
  223.   nextSeq:AnimCompPtr;
  224.   prevSeq:AnimCompPtr;
  225.   animCRoutine:ADDRESS;
  226.   yTrans:INTEGER;
  227.   xTrans:INTEGER;
  228.   headOb:AnimObPtr;
  229.   animBob:BobPtr;
  230.  END;
  231.  AnimOb=RECORD
  232.   nextOb:AnimObPtr;
  233.   prevOb:AnimObPtr;
  234.   clock:LONGINT;
  235.   anOldY:INTEGER;
  236.   anOldX:INTEGER;
  237.   anY:INTEGER;
  238.   anX:INTEGER;
  239.   yVel:INTEGER;
  240.   xVel:INTEGER;
  241.   yAccel:INTEGER;
  242.   xAccel:INTEGER;
  243.   ringYTrans:INTEGER;
  244.   ringXTrans:INTEGER;
  245.   animORoutine:ADDRESS;
  246.   headComp:AnimCompPtr;
  247.  END;
  248.  DBufPacket=RECORD
  249.   bufY:INTEGER;
  250.   bufX:INTEGER;
  251.   bufPath:VSpritePtr;
  252.   bufBuffer:ADDRESS;
  253.  END;
  254.  CollTable=RECORD
  255.   collPtrs:ARRAY [0..15] OF ADDRESS
  256.  END;
  257.  BitMap=RECORD
  258.   bytesPerRow:CARDINAL;
  259.   rows:CARDINAL;
  260.   flags:UByte;
  261.   depth:UByte;
  262.   pad:CARDINAL;
  263.   planes:ARRAY [0..7] OF ADDRESS;
  264.  END;
  265.  DisplayFlags=(ntsc,genloc,pal);
  266.  DisplayFlagSet=SET OF DisplayFlags;
  267.  GfxBase=RECORD
  268.   libNode:Library;
  269.   actiView:ViewPtr;
  270.   copinit:CopinitPtr;
  271.   cia:ADDRESS;
  272.   blitter:ADDRESS;
  273.   loFlist:ADDRESS;
  274.   shFlist:ADDRESS;
  275.   blthd:BltnodePtr;
  276.   blttl:BltnodePtr;
  277.   bsblthd:BltnodePtr;
  278.   bsblttl:BltnodePtr;
  279.   vbsrv:Interrupt;
  280.   timsrv:Interrupt;
  281.   bltsrv:Interrupt;
  282.   textFonts:List;
  283.   defaultFont:TextFontPtr;
  284.   modes:BITSET;
  285.   vBlank:UByte;
  286.   debug:BYTE;
  287.   beamSync:INTEGER;
  288.   bplcon0:BITSET;
  289.   spriteReserved:UByte;
  290.   bytereserved:BYTE;
  291.   flags:BITSET;
  292.   blitLock:INTEGER;
  293.   blitNest:INTEGER;
  294.   blitWaitQ:List;
  295.   blitOwner:TaskPtr;
  296.   waitQ:List;
  297.   displayFlags:DisplayFlagSet;
  298.   simpleSprites:ADDRESS;
  299.   maxDisplayRow:CARDINAL;
  300.   maxDisplayColumn:CARDINAL;
  301.   normalDisplayRows:CARDINAL;
  302.   normalDisplayColumns:CARDINAL;
  303.   normalDPMX:CARDINAL;
  304.   normalDPMY:CARDINAL;
  305.   lastChanceMemory:SignalSemaphorePtr;
  306.   lcMptr:ADDRESS;
  307.   microsPerLine:CARDINAL;
  308.   reserved:ARRAY [0..1] OF LONGCARD;
  309.  END;
  310.  GfxBasePtr=POINTER TO GfxBase;
  311.  
  312. CONST
  313.  blitMsgFault=4;
  314.  
  315. TYPE
  316.  Isrvstr=RECORD
  317.   node:Node;
  318.   iptr:IsrvstrPtr;
  319.   code:ADDRESS;
  320.   ccode:ADDRESS;
  321.   carg:INTEGER;
  322.  END;
  323.  LayerFlags=(
  324.   layerSimple,layerSmart,layerSuper,lf3,layerUpdating,lf5,
  325.   layerBackdrop,layerRefresh,layerClipRectsLost
  326.  );
  327.  LayerFlagSet=SET OF LayerFlags;
  328.  LayerInfo=RECORD
  329.   layer:LayerPtr;
  330.   lp:LayerPtr;
  331.   obs:LayerPtr;
  332.   freeClipRects:MinList;
  333.   lock:SignalSemaphore;
  334.   head:List;
  335.   longreserved:LONGINT;
  336.   flags:LayerFlagSet;
  337.   count:UByte;
  338.   lockLayersCount:UByte;
  339.   layerInfoExtraSize:CARDINAL;
  340.   blitbuff:ADDRESS;
  341.   layerInfoExtra:ADDRESS;
  342.  END;
  343.  
  344. CONST
  345.  lmnRegion=-1;
  346.  newLayerInfoCalled=01H;
  347.  alertLayersNoMem=083010000H;
  348.  
  349. TYPE
  350.  AreaInfo=RECORD
  351.   vctrTbl:ADDRESS;
  352.   vctrPtr:ADDRESS;
  353.   flagTbl:ADDRESS;
  354.   flagPtr:ADDRESS;
  355.   count:INTEGER;
  356.   maxCount:INTEGER;
  357.   firstX:INTEGER;
  358.   firstY:INTEGER;
  359.  END;
  360.  TmpRas=RECORD
  361.   rasPtr:ADDRESS;
  362.   size:LONGINT;
  363.  END;
  364.  GelsInfo=RECORD
  365.   sprRsrvd:BYTE;
  366.   flags:BYTE;
  367.   gelHead:VSpritePtr;
  368.   gelTail:VSpritePtr;
  369.   nextLine:ADDRESS;
  370.   lastColor:ADDRESS;
  371.   collHandler:CollTablePtr;
  372.   leftmost:INTEGER;
  373.   rightmost:INTEGER;
  374.   topmost:INTEGER;
  375.   bottommost:INTEGER;
  376.   firstBlissObj:ADDRESS;
  377.   lastBlissObj:ADDRESS;
  378.  END;
  379.  DrawModes=(dm0,complement,inversvid);
  380.  DrawModeSet=SET OF DrawModes;
  381.  FontStyles=(underlined,bold,italic,extended);
  382.  FontStyleSet=SET OF FontStyles;
  383.  FontFlags=(
  384.   romFont,diskFont,revPath,tallDot,wideDot,proportional,
  385.   designed,removed
  386.  );
  387.  FontFlagSet=SET OF FontFlags;
  388.  RastPortFlags=(
  389.  firstDot,oneDot,dBuffer,areaOutline,rpf4,noCrossFill,
  390.   rpf6,rpf7,rpf8
  391.  );
  392.  RastPortFlagSet=SET OF RastPortFlags;
  393.  RastPort=RECORD
  394.   layer:LayerPtr;
  395.   bitMap:BitMapPtr;
  396.   areaPtrn:ADDRESS;
  397.   tmpRas:TmpRasPtr;
  398.   areaInfo:AreaInfoPtr;
  399.   gelsInfo:GelsInfoPtr;
  400.   mask:UByte;
  401.   fgPen:UByte;
  402.   bgPen:UByte;
  403.   aOlPen:UByte;
  404.   drawMode:DrawModeSet;
  405.   areaPtSz:UByte;
  406.   linPatCnt:UByte;
  407.   dummy:BYTE;
  408.   flags:RastPortFlagSet;
  409.   linePtrn:CARDINAL;
  410.   x:INTEGER;
  411.   y:INTEGER;
  412.   minterms:ARRAY [0..7] OF BYTE;
  413.   penWidth:INTEGER;
  414.   penHeight:INTEGER;
  415.   font:TextFontPtr;
  416.   algoStyle:FontStyleSet;
  417.   txFlags:FontFlagSet;
  418.   txHeight:CARDINAL;
  419.   txWidth:CARDINAL;
  420.   txBaseline:CARDINAL;
  421.   txSpacing:INTEGER;
  422.   user:ADDRESS;
  423.   longreserved:ARRAY [0..1] OF LONGINT;
  424.   wordreserved:ARRAY [0..6] OF WORD;
  425.   reserved:ARRAY [0..7] OF BYTE;
  426.  END;
  427.  
  428. CONST
  429.  jam1=DrawModeSet{};
  430.  jam2=DrawModeSet{dm0};
  431.  spriteAttached=080H;
  432.  normalFont=FontStyleSet{};
  433.  
  434. TYPE
  435.  RegionRectangle=RECORD
  436.   next:RegionRectanglePtr;
  437.   prev:RegionRectanglePtr;
  438.   bounds:Rectangle;
  439.  END;
  440.  Region=RECORD
  441.   bounds:Rectangle;
  442.   regionRectangle:RegionRectanglePtr;
  443.  END;
  444.  SimpleSprite=RECORD
  445.   posctldata:ADDRESS;
  446.   height:CARDINAL;
  447.   x:CARDINAL;
  448.   y:CARDINAL;
  449.   num:CARDINAL;
  450.  END;
  451.  TextAttr=RECORD
  452.   name:ADDRESS;
  453.   ySize:CARDINAL;
  454.   style:FontStyleSet;
  455.   flags:FontFlagSet;
  456.  END;
  457.  TextFont=RECORD
  458.   message:Message;
  459.   ySize:CARDINAL;
  460.   style:FontStyleSet;
  461.   flags:FontFlagSet;
  462.   xSize:CARDINAL;
  463.   baseline:CARDINAL;
  464.   boldSmear:CARDINAL;
  465.   accessors:CARDINAL;
  466.   loChar:CHAR;
  467.   hiChar:CHAR;
  468.   charData:ADDRESS;
  469.   modulo:CARDINAL;
  470.   charLoc:ADDRESS;
  471.   charSpace:ADDRESS;
  472.   charKern:ADDRESS;
  473.  END;
  474.  ColorMap=RECORD
  475.   flags:UByte;
  476.   type:UByte ;
  477.   count:CARDINAL;
  478.   colorTable:ADDRESS;
  479.  END;
  480.  ViewModes=(
  481.   vm0,genlocVideo,lace,vm3,vm4,vm5,pfba,extraHalfbrite,
  482.   genlocAudio,vm9,dualpf,ham,vm12,vpHide,sprites,hires
  483.  );
  484.  ViewModeSet=SET OF ViewModes;
  485.  ViewPort=RECORD
  486.   next:ViewPortPtr;
  487.   colorMap:ColorMapPtr;
  488.   dspIns:CopListPtr;
  489.   sprIns:CopListPtr;
  490.   clrIns:CopListPtr;
  491.   uCopIns:UCopListPtr;
  492.   dWidth:INTEGER;
  493.   dHeight:INTEGER;
  494.   dxOffset:INTEGER;
  495.   dyOffset:INTEGER;
  496.   modes:ViewModeSet;
  497.   reserved:CARDINAL;
  498.   rasInfo:RasInfoPtr;
  499.  END;
  500.  View=RECORD
  501.   viewPort:ViewPortPtr;
  502.   lofCprList:CprlistPtr;
  503.   shfCprList:CprlistPtr;
  504.   dyOffset:INTEGER;
  505.   dxOffset:INTEGER;
  506.   modes:ViewModeSet;
  507.  END;
  508.  RasInfo=RECORD
  509.   next:RasInfoPtr;
  510.   bitMap:BitMapPtr;
  511.   rxOffset:INTEGER;
  512.   ryOffset:INTEGER;
  513.  END;
  514.  
  515. (*
  516.  * Die Prozeduren InitArea, InitBitMap, InitRastPort,
  517.  * InitTmpRas, InitView und InitVPort haben einen
  518.  * VAR Parameter.
  519.  *)
  520.  
  521. PROCEDURE AddAnimOb(anOb{8}:AnimObPtr;
  522.                     anKey{9}:ADDRESS;
  523.                     rp{10}:RastPortPtr); CODE -156;
  524. PROCEDURE AddBob(Bob{8}:BobPtr;
  525.                  rp{9}:RastPortPtr); CODE -96;
  526. PROCEDURE AddFont(textFont{9}:TextFontPtr); CODE -480;
  527. PROCEDURE AddVSprite(vs{8}:VSpritePtr;
  528.                      rp{9}:RastPortPtr); CODE -102;
  529. PROCEDURE AllocRaster(width{0}:CARDINAL;
  530.                       height{1}:CARDINAL):ADDRESS; CODE -492;
  531. PROCEDURE AndRectRegion(region{8}:RegionPtr;
  532.                         rectangle{9}:RectanglePtr); CODE -504;
  533. PROCEDURE AndRegionRegion(
  534.            region1{8}:RegionPtr;
  535.            region2{9}:RegionPtr):BOOLEAN; CODE -624;
  536. PROCEDURE Animate(
  537.            anKey{8}:ADDRESS; rp{9}:RastPortPtr); CODE -162;
  538. PROCEDURE AreaDraw(rp{9}:RastPortPtr;
  539.                    x{0}:INTEGER;
  540.                    y{1}:INTEGER):LONGINT; CODE -258;
  541. PROCEDURE AreaEllipse(rp{9}:RastPortPtr;
  542.                       cX{0}:INTEGER;
  543.                       cY{1}:INTEGER;
  544.                       a{2}:INTEGER;
  545.                       b{3}:INTEGER):LONGINT; CODE -186;
  546. PROCEDURE AreaEnd(rp{9}:RastPortPtr):LONGINT; CODE -264;
  547. PROCEDURE AreaMove(rp{9}:RastPortPtr;
  548.                    x{0}:INTEGER;
  549.                    y{1}:INTEGER):LONGINT; CODE -252;
  550. PROCEDURE AskFont(rp{9}:RastPortPtr;
  551.                   textAttr{8}:TextAttrPtr); CODE -474;
  552. PROCEDURE AskSoftStyle(
  553.            rp{9}:RastPortPtr):FontStyleSet; CODE -84;
  554. PROCEDURE AttemptLockLayerRom(
  555.            layer{13}:LayerPtr):BOOLEAN; CODE -654;
  556. PROCEDURE BltBitMap(srcBitMap{8}:BitMapPtr;
  557.                     srcX{0}:INTEGER;
  558.                     srcY{1}:INTEGER;
  559.                     dstBitMap{9}:BitMapPtr;
  560.                     dstX{2}:INTEGER;
  561.                     dstY{3}:INTEGER;
  562.                     sizeX{4}:INTEGER;
  563.                     sizeY{5}:INTEGER;
  564.                     minterm{6}:BYTE;
  565.                     mask{7}:BYTE;
  566.                     tempA{10}:ADDRESS):LONGCARD; CODE -30;
  567. PROCEDURE BltBitMapRastPort(srcbm{8}:BitMapPtr;
  568.                             srcX{0}:INTEGER;
  569.                             srcY{1}:INTEGER;
  570.                             destRp{9}:RastPortPtr;
  571.                             destX{2}:INTEGER;
  572.                             destY{3}:INTEGER;
  573.                             sizeX{4}:INTEGER;
  574.                             sizeY{5}:INTEGER;
  575.                             minterm{6}:BYTE); CODE -606;
  576. PROCEDURE BltClear(memBlock{9}:ADDRESS;
  577.                    bytecount{0}:LONGCARD;
  578.                    flags{1}:LONGCARD); CODE -300;
  579. PROCEDURE BltMaskBitMapRastPort(
  580.            srcbm{8}:BitMapPtr;
  581.            srcX{0}:INTEGER;
  582.            srcY{1}:INTEGER;
  583.            destRp{9}:RastPortPtr;
  584.            destX{2}:INTEGER;
  585.            destY{3}:INTEGER;
  586.            sizeX{4}:INTEGER;
  587.            sizeY{5}:INTEGER;
  588.            minterm{6}:BYTE;
  589.            bltmask{10}:ADDRESS); CODE -636;
  590. PROCEDURE BltPattern(rp{9}:RastPortPtr;
  591.                      mask{8}:ADDRESS;
  592.                      xl{0}:INTEGER;
  593.                      yl{1}:INTEGER;
  594.                      maxX{2}:INTEGER;
  595.                      maxY{3}:INTEGER;
  596.                      bytecnt{4}:INTEGER); CODE -312;
  597. PROCEDURE BltTemplate(srcTemplate{8}:ADDRESS;
  598.                       srcX{0}:INTEGER;
  599.                       srcMod{1}:INTEGER;
  600.                       rp{9}:RastPortPtr;
  601.                       dstX{2}:INTEGER;
  602.                       dstY{3}:INTEGER;
  603.                       sizeX{4}:INTEGER;
  604.                       sizeY{5}:INTEGER); CODE -36;
  605. PROCEDURE CBump(c{9}:UCopListPtr); CODE -366;
  606. PROCEDURE ChangeSprite(vp{8}:ViewPortPtr;
  607.                        s{9}:SimpleSpritePtr;
  608.                        newdata{10}:ADDRESS); CODE -420;
  609. PROCEDURE ClearEOL(rp{9}:RastPortPtr); CODE -42;
  610. PROCEDURE ClearRectRegion(
  611.            region{8}:RegionPtr;
  612.            rectangle{9}:RectanglePtr):LONGINT; CODE -522;
  613. PROCEDURE ClearRegion(region{8}:RegionPtr); CODE -528;
  614. PROCEDURE ClearScreen(rp{9}:RastPortPtr); CODE -48;
  615. PROCEDURE ClipBlit(src{8}:RastPortPtr;
  616.                    srcX{0}:INTEGER;
  617.                    srcY{1}:INTEGER;
  618.                    dest{9}:RastPortPtr;
  619.                    destX{2}:INTEGER;
  620.                    destY{3}:INTEGER;
  621.                    xSize{4}:INTEGER;
  622.                    ySize{5}:INTEGER;
  623.                    minterm{6}:BYTE); CODE -552;
  624. PROCEDURE CloseFont(font{9}:TextFontPtr); CODE -78;
  625. PROCEDURE CMove(c{9}:UCopListPtr;
  626.                 a{0}:ADDRESS;
  627.                 v{1}:INTEGER); CODE -372;
  628. PROCEDURE CopySBitMap(layer{8}:LayerPtr); CODE -450;
  629. PROCEDURE CWait(c{9}:UCopListPtr;
  630.                 v{0}:INTEGER;
  631.                 h{1}:INTEGER); CODE -378;
  632. PROCEDURE DisownBlitter(); CODE -462;
  633. PROCEDURE DisposeRegion(region{8}:RegionPtr); CODE -534;
  634. PROCEDURE DoCollision(rp{9}:RastPortPtr); CODE -108;
  635. PROCEDURE Draw(rp{9}:RastPortPtr;
  636.                x{0}:INTEGER;
  637.                y{1}:INTEGER); CODE -246;
  638. PROCEDURE DrawEllipse(rp{9}:RastPortPtr;
  639.                       cX{0}:INTEGER;
  640.                       cY{1}:INTEGER;
  641.                       a{2}:INTEGER;
  642.                       b{3}:INTEGER); CODE -180;
  643. PROCEDURE DrawGList(rp{9}:RastPortPtr;
  644.                     vp{8}:ViewPortPtr); CODE -114;
  645. PROCEDURE Flood(rp{9}:RastPortPtr;
  646.                 mode{2}:LONGCARD;
  647.                 x{0}:INTEGER;
  648.                 y{1}:INTEGER):LONGINT; CODE -330;
  649. PROCEDURE FreeColorMap(colorMap{8}:ColorMapPtr); CODE -576;
  650. PROCEDURE FreeCopList(coplist{8}:CopListPtr); CODE -546;
  651. PROCEDURE FreeCprList(cprlist{8}:CprlistPtr); CODE -564;
  652. PROCEDURE FreeGBuffers(anOb{8}:AnimObPtr;
  653.                        rp{9}:RastPortPtr;
  654.                        db{0}:BOOLEAN); CODE -600;
  655. PROCEDURE FreeRaster(p{8}:ADDRESS;
  656.                      width{0}:CARDINAL;
  657.                      height{1}:CARDINAL); CODE -498;
  658. PROCEDURE FreeSprite(pick{0}:INTEGER); CODE -414;
  659. PROCEDURE FreeVPortCopLists(vp{8}:ViewPortPtr); CODE -540;
  660. PROCEDURE GetColorMap(
  661.            entries{0}:LONGINT):ColorMapPtr; CODE -570;
  662. PROCEDURE GetGBuffers(anOb{8}:AnimObPtr;
  663.                       rp{9}:RastPortPtr;
  664.                       db{0}:BOOLEAN):BOOLEAN; CODE -168;
  665. PROCEDURE GetRGB4(colorMap{8}:ColorMapPtr;
  666.                   entry{0}:LONGINT):LONGCARD; CODE -582;
  667. PROCEDURE GetSprite(sprite{8}:SimpleSpritePtr;
  668.                     pick{0}:INTEGER):INTEGER; CODE -408;
  669. (*PRIVATE*) PROCEDURE GraphicsReserved1():LONGINT; CODE -642;
  670. (*PRIVATE*) PROCEDURE GraphicsReserved2():LONGINT; CODE -648;
  671. PROCEDURE InitArea(VAR areainfo{8}:AreaInfo;
  672.                    buffer{9}:ADDRESS;
  673.                    maxvectors{0}:INTEGER); CODE -282;
  674. PROCEDURE InitBitMap(VAR bm{8}:BitMap;
  675.                      depth{0}:INTEGER;
  676.              width{1}:INTEGER;
  677.                      height{2}:INTEGER); CODE -390;
  678. PROCEDURE InitGels(head{8}:VSpritePtr;
  679.                    tail{9}:VSpritePtr;
  680.                    gInfo{10}:GelsInfoPtr); CODE -120;
  681. PROCEDURE InitGMasks(anOb{8}:AnimObPtr); CODE -174;
  682. PROCEDURE InitMasks(vs{8}:VSpritePtr); CODE -126;
  683. PROCEDURE InitRastPort(VAR rp{9}:RastPort); CODE -198;
  684. PROCEDURE InitTmpRas(VAR tmpras{8}:TmpRas;
  685.                      buffer{9}:ADDRESS;
  686.                      size{0}:LONGINT); CODE -468;
  687. PROCEDURE InitView(VAR view{9}:View); CODE -360;
  688. PROCEDURE InitVPort(VAR vp{8}:ViewPort); CODE -204;
  689. PROCEDURE LoadRGB4(vp{8}:ViewPortPtr;
  690.                    colors{9}:ADDRESS;
  691.                    count{0}:INTEGER); CODE -192;
  692. PROCEDURE LoadView(view{9}:ViewPtr); CODE -222;
  693. PROCEDURE LockLayerRom(layer{13}:LayerPtr); CODE -432;
  694. PROCEDURE MakeVPort(view{8}:ViewPtr;
  695.                     viewport{9}:ViewPortPtr); CODE -216;
  696. PROCEDURE Move(rp{9}:RastPortPtr;
  697.                x{0}:INTEGER;
  698.                y{1}:INTEGER); CODE -240;
  699. PROCEDURE MoveSprite(vp{8}:ViewPortPtr;
  700.                      sprite{9}:SimpleSpritePtr;
  701.                      x{0}:INTEGER;
  702.                      y{1}:INTEGER); CODE -426;
  703. PROCEDURE MrgCop(view{9}:ViewPtr); CODE -210;
  704. PROCEDURE NewRegion():RegionPtr; CODE -516;
  705. PROCEDURE OpenFont(
  706.            textAttr{8}:TextAttrPtr):TextFontPtr; CODE -72;
  707. PROCEDURE OrRectRegion(
  708.            region{8}:RegionPtr;
  709.            rectangle{9}:RectanglePtr):LONGINT; CODE -510;
  710. PROCEDURE OrRegionRegion(
  711.            region1{8}:RegionPtr;
  712.            region2{9}:RegionPtr):LONGINT; CODE -612;
  713. PROCEDURE OwnBlitter(); CODE -456;
  714. PROCEDURE PolyDraw(rp{9}:RastPortPtr;
  715.                    count{0}:INTEGER;
  716.                    array{8}:ADDRESS); CODE -336;
  717. PROCEDURE QBlit(bp{9}:BltnodePtr); CODE -276;
  718. PROCEDURE QBSBlit(bsp{9}:BltnodePtr); CODE -294;
  719. PROCEDURE ReadPixel(rp{9}:RastPortPtr;
  720.                     x{0}:INTEGER;
  721.                     y{1}:INTEGER):LONGINT; CODE -318;
  722. PROCEDURE RectFill(rp{9}:RastPortPtr;
  723.                    xMin{0}:INTEGER;
  724.                    yMin{1}:INTEGER;
  725.                    xMax{2}:INTEGER;
  726.                    yMax{3}:INTEGER); CODE -306;
  727. PROCEDURE RemFont(textFont{9}:TextFontPtr); CODE -486;
  728. PROCEDURE RemIBob(bob{8}:BobPtr;
  729.                   rp{9}:RastPortPtr;
  730.                   vp{10}:ViewPortPtr); CODE -132;
  731. PROCEDURE RemVSprite(vs{8}:VSpritePtr); CODE -138;
  732. PROCEDURE ScrollRaster(rp{9}:RastPortPtr;
  733.                        dx{0}:INTEGER;
  734.                        dy{1}:INTEGER;
  735.                        xMin{2}:INTEGER;
  736.                        yMin{3}:INTEGER;
  737.                        xMax{4}:INTEGER;
  738.                        yMax{5}:INTEGER); CODE -396;
  739. PROCEDURE ScrollVPort(vp{8}:ViewPortPtr); CODE -588;
  740. PROCEDURE SetAPen(rp{9}:RastPortPtr;
  741.                   pen{0}:CARDINAL); CODE -342;
  742. PROCEDURE SetBPen(rp{9}:RastPortPtr;
  743.                   pen{0}:CARDINAL); CODE -348;
  744. PROCEDURE SetCollision(num{0}:LONGCARD;
  745.                        routine{8}:PROC;
  746.                        gInfo{9}:GelsInfoPtr); CODE -144;
  747. PROCEDURE SetDrMd(rp{9}:RastPortPtr;
  748.                   mode{0}:DrawModeSet); CODE -354;
  749. PROCEDURE SetFont(rp{9}:RastPortPtr;
  750.                   font{8}:TextFontPtr); CODE -66;
  751. PROCEDURE SetRast(rp{9}:RastPortPtr;
  752.                   pen{0}:CARDINAL); CODE -234;
  753. PROCEDURE SetRGB4(vp{8}:ViewPortPtr;
  754.                   n{0}:CARDINAL;
  755.                   r{1}:CARDINAL;
  756.                   g{2}:CARDINAL;
  757.                   b{3}:CARDINAL); CODE -288;
  758. PROCEDURE SetRGB4CM(cm{8}:ColorMapPtr;
  759.                     n{0}:CARDINAL;
  760.                     r{1}:CARDINAL;
  761.                     g{2}:CARDINAL;
  762.                     b{3}:CARDINAL); CODE -630;
  763. PROCEDURE SetSoftStyle(
  764.            rp{9}:RastPortPtr;
  765.            style{0}:FontStyleSet;
  766.            enable{1}:FontStyleSet):FontStyleSet; CODE -90;
  767. PROCEDURE SortGList(rp{9}:RastPortPtr); CODE -150;
  768. PROCEDURE SyncSBitMap(layer{8}:LayerPtr); CODE -444;
  769. PROCEDURE Text(rp{9}:RastPortPtr;
  770.                string{8}:ADDRESS;
  771.                count{0}:INTEGER); CODE -60;
  772. PROCEDURE TextLength(rp{9}:RastPortPtr;
  773.                      string{8}:ADDRESS;
  774.                      count{0}:INTEGER):INTEGER; CODE -54;
  775. PROCEDURE UCopperListInit(copperList{8}:UCopListPtr;
  776.                           num{0}:LONGINT); CODE -594;
  777.  
  778. PROCEDURE UnlockLayerRom(layer{13}:LayerPtr); CODE -438;
  779. PROCEDURE VBeamPos():LONGINT; CODE -384;
  780. PROCEDURE WaitBlit(); CODE -228;
  781. PROCEDURE WaitBOVP(vp{8}:ViewPortPtr); CODE -402;
  782. PROCEDURE WaitTOF(); CODE -270;
  783. PROCEDURE WritePixel(rp{9}:RastPortPtr;
  784.                      x{0}:INTEGER;
  785.                      y{1}:INTEGER):LONGINT; CODE -324;
  786. PROCEDURE XorRectRegion(
  787.            region{8}:RegionPtr;
  788.            rectangle{9}:RectanglePtr):LONGINT; CODE -558;
  789. PROCEDURE XorRegionRegion(
  790.            region1{8}:RegionPtr;
  791.            region2{9}:RegionPtr):LONGINT; CODE -618;
  792.  
  793. END Graphics.
  794.