home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / modules / txt / GraphicsL.def < prev    next >
Text File  |  1996-12-27  |  25KB  |  749 lines

  1. (**************************************************************************)
  2. (*                                                                        *)
  3. (* Definition Module (C) Copyright 1994 Marcel Timmermans.                *)
  4. (* Date     : 19 Feb 1994                                                 *)
  5. (* Language : Modula-2                                                    *)
  6. (*                                                                        *)
  7. (**************************************************************************)
  8.  
  9. DEFINITION MODULE GraphicsL {"graphics.library",33};
  10.  
  11. FROM SYSTEM IMPORT ADDRESS,BITSET,BYTE,LONGSET,WORD;
  12.  
  13. FROM Hardware IMPORT
  14.  BltnodePtr;
  15.  
  16. FROM UtilityD IMPORT
  17.  TagItemPtr;
  18.  
  19. IMPORT
  20.  GraphicsD,Reg;
  21.  
  22. VAR
  23.  graphicsBase:GraphicsD.GfxBasePtr;
  24.  
  25. (*------ BitMap primitives ------*)
  26.  
  27. PROCEDURE BltBitMap(
  28.            srcBitMap{Reg.A0}:GraphicsD.BitMapPtr;
  29.            srcX{Reg.D0}:INTEGER;
  30.            srcY{Reg.D1}:INTEGER;
  31.            dstBitMap{Reg.A1}:GraphicsD.BitMapPtr;
  32.            dstX{Reg.D2}:INTEGER;
  33.            dstY{Reg.D3}:INTEGER;
  34.            sizeX{Reg.D4}:INTEGER;
  35.            sizeY{Reg.D5}:INTEGER;
  36.            minterm{Reg.D6}:SHORTCARD;
  37.            mask{Reg.D7}:SHORTCARD;
  38.            tempA{Reg.A2}:ADDRESS):LONGCARD; CODE -30;
  39.  
  40.  
  41. PROCEDURE BltTemplate(
  42.            srcTemplate{Reg.A0}:ADDRESS;
  43.            srcX{Reg.D0}:INTEGER;
  44.            srcMod{Reg.D1}:INTEGER;
  45.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  46.            dstX{Reg.D2}:INTEGER;
  47.            dstY{Reg.D3}:INTEGER;
  48.            sizeX{Reg.D4}:INTEGER;
  49.            sizeY{Reg.D5}:INTEGER); CODE -36;
  50.  
  51. (*------ Text routines ------*)
  52.  
  53. PROCEDURE ClearEOL(rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -42;
  54.  
  55. PROCEDURE ClearScreen(rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -48;
  56.  
  57. PROCEDURE TextLength(
  58.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  59.            string{Reg.A0}:ADDRESS;
  60.            count{Reg.D0}:INTEGER):INTEGER; CODE -54;
  61.  
  62. PROCEDURE Text(
  63.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  64.            string{Reg.A0}:ADDRESS;
  65.            count{Reg.D0}:LONGINT); CODE -60;
  66.  
  67. PROCEDURE SetFont(
  68.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  69.            font{Reg.A0}:GraphicsD.TextFontPtr); CODE -66;
  70.  
  71. PROCEDURE OpenFont(
  72.            textAttr{Reg.A0}:GraphicsD.TextAttrPtr):GraphicsD.TextFontPtr; CODE -72;
  73.  
  74. PROCEDURE CloseFont(font{Reg.A1}:GraphicsD.TextFontPtr); CODE -78;
  75.  
  76. PROCEDURE AskSoftStyle(
  77.            rp{Reg.A1}:GraphicsD.RastPortPtr):GraphicsD.FontStyleSet; CODE -84;
  78.  
  79. PROCEDURE SetSoftStyle(
  80.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  81.            style{Reg.D0}:GraphicsD.FontStyleSet;
  82.            enable{Reg.D1}:GraphicsD.FontStyleSet):GraphicsD.FontStyleSet; CODE -90;
  83.  
  84. (*------    Gels routines ------*)
  85.  
  86. PROCEDURE AddBob(
  87.            Bob{Reg.A0}:GraphicsD.BobPtr;
  88.            rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -96;
  89.  
  90. PROCEDURE AddVSprite(
  91.            vs{Reg.A0}:GraphicsD.VSpritePtr;
  92.            rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -102;
  93.  
  94. PROCEDURE DoCollision(rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -108;
  95.  
  96. PROCEDURE DrawGList(
  97.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  98.            vp{Reg.A0}:GraphicsD.ViewPortPtr); CODE -114;
  99.  
  100. PROCEDURE InitGels(
  101.            head{Reg.A0}:GraphicsD.VSpritePtr;
  102.            tail{Reg.A1}:GraphicsD.VSpritePtr;
  103.            gInfo{Reg.A2}:GraphicsD.GelsInfoPtr); CODE -120;
  104.  
  105. PROCEDURE InitMasks(vs{Reg.A0}:GraphicsD.VSpritePtr); CODE -126;
  106.  
  107. PROCEDURE RemIBob(
  108.            bob{Reg.A0}:GraphicsD.BobPtr;
  109.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  110.            vp{Reg.A2}:GraphicsD.ViewPortPtr); CODE -132;
  111.  
  112. PROCEDURE RemVSprite(vs{Reg.A0}:GraphicsD.VSpritePtr); CODE -138;
  113.  
  114. PROCEDURE SetCollision(
  115.            num{Reg.D0}:LONGCARD;
  116.            routine{Reg.A0}:ADDRESS;
  117.            gInfo{Reg.A1}:GraphicsD.GelsInfoPtr); CODE -144;
  118.  
  119. PROCEDURE SortGList(rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -150;
  120.  
  121. PROCEDURE AddAnimOb(
  122.            anOb{Reg.A0}:GraphicsD.AnimObPtr;
  123.            VAR anKey{Reg.A1}:GraphicsD.AnimObPtr;
  124.            rp{Reg.A2}:GraphicsD.RastPortPtr); CODE -156;
  125.  
  126. PROCEDURE Animate(
  127.            VAR anKey{Reg.A0}:GraphicsD.AnimObPtr;
  128.            rp{Reg.A1}:GraphicsD.RastPortPtr); CODE -162;
  129.  
  130. PROCEDURE GetGBuffers(
  131.            anOb{Reg.A0}:GraphicsD.AnimObPtr;
  132.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  133.            db{Reg.D0}:BOOLEAN):BOOLEAN; CODE -168;
  134.  
  135. PROCEDURE InitGMasks(anOb{Reg.A0}:GraphicsD.AnimObPtr); CODE -174;
  136.  
  137. (*------    General graphics routines ------*)
  138.  
  139. PROCEDURE DrawEllipse(
  140.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  141.            cX{Reg.D0}:INTEGER;
  142.            cY{Reg.D1}:INTEGER;
  143.            a{Reg.D2}:INTEGER;
  144.            b{Reg.D3}:INTEGER); CODE -180;
  145.  
  146. PROCEDURE AreaEllipse(
  147.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  148.            cX{Reg.D0}:INTEGER;
  149.            cY{Reg.D1}:INTEGER;
  150.            a{Reg.D2}:INTEGER;
  151.            b{Reg.D3}:INTEGER):BOOLEAN; CODE -186;
  152.  
  153. PROCEDURE LoadRGB4(
  154.            vp{Reg.A0}:GraphicsD.ViewPortPtr;
  155.            colors{Reg.A1}:ADDRESS;
  156.            count{Reg.D0}:INTEGER); CODE -192;
  157.  
  158. PROCEDURE InitRastPort(VAR rp{Reg.A1}:GraphicsD.RastPort); CODE -198;
  159.  
  160. PROCEDURE InitVPort(VAR vp{Reg.A0}:GraphicsD.ViewPort); CODE -204;
  161.  
  162. PROCEDURE MrgCop(view{Reg.A1}:GraphicsD.ViewPtr); CODE -210;
  163.  
  164. PROCEDURE MakeVPort(
  165.            view{Reg.A0}:GraphicsD.ViewPtr;
  166.            viewport{Reg.A1}:GraphicsD.ViewPortPtr); CODE -216;
  167.  
  168. PROCEDURE LoadView(view{Reg.A1}:GraphicsD.ViewPtr); CODE -222;
  169.  
  170. PROCEDURE WaitBlit(); CODE -228;
  171.  
  172. PROCEDURE SetRast(
  173.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  174.            pen{Reg.D0}:CARDINAL); CODE -234;
  175.  
  176. PROCEDURE Move(
  177.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  178.            x{Reg.D0}:INTEGER;
  179.            y{Reg.D1}:INTEGER); CODE -240;
  180.  
  181. PROCEDURE Draw(
  182.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  183.            x{Reg.D0}:INTEGER;
  184.            y{Reg.D1}:INTEGER); CODE -246;
  185.  
  186. PROCEDURE AreaMove(
  187.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  188.            x{Reg.D0}:INTEGER;
  189.            y{Reg.D1}:INTEGER):BOOLEAN; CODE -252;
  190.  
  191. PROCEDURE AreaDraw(
  192.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  193.            x{Reg.D0}:INTEGER;
  194.            y{Reg.D1}:INTEGER):BOOLEAN; CODE -258;
  195.  
  196. PROCEDURE AreaEnd(rp{Reg.A1}:GraphicsD.RastPortPtr):BOOLEAN; CODE -264;
  197.  
  198. PROCEDURE WaitTOF(); CODE -270;
  199.  
  200. PROCEDURE QBlit(bp{Reg.A1}:BltnodePtr); CODE -276;
  201.  
  202. PROCEDURE InitArea(
  203.            VAR areainfo{Reg.A0}:GraphicsD.AreaInfo;
  204.            buffer{Reg.A1}:ADDRESS;
  205.            maxvectors{Reg.D0}:INTEGER); CODE -282;
  206.  
  207. PROCEDURE SetRGB4(
  208.            vp{Reg.A0}:GraphicsD.ViewPortPtr;
  209.            n{Reg.D0}:CARDINAL;
  210.            r{Reg.D1}:CARDINAL;
  211.            g{Reg.D2}:CARDINAL;
  212.            b{Reg.D3}:CARDINAL); CODE -288;
  213.  
  214. PROCEDURE QBSBlit(bsp{Reg.A1}:BltnodePtr); CODE -294;
  215.  
  216. PROCEDURE BltClear(
  217.            memBlock{Reg.A1}:ADDRESS;
  218.            bytecount{Reg.D0}:LONGCARD;
  219.            flags{Reg.D1}:LONGSET); CODE -300;
  220.  
  221. PROCEDURE RectFill(
  222.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  223.            xMin{Reg.D0}:INTEGER;
  224.            yMin{Reg.D1}:INTEGER;
  225.            xMax{Reg.D2}:INTEGER;
  226.            yMax{Reg.D3}:INTEGER); CODE -306;
  227.  
  228. PROCEDURE BltPattern(
  229.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  230.            mask{Reg.A0}:ADDRESS;
  231.            xl{Reg.D0}:INTEGER;
  232.            yl{Reg.D1}:INTEGER;
  233.            maxX{Reg.D2}:INTEGER;
  234.            maxY{Reg.D3}:INTEGER;
  235.            bytecnt{Reg.D4}:INTEGER); CODE -312;
  236.  
  237. PROCEDURE ReadPixel(
  238.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  239.            x{Reg.D0}:INTEGER;
  240.            y{Reg.D1}:INTEGER):LONGINT; CODE -318;
  241.  
  242. PROCEDURE WritePixel(
  243.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  244.            x{Reg.D0}:INTEGER;
  245.            y{Reg.D1}:INTEGER):BOOLEAN; CODE -324;
  246.  
  247. PROCEDURE Flood(
  248.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  249.            mode{Reg.D2}:LONGCARD;
  250.            x{Reg.D0}:INTEGER;
  251.            y{Reg.D1}:INTEGER):BOOLEAN; CODE -330;
  252.  
  253. PROCEDURE PolyDraw(
  254.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  255.            count{Reg.D0}:INTEGER;
  256.            array{Reg.A0}:ADDRESS); CODE -336;
  257.  
  258. PROCEDURE SetAPen(
  259.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  260.            pen{Reg.D0}:CARDINAL); CODE -342;
  261.  
  262. PROCEDURE SetBPen(
  263.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  264.            pen{Reg.D0}:CARDINAL); CODE -348;
  265.  
  266. PROCEDURE SetDrMd(
  267.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  268.            mode{Reg.D0}:GraphicsD.DrawModeSet); CODE -354;
  269.  
  270. PROCEDURE InitView(VAR view{Reg.A1}:GraphicsD.View); CODE -360;
  271.  
  272. PROCEDURE CBump(c{Reg.A1}:GraphicsD.UCopListPtr); CODE -366;
  273.  
  274. PROCEDURE CMove(
  275.            c{Reg.A1}:GraphicsD.UCopListPtr;
  276.            a{Reg.D0}:ADDRESS;
  277.            v{Reg.D1}:INTEGER); CODE -372;
  278.  
  279. PROCEDURE CWait(
  280.            c{Reg.A1}:GraphicsD.UCopListPtr;
  281.            v{Reg.D0}:INTEGER;
  282.            h{Reg.D1}:INTEGER); CODE -378;
  283.  
  284. PROCEDURE VBeamPos():LONGINT; CODE -384;
  285.  
  286. PROCEDURE InitBitMap(
  287.            VAR bm{Reg.A0}:GraphicsD.BitMap;
  288.            depth{Reg.D0}:INTEGER;
  289.            width{Reg.D1}:LONGCARD;
  290.            height{Reg.D2}:LONGCARD); CODE -390;
  291.  
  292. PROCEDURE ScrollRaster(
  293.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  294.            dx{Reg.D0}:INTEGER;
  295.            dy{Reg.D1}:INTEGER;
  296.            xMin{Reg.D2}:INTEGER;
  297.            yMin{Reg.D3}:INTEGER;
  298.            xMax{Reg.D4}:INTEGER;
  299.            yMax{Reg.D5}:INTEGER); CODE -396;
  300.  
  301. PROCEDURE WaitBOVP(vp{Reg.A0}:GraphicsD.ViewPortPtr); CODE -402;
  302.  
  303. PROCEDURE GetSprite(
  304.            sprite{Reg.A0}:GraphicsD.SimpleSpritePtr;
  305.            pick{Reg.D0}:INTEGER):INTEGER; CODE -408;
  306.  
  307. PROCEDURE FreeSprite(num{Reg.D0}:INTEGER); CODE -414;
  308.  
  309. PROCEDURE ChangeSprite(
  310.            vp{Reg.A0}:GraphicsD.ViewPortPtr;
  311.            s{Reg.A1}:GraphicsD.SimpleSpritePtr;
  312.            newdata{Reg.A2}:ADDRESS); CODE -420;
  313.  
  314. PROCEDURE MoveSprite(
  315.            vp{Reg.A0}:GraphicsD.ViewPortPtr;
  316.            sprite{Reg.A1}:GraphicsD.SimpleSpritePtr;
  317.            x{Reg.D0}:INTEGER;
  318.            y{Reg.D1}:INTEGER); CODE -426;
  319.  
  320. PROCEDURE LockLayerRom(layer{Reg.A5}:GraphicsD.LayerPtr); CODE -432;
  321.  
  322. PROCEDURE UnlockLayerRom(layer{Reg.A5}:GraphicsD.LayerPtr); CODE -438;
  323.  
  324. PROCEDURE SyncSBitMap(layer{Reg.A0}:GraphicsD.LayerPtr); CODE -444;
  325.  
  326. PROCEDURE CopySBitMap(layer{Reg.A0}:GraphicsD.LayerPtr); CODE -450;
  327.  
  328. PROCEDURE OwnBlitter(); CODE -456;
  329.  
  330. PROCEDURE DisownBlitter(); CODE -462;
  331.  
  332. PROCEDURE InitTmpRas(
  333.            VAR tmpras{Reg.A0}:GraphicsD.TmpRas;
  334.            buffer{Reg.A1}:ADDRESS;
  335.            size{Reg.D0}:LONGINT); CODE -468;
  336.  
  337. PROCEDURE AskFont(
  338.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  339.            textAttr{Reg.A0}:GraphicsD.TextAttrPtr); CODE -474;
  340.  
  341. PROCEDURE AddFont(textFont{Reg.A1}:GraphicsD.TextFontPtr); CODE -480;
  342.  
  343. PROCEDURE RemFont(textFont{Reg.A1}:GraphicsD.TextFontPtr); CODE -486;
  344.  
  345. PROCEDURE AllocRaster(
  346.            width{Reg.D0}:CARDINAL;
  347.            height{Reg.D1}:CARDINAL):ADDRESS; CODE -492;
  348.  
  349. PROCEDURE FreeRaster(
  350.            p{Reg.A0}:ADDRESS;
  351.            width{Reg.D0}:CARDINAL;
  352.            height{Reg.D1}:CARDINAL); CODE -498;
  353.  
  354. PROCEDURE AndRectRegion(
  355.            region{Reg.A0}:GraphicsD.RegionPtr;
  356.            rectangle{Reg.A1}:GraphicsD.RectanglePtr); CODE -504;
  357.  
  358. PROCEDURE OrRectRegion(
  359.            region{Reg.A0}:GraphicsD.RegionPtr;
  360.            rectangle{Reg.A1}:GraphicsD.RectanglePtr):BOOLEAN; CODE -510;
  361.  
  362. PROCEDURE NewRegion():GraphicsD.RegionPtr; CODE -516;
  363.  
  364. PROCEDURE ClearRectRegion(
  365.            region{Reg.A0}:GraphicsD.RegionPtr;
  366.            rectangle{Reg.A1}:GraphicsD.RectanglePtr):BOOLEAN; CODE -522;
  367.  
  368. PROCEDURE ClearRegion(region{Reg.A0}:GraphicsD.RegionPtr); CODE -528;
  369.  
  370.  
  371. PROCEDURE DisposeRegion(region{Reg.A0}:GraphicsD.RegionPtr); CODE -534;
  372.  
  373.  
  374. PROCEDURE FreeVPortCopLists(vp{Reg.A0}:GraphicsD.ViewPortPtr); CODE -540;
  375.  
  376. PROCEDURE FreeCopList(coplist{Reg.A0}:GraphicsD.CopListPtr); CODE -546;
  377.  
  378. PROCEDURE ClipBlit(
  379.            src{Reg.A0}:GraphicsD.RastPortPtr;
  380.            srcX{Reg.D0}:INTEGER;
  381.            srcY{Reg.D1}:INTEGER;
  382.            dest{Reg.A1}:GraphicsD.RastPortPtr;
  383.            destX{Reg.D2}:INTEGER;
  384.            destY{Reg.D3}:INTEGER;
  385.            xSize{Reg.D4}:INTEGER;
  386.            ySize{Reg.D5}:INTEGER;
  387.            minterm{Reg.D6}:SHORTCARD); CODE -552;
  388.  
  389.  
  390. PROCEDURE XorRectRegion(
  391.            region{Reg.A0}:GraphicsD.RegionPtr;
  392.            rectangle{Reg.A1}:GraphicsD.RectanglePtr):BOOLEAN; CODE -558;
  393.  
  394. PROCEDURE FreeCprList(cprlist{Reg.A0}:GraphicsD.CprlistPtr); CODE -564;
  395.  
  396. PROCEDURE GetColorMap(
  397.            entries{Reg.D0}:LONGINT):GraphicsD.ColorMapPtr; CODE -570;
  398.  
  399. PROCEDURE FreeColorMap(colorMap{Reg.A0}:GraphicsD.ColorMapPtr); CODE -576;
  400.  
  401. PROCEDURE GetRGB4(
  402.            colorMap{Reg.A0}:GraphicsD.ColorMapPtr;
  403.            entry{Reg.D0}:LONGINT):LONGINT; CODE -582;
  404.  
  405. PROCEDURE ScrollVPort(vp{Reg.A0}:GraphicsD.ViewPortPtr); CODE -588;
  406.  
  407. PROCEDURE UCopperListInit(
  408.            copperList{Reg.A0}:GraphicsD.UCopListPtr;
  409.            num{Reg.D0}:LONGINT):GraphicsD.CopListPtr; CODE -594;
  410.  
  411. PROCEDURE FreeGBuffers(
  412.            anOb{Reg.A0}:GraphicsD.AnimObPtr;
  413.            rp{Reg.A1}:GraphicsD.RastPortPtr;
  414.            db{Reg.D0}:BOOLEAN); CODE -600;
  415.  
  416. PROCEDURE BltBitMapRastPort(
  417.            srcbm{Reg.A0}:GraphicsD.BitMapPtr;
  418.            srcX{Reg.D0}:INTEGER;
  419.            srcY{Reg.D1}:INTEGER;
  420.            destRp{Reg.A1}:GraphicsD.RastPortPtr;
  421.            destX{Reg.D2}:INTEGER;
  422.            destY{Reg.D3}:INTEGER;
  423.            sizeX{Reg.D4}:INTEGER;
  424.            sizeY{Reg.D5}:INTEGER;
  425.            minterm{Reg.D6}:SHORTCARD); CODE -606;
  426.  
  427. PROCEDURE OrRegionRegion(
  428.            region1{Reg.A0}:GraphicsD.RegionPtr;
  429.            region2{Reg.A1}:GraphicsD.RegionPtr):BOOLEAN; CODE -612;
  430.  
  431. PROCEDURE XorRegionRegion(
  432.            region1{Reg.A0}:GraphicsD.RegionPtr;
  433.            region2{Reg.A1}:GraphicsD.RegionPtr):BOOLEAN; CODE -618;
  434.  
  435. PROCEDURE AndRegionRegion(
  436.            region1{Reg.A0}:GraphicsD.RegionPtr;
  437.            region2{Reg.A1}:GraphicsD.RegionPtr):BOOLEAN; CODE -624;
  438.  
  439. PROCEDURE SetRGB4CM(
  440.            cm{Reg.A0}:GraphicsD.ColorMapPtr;
  441.            n{Reg.D0}:CARDINAL;
  442.            r{Reg.D1}:CARDINAL;
  443.            g{Reg.D2}:CARDINAL;
  444.            b{Reg.D3}:CARDINAL); CODE -630;
  445.  
  446. PROCEDURE BltMaskBitMapRastPort(
  447.            srcbm{Reg.A0}:GraphicsD.BitMapPtr;
  448.            srcX{Reg.D0}:INTEGER;
  449.            srcY{Reg.D1}:INTEGER;
  450.            destRp{Reg.A1}:GraphicsD.RastPortPtr;
  451.            destX{Reg.D2}:INTEGER;
  452.            destY{Reg.D3}:INTEGER;
  453.            sizeX{Reg.D4}:INTEGER;
  454.            sizeY{Reg.D5}:INTEGER;
  455.            minterm{Reg.D6}:BYTE;
  456.            bltmask{Reg.A2}:ADDRESS); CODE -636;
  457.  
  458. PROCEDURE AttemptLockLayerRom(
  459.            layer{Reg.A5}:GraphicsD.LayerPtr):BOOLEAN; CODE -654;
  460.  
  461. (*--- functions in V36 or higher (distributed as Release 2.0) ---*)
  462.  
  463. PROCEDURE GfxNew(gfxNodeType{Reg.D0}:LONGCARD):ADDRESS; CODE -660;
  464.  
  465. PROCEDURE GfxFree(gfxNodePtr{Reg.A0}:ADDRESS); CODE -666;
  466.  
  467. PROCEDURE GfxAssociate(
  468.                  associateNode{Reg.A0}:ADDRESS;
  469.                  gfxNodePtr{Reg.A1}:ADDRESS); CODE -672;
  470.  
  471. PROCEDURE BitMapScale(
  472.                  VAR bitScaleArgs{Reg.A0}:GraphicsD.BitScaleArgs); CODE -678;
  473.  
  474. PROCEDURE ScalerDiv(
  475.                  factor{Reg.D0}:CARDINAL;
  476.                  numerator{Reg.D1}:CARDINAL;
  477.                  denominator{Reg.D2}:CARDINAL):CARDINAL; CODE -684;
  478.  
  479. PROCEDURE TextExtent(
  480.                  rp{Reg.A1}:GraphicsD.RastPortPtr;
  481.                  string{Reg.A0}:ADDRESS;
  482.                  count{Reg.D0}:INTEGER;
  483.                  VAR textExtent{Reg.A2}:GraphicsD.TextExtent); CODE -690;
  484.  
  485. PROCEDURE TextFit(
  486.                  rp{Reg.A1}:GraphicsD.RastPortPtr;
  487.                  string{Reg.A0}:ADDRESS;
  488.                  strLen{Reg.D0}:CARDINAL;
  489.                  VAR textExtent{Reg.A2}:GraphicsD.TextExtent;
  490.                  constrainingExtent{Reg.A3}:GraphicsD.TextExtentPtr;
  491.                  strDirection{Reg.D1}:INTEGER;
  492.                  constrainBitWidth{Reg.D2}:CARDINAL;
  493.                  constrainBitHeight{Reg.D3}:CARDINAL):LONGCARD; CODE -696;
  494.  
  495. PROCEDURE GfxLookUp(
  496.                  associateNode{Reg.A0}:ADDRESS):ADDRESS; CODE -702;
  497.  
  498. PROCEDURE VideoControl(
  499.                  VAR colorMap{Reg.A0}:GraphicsD.ColorMap;
  500.                  tagarray{Reg.A1}:TagItemPtr):BOOLEAN; CODE -708;
  501.  
  502. PROCEDURE OpenMonitor(
  503.                  monitorName{Reg.A1}:ADDRESS;
  504.                  displayID{Reg.D0}:LONGCARD):GraphicsD.MonitorSpecPtr; CODE -714;
  505.  
  506. PROCEDURE CloseMonitor(
  507.                  monitorSpec{Reg.A0}:GraphicsD.MonitorSpecPtr):BOOLEAN; CODE -720;
  508.  
  509. PROCEDURE FindDisplayInfo(
  510.                  dispID{Reg.D0}:LONGCARD):GraphicsD.DisplayInfoHandle; CODE -726;
  511.  
  512. PROCEDURE NextDisplayInfo(displayID{Reg.D0}: LONGCARD): LONGCARD; CODE -732;
  513.  
  514. PROCEDURE GetDisplayInfoData(
  515.                  handle{Reg.A0}:GraphicsD.DisplayInfoHandle;
  516.                  buf{Reg.A1}:ADDRESS;
  517.                  size{Reg.D0}:LONGCARD;
  518.                  tagID{Reg.D1}:LONGCARD;
  519.                  displayID{Reg.D2}:LONGCARD):LONGCARD; CODE -756;
  520.  
  521. PROCEDURE FontExtent(
  522.                  font{Reg.A0}:GraphicsD.TextFontPtr;
  523.                  VAR fontExtent{Reg.A1}:GraphicsD.TextExtent); CODE -762;
  524.  
  525. PROCEDURE ReadPixelLine8(
  526.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  527.                  xstart{Reg.D0}:CARDINAL;
  528.                  ystart{Reg.D1}:CARDINAL;
  529.                  width{Reg.D2}:CARDINAL;
  530.                  array{Reg.A2}:ADDRESS;
  531.                  tempRP{Reg.A1}:GraphicsD.RastPortPtr):LONGINT; CODE -768;
  532.  
  533. PROCEDURE WritePixelLine8(
  534.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  535.                  xstart{Reg.D0}:CARDINAL;
  536.                  ystart{Reg.D1}:CARDINAL;
  537.                  width{Reg.D2}:CARDINAL;
  538.                  array{Reg.A2}:ADDRESS;
  539.                  tempRP{Reg.A1}:GraphicsD.RastPortPtr):LONGINT; CODE -774;
  540.  
  541. PROCEDURE ReadPixelArray8(
  542.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  543.                  xstart{Reg.D0}:CARDINAL;
  544.                  ystart{Reg.D1}:CARDINAL;
  545.                  xstop{Reg.D2}:CARDINAL;
  546.                  ystop{Reg.D3}:CARDINAL;
  547.                  array{Reg.A2}:ADDRESS;
  548.                  temprp{Reg.A1}:GraphicsD.RastPortPtr):LONGINT; CODE -780;
  549.  
  550. PROCEDURE WritePixelArray8(
  551.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  552.                  xstart{Reg.D0}:CARDINAL;
  553.                  ystart{Reg.D1}:CARDINAL;
  554.                  xstop{Reg.D2}:CARDINAL;
  555.                  ystop{Reg.D3}:CARDINAL;
  556.                  array{Reg.A2}:ADDRESS;
  557.                  temprp{Reg.A1}:GraphicsD.RastPortPtr):LONGINT; CODE -786;
  558.  
  559. PROCEDURE GetVPModeID(
  560.                  vp{Reg.A0}:GraphicsD.ViewPortPtr):LONGCARD; CODE -792;
  561.  
  562. PROCEDURE ModeNotAvailable(
  563.                  modeID{Reg.D0}:LONGCARD):LONGCARD; CODE -798;
  564.  
  565. //V39-private
  566. PROCEDURE WeighTAMatch(reqTextAttr{Reg.A0}:GraphicsD.TextAttrPtr;   
  567.                        targetTextAttr{Reg.A1}:GraphicsD.TextAttrPtr;
  568.                        targetTags{Reg.A2}:TagItemPtr):CARDINAL; CODE -804;
  569.  
  570. PROCEDURE EraseRect(
  571.                  rp{Reg.A1}:GraphicsD.RastPortPtr;
  572.                  xMin{Reg.D0}:INTEGER;
  573.                  yMin{Reg.D1}:INTEGER;
  574.                  xMax{Reg.D2}:INTEGER;
  575.                  yMax{Reg.D3}:INTEGER); CODE -810;
  576.  
  577. PROCEDURE ExtendFont(
  578.                  font{Reg.A0}:GraphicsD.TextFontPtr;
  579.                  fontTags{Reg.A1}:TagItemPtr):LONGCARD; CODE -816;
  580.  
  581. PROCEDURE StripFont(
  582.                  font{Reg.A0}: GraphicsD.TextFontPtr); CODE -822;
  583.  
  584. (* V39 *)
  585. PROCEDURE CalcIVG(
  586.                  v{Reg.A0}:GraphicsD.ViewPtr;
  587.                  vp{Reg.A1}:GraphicsD.ViewPortPtr):CARDINAL; CODE -828;
  588.  
  589. PROCEDURE AttachPalExtra(
  590.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  591.                  vp{Reg.A1}:GraphicsD.ViewPortPtr): LONGINT; CODE -834;
  592.  
  593. PROCEDURE ObtainBestPenA(
  594.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  595.                  r{Reg.D1}:LONGCARD;
  596.                  g{Reg.D2}:LONGCARD;
  597.                  b{Reg.D3}:LONGCARD;
  598.                  tags{Reg.A1}:TagItemPtr): LONGINT; CODE -840;
  599.  
  600. PROCEDURE SetRGB32(
  601.                  vp{Reg.A0}:GraphicsD.ViewPortPtr;
  602.                  n{Reg.D0}:LONGCARD;
  603.                  r{Reg.D1}:LONGCARD;
  604.                  g{Reg.D2}:LONGCARD;
  605.                  b{Reg.D3}:LONGCARD); CODE -852;
  606.  
  607. PROCEDURE GetAPen(rp{Reg.A0}:GraphicsD.RastPortPtr):LONGCARD; CODE -858;
  608.  
  609. PROCEDURE GetBPen(rp{Reg.A0}:GraphicsD.RastPortPtr):LONGCARD; CODE -864;
  610.  
  611. PROCEDURE GetDrMd(rp{Reg.A0}:GraphicsD.RastPortPtr):LONGCARD; CODE -870;
  612.  
  613. PROCEDURE GetOutlinePen(rp{Reg.A0}:GraphicsD.RastPortPtr):LONGCARD; CODE -876;
  614. // this is the name in the autodocs
  615. PROCEDURE GetOPen(rp{Reg.A0}:GraphicsD.RastPortPtr):LONGCARD; CODE -876;
  616.  
  617. PROCEDURE LoadRGB32(
  618.                  vp{Reg.A0}:GraphicsD.ViewPortPtr;
  619.                  table{Reg.A1}:ADDRESS); CODE -882;
  620.  
  621. PROCEDURE SetChipRev(want{Reg.D0}:LONGSET):LONGSET; CODE -888;
  622.  
  623. PROCEDURE SetABPenDrMd(
  624.                  rp{Reg.A1}:GraphicsD.RastPortPtr;
  625.                  apen{Reg.D0}:LONGCARD;
  626.                  bpen{Reg.D1}:LONGCARD;
  627.                  drawmode{Reg.D2}:GraphicsD.DrawModeSet); CODE -894; //RegisterFill?
  628.  
  629. PROCEDURE GetRGB32(
  630.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  631.                  firstcolor{Reg.D0}:LONGCARD;
  632.                  ncolors{Reg.D1}:LONGCARD;
  633.                  table{Reg.A1}:ADDRESS); CODE -900;
  634.  
  635. PROCEDURE AllocBitMap(
  636.                  sizex{Reg.D0}:LONGCARD;
  637.                  sizey{Reg.D1}:LONGCARD;
  638.                  depth{Reg.D2}:LONGCARD;
  639.                  flags{Reg.D3}:LONGSET;
  640.                  friend_bitmap{Reg.A0}:GraphicsD.BitMapPtr): GraphicsD.BitMapPtr; CODE -918;
  641.  
  642. PROCEDURE FreeBitMap(bm{Reg.A0}:GraphicsD.BitMapPtr); CODE -924;
  643.  
  644. PROCEDURE GetExtSpriteA(
  645.                  ss{Reg.A2}:GraphicsD.ExtSpritePtr;
  646.                  tags{Reg.A1}:TagItemPtr): LONGINT; CODE -930;
  647.  
  648. PROCEDURE CoerceMode(
  649.                  vp{Reg.A0}:GraphicsD.ViewPortPtr;
  650.                  monitorid{Reg.D0}:LONGCARD;
  651.                  flags{Reg.D1}:LONGSET):LONGCARD; CODE -936;
  652.  
  653. PROCEDURE ChangeVPBitMap(
  654.                  vp{Reg.A0}:GraphicsD.ViewPortPtr;
  655.                  bm{Reg.A1}:GraphicsD.BitMapPtr;
  656.                  db{Reg.A2}:GraphicsD.DBufInfoPtr); CODE -942;
  657.  
  658. PROCEDURE ReleasePen(
  659.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  660.                  n{Reg.D0}:LONGCARD); CODE -948;
  661.  
  662. PROCEDURE ObtainPen(
  663.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  664.                  n{Reg.D0}:LONGCARD;
  665.                  r{Reg.D1}:LONGCARD;
  666.                  g{Reg.D2}:LONGCARD;
  667.                  b{Reg.D3}:LONGCARD;
  668.                  f{Reg.D4}:LONGSET):LONGCARD; CODE -954;
  669.  
  670. PROCEDURE GetBitMapAttr(
  671.                  bm{Reg.A0}:GraphicsD.BitMapPtr;
  672.                  attrnum{Reg.D1}:LONGCARD):LONGCARD; CODE -960;
  673.  
  674. PROCEDURE AllocDBufInfo(vp{Reg.A0}:GraphicsD.ViewPortPtr): GraphicsD.DBufInfoPtr; CODE -966;
  675.  
  676. PROCEDURE FreeDBufInfo(dbi{Reg.A1}: GraphicsD.DBufInfoPtr); CODE -972;
  677.  
  678. PROCEDURE SetOutlinePen(
  679.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  680.                  pen{Reg.D0}:LONGCARD):LONGCARD; CODE -978;
  681.  
  682. PROCEDURE SetWriteMask(
  683.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  684.                  msk{Reg.D0}:LONGCARD):LONGCARD; CODE -984;
  685.  
  686. PROCEDURE SetMaxPen(
  687.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  688.                  maxpen{Reg.D0}:LONGCARD); CODE -990;
  689.  
  690. PROCEDURE SetRGB32CM(
  691.                  cm{Reg.A0}:GraphicsD.ColorMapPtr;
  692.                  n{Reg.D0}:LONGCARD;
  693.                  r{Reg.D1}:LONGCARD;
  694.                  g{Reg.D2}:LONGCARD;
  695.                  b{Reg.D3}:LONGCARD); CODE -996;
  696.  
  697. PROCEDURE ScrollRasterBF(
  698.                  rp{Reg.A1}:GraphicsD.RastPortPtr;
  699.                  dx{Reg.D0}:INTEGER;  // Do this have to be LONGINTs?
  700.                  dy{Reg.D1}:INTEGER;
  701.                  xMin{Reg.D2}:INTEGER;
  702.                  yMin{Reg.D3}:INTEGER;
  703.                  xMax{Reg.D4}:INTEGER;
  704.                  yMax{Reg.D5}:INTEGER); CODE -1002;
  705.  
  706. PROCEDURE FindColor(
  707.                  cm{Reg.A3}:GraphicsD.ColorMapPtr;
  708.                  r{Reg.D1}:LONGCARD;
  709.                  g{Reg.D2}:LONGCARD;
  710.                  b{Reg.D3}:LONGCARD;
  711.                  maxcolor{Reg.D4}:LONGINT):LONGCARD; CODE -1008;
  712.  
  713. PROCEDURE AllocSpriteDataA(
  714.                  bm{Reg.A2}:GraphicsD.BitMapPtr;
  715.                  tags{Reg.A1}:TagItemPtr):GraphicsD.ExtSpritePtr; CODE -1020;
  716.  
  717. PROCEDURE ChangeExtSpriteA(
  718.                  vp{Reg.A0}:GraphicsD.ViewPortPtr;
  719.                  oldsprite{Reg.A1}:GraphicsD.ExtSpritePtr;
  720.                  newsprite{Reg.A2}:GraphicsD.ExtSpritePtr;
  721.                  tags{Reg.A3}:TagItemPtr); CODE -1026;
  722.  
  723. PROCEDURE FreeSpriteData(sp{Reg.A2}:GraphicsD.ExtSpritePtr):LONGCARD; CODE -1032;
  724.  
  725. PROCEDURE SetRPAttrsA(
  726.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  727.                  tags{Reg.A1}:TagItemPtr); CODE -1038;
  728.  
  729. PROCEDURE GetRPAttrsA(
  730.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  731.                  tags{Reg.A1}:TagItemPtr); CODE -1044;
  732.  
  733. PROCEDURE BestModeIDA(tags{Reg.A0}:TagItemPtr):LONGCARD; CODE -1050;
  734.  
  735. (*--- functions in V40 or higher (Release 3.1); CODE - --- *)
  736.  
  737. PROCEDURE WriteChunkyPixels(
  738.                  rp{Reg.A0}:GraphicsD.RastPortPtr;
  739.                  xstart{Reg.D0}:LONGINT;
  740.                  ystart{Reg.D1}:LONGINT;
  741.                  xstop{Reg.D2}:LONGINT;
  742.                  ystop{Reg.D3}:LONGINT;
  743.                  array{Reg.A2}:ADDRESS;
  744.                  bytesperrow{Reg.D4}:LONGINT); CODE -1056;
  745.  
  746.  
  747. END GraphicsL.
  748.  
  749.