; ; File: QDTrapInstall.a ; ; Contains: Trap definitions for Color QuickDraw. ; ; Written by: Bruce Leak ; ; Copyright: © 1989-1991 by Apple Computer, Inc., all rights reserved. ; ; Change History (most recent first): ; ; <20> 7/10/91 dba end of the forPost70 conditional; we are past 7.0 for good ; <19> 5/8/91 KON SetCCursor now in RAM because register A2 was getting trashed on ; multiple device systems. ; <18> 3/19/91 KON CSD, DTY: BRC# 84342, Patch ClosePort and CloseCPort so they jsr ; to the RAM version of DelPortList which no longer uses Munger ; (the ROM version does, and this can cause the wrong port to be ; deleted). This required reorganizing the QDciPatchROM file, so ; we made BitMaptoRgn a linked patch and no longer include it from ; here. ; <17> 1/25/91 KON DDG: BRC# 81599, Add SeedFill and CalcMask to list of installed ; traps. ; <16> 11/26/90 SMC Changed vector added in <15>. With BAL. ; <15> 10/31/90 SMC Added two vectors with BAL. ; <14> 9/7/90 KON Use RAM version of MapRgn so it doesn't remap wide open regions. ; Previously, caller (in Pictures and GWorlds) had to check for ; wide open. ; <13> 8/17/90 KON Added QDRstor macro so a ROM address can be specified when ; installing a trap. Currently, traps installed by this macro are ; commented out.\ ; <12> 7/13/90 KON The StdRgn trap in ROM has a bug. Take the RAM version. ; <11> 5/30/90 KON Added trap install for KopyMask $AA51. ; <10> 5/29/90 KON Add DelSearch and DelComp to list of traps. ; <9> 4/23/90 EMT Removed routines properly patched by ROM78Fix.a, so we can ; consider them in ROM: StdRgn, DisposPixPat, DisposCCursor, ; CloseCPort, ClosePort. ; <8> 3/26/90 KON Fix call to comp procs in InvertColor, so InvertColor now runs ; out of RAM. ; <7> 2/20/90 BAL Now installs DisposGDevice to fix up lastTXGDevice if necessary. ; <6> 2/5/90 BAL Reordered list. ; <5> 1/30/90 DDG Changed the entry for ScrollRect so that it is run out of RAM, ; not ROM. (This is so the fixes for ScrollRect will be installed ; properly) ; <4> 1/4/90 EMT Removed even more routines in ROM! ; <3> 1/3/90 EMT (with BAL) Removed routines already in ROM. ; <2> 1/3/90 EMT (with BAL) Converted to QDEntry macro. ; <¥1.3> 7/14/89 BAL For Aurora: Final CQD ; <1.2> 6/30/89 BAL Added QDExtDispatch, NewTempBuffer, NewTempHandle, ; DisposeTempBuffer ; <¥1.1> 5/29/89 BAL Blasting in 32-Bit QuickDraw version 1.0 Final ; <1.0> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1 ; ; To Do: ; The following routines are identical to the Mac II ROM, but are not vectored: ; PutPicData, PutPicByte, PutPicWord, PutPicLong, PutPicRect, PutPicOp, PutPicOp2 ; PutPicRgn, PutPicPad, PutPicPat, EqualPat, PutGray, InitShared, InsPortList, ; DelPortList. ; The following routines are identical to the Mac II ROM, are vectored, but not used: ; DPutPicByte, DPutPicOp, CheckPic ; The following routines have changed, but are not vectored either: ; PutPicVerb, PutPicPixPat, UpdatePat ; The following routines have not been checked: ; GetPicData, GetSByte, GetRect, GetPicOp, GetUByte, GetWord, GetLong, GetPicPixPat ; PicItem1 JSRs directly to SetFillPat - should use vector. ; qdInROM EQU 0 ; For routines identical to Mac II ROM. MACRO QDEntry &num,&name,&cond LCLA &doit IF &cond = '' THEN &doit SETA 1 ELSE &doit SETA (&Eval(&cond)) OR installAllQD ENDIF IF &doit THEN IMPORT &name @&name DC.L &name-@&name DC.W &num ENDIF ENDM MACRO QDRstor &num,&name,&cond LCLA &doit IF &cond = '' THEN &doit SETA 1 ELSE &doit SETA (&Eval(&cond)) OR installAllQD ENDIF IF &doit THEN @&name DC.L &name DC.W $8000+&num ENDIF ENDM FirstTrap QDEntry $14, SetFractEnable, installFont QDEntry $17, CopyMask QDEntry $34, SetFScaleDisable, installFont QDEntry $35, FontMetrics, installFont QDEntry $37, MeasureText, installText QDEntry $38, CalcMask QDEntry $39, SeedFill QDEntry $50, InitCursor, qdInROM QDEntry $51, SetCursor, qdInROM QDEntry $52, HideCursor, qdInROM QDEntry $53, ShowCursor, qdInROM QDEntry $55, ShieldCursor, qdInROM QDEntry $56, ObscureCursor, qdInROM QDEntry $58, BitAnd, qdInROM QDEntry $59, BitXOr, qdInROM QDEntry $5A, BitNot, qdInROM QDEntry $5B, BitOr, qdInROM QDEntry $5C, BitShift, qdInROM QDEntry $5D, BitTst, qdInROM QDEntry $5E, BitSet, qdInROM QDEntry $5F, BitClr, qdInROM QDEntry $61, Random, qdInROM QDEntry $62, ForeColor, qdInROM QDEntry $63, BackColor, qdInROM QDEntry $64, ColorBit, qdInROM QDEntry $65, GetPixel QDEntry $66, StuffHex, qdInROM QDEntry $6D, InitPort QDEntry $6E, InitGraf QDEntry $6F, OpenPort QDEntry $70, LocalToGlobal, qdInROM QDEntry $71, GlobalToLocal, qdInROM QDEntry $72, GrafDevice, qdInROM QDEntry $73, SetPort, qdInROM QDEntry $74, GetPort, qdInROM QDEntry $75, SetPortBits, qdInROM QDEntry $76, PortSize, qdInROM QDEntry $77, MovePortTo, qdInROM QDEntry $78, SetOrigin, qdInROM QDEntry $79, SetClip, qdInROM QDEntry $7A, GetClip, qdInROM QDEntry $7B, ClipRect, qdInROM QDEntry $7C, BackPat, qdInROM QDEntry $7D, ClosePort QDEntry $7E, AddPt, qdInROM QDEntry $7F, SubPt, qdInROM QDEntry $80, SetPt, qdInROM QDEntry $81, EqualPt, qdInROM QDEntry $82, StdText, installText QDEntry $83, DrawChar, installText QDEntry $84, DrawString, installText QDEntry $85, DrawText, installText QDEntry $86, TextWidth, installText QDEntry $87, TextFont, installText QDEntry $88, TextFace, installText QDEntry $89, TextMode, installText QDEntry $8A, TextSize, installText QDEntry $8B, GetFontInfo, installText QDEntry $8C, StringWidth, installText QDEntry $8D, CharWidth, installText QDEntry $8E, SpaceExtra, installText QDEntry $90, StdLine QDEntry $91, LineTo, qdInROM QDEntry $92, Line, qdInROM QDEntry $93, MoveTo, qdInROM QDEntry $94, Move, qdInROM QDEntry $96, HidePen, qdInROM QDEntry $97, ShowPen, qdInROM QDEntry $98, GetPenState, qdInROM QDEntry $99, SetPenState, qdInROM QDEntry $9A, GetPen, qdInROM QDEntry $9B, PenSize, qdInROM QDEntry $9C, PenMode, qdInROM QDEntry $9D, PenPat, qdInROM QDEntry $9E, PenNormal, qdInROM QDEntry $A0, StdRect QDEntry $A1, FrameRect, qdInROM QDEntry $A2, PaintRect, qdInROM QDEntry $A3, EraseRect, qdInROM QDEntry $A4, InvertRect, qdInROM QDEntry $A5, FillRect, qdInROM QDEntry $A6, EqualRect, qdInROM QDEntry $A7, SetRect, qdInROM QDEntry $A8, OffSetRect, qdInROM QDEntry $A9, InSetRect, qdInROM QDEntry $AA, SectRect, qdInROM QDEntry $AB, UnionRect, qdInROM QDEntry $AC, Pt2Rect, qdInROM QDEntry $AD, PtInRect, qdInROM QDEntry $AE, EmptyRect, qdInROM QDEntry $AF, StdRRect QDEntry $B0, FrameRoundRect, qdInROM QDEntry $B1, PaintRoundRect, qdInROM QDEntry $B2, EraseRoundRect, qdInROM QDEntry $B3, InvertRoundRect, qdInROM QDEntry $B4, FillRoundRect, qdInROM QDEntry $B6, StdOval QDEntry $B7, FrameOval, qdInROM QDEntry $B8, PaintOval, qdInROM QDEntry $B9, EraseOval, qdInROM QDEntry $BA, InvertOval, qdInROM QDEntry $BB, FillOval, qdInROM QDEntry $BD, StdArc QDEntry $BE, FrameArc, qdInROM QDEntry $BF, PaintArc, qdInROM QDEntry $C0, EraseArc, qdInROM QDEntry $C1, InvertArc, qdInROM QDEntry $C2, FillArc, qdInROM QDEntry $C3, PtToAngle, qdInROM QDEntry $C5, StdPoly QDEntry $C6, FramePoly, qdInROM QDEntry $C7, PaintPoly, qdInROM QDEntry $C8, ErasePoly, qdInROM QDEntry $C9, InvertPoly, qdInROM QDEntry $CA, FillPoly, qdInROM QDEntry $CB, OpenPoly, qdInROM QDEntry $CC, ClosePoly, qdInROM QDEntry $CD, KillPoly, qdInROM QDEntry $CE, OffSetPoly, qdInROM QDEntry $CF, PackBits, qdInROM QDEntry $D0, UnpackBits, qdInROM QDEntry $D1, StdRgn QDEntry $D2, FrameRgn, qdInROM QDEntry $D3, PaintRgn, qdInROM QDEntry $D4, EraseRgn, qdInROM QDEntry $D5, InvertRgn, qdInROM QDEntry $D6, FillRgn, qdInROM QDEntry $D7, BitMapRgn, qdInROM QDEntry $D8, NewRgn QDEntry $D9, DisposeRgn, qdInROM QDEntry $DA, OpenRgn, qdInROM QDEntry $DB, CloseRgn QDEntry $DC, CopyRgn, qdInROM QDEntry $DD, SetEmptyRgn, qdInROM QDEntry $DE, SetRectRgn, qdInROM QDEntry $DF, RectRgn, qdInROM QDEntry $E0, OffSetRgn, qdInROM QDEntry $E1, InSetRgn, qdInROM QDEntry $E2, EmptyRgn, qdInROM QDEntry $E3, EqualRgn, qdInROM QDEntry $E4, SectRgn, qdInROM QDEntry $E5, UnionRgn, qdInROM QDEntry $E6, DiffRgn, qdInROM QDEntry $E7, XOrRgn, qdInROM QDEntry $E8, PtInRgn, qdInROM QDEntry $E9, RectInRgn, qdInROM QDEntry $EA, SetStdProcs, qdInROM QDEntry $EB, StdBits QDEntry $EC, CopyBits QDEntry $ED, StdTxMeas, installText QDEntry $EE, StdGetPic, qdInROM QDEntry $EF, ScrollRect QDEntry $F0, StdPutPic, qdInROM QDEntry $F1, StdComment, qdInROM QDEntry $F2, PicComment, qdInROM QDEntry $F3, OpenPicture QDEntry $F4, ClosePicture QDEntry $F5, KillPicture, qdInROM QDEntry $F6, DrawPicture QDEntry $F8, ScalePt, qdInROM QDEntry $F9, MapPt, qdInROM QDEntry $FA, MapRect, qdInROM QDEntry $FB, MapRgn QDEntry $FC, MapPoly, qdInROM QDEntry $FE, InitFonts, installFont QDEntry $FF, GetFontName, installFont QDEntry $101, FMSwapFont, installFont QDEntry $102, RealFont, installFont QDEntry $103, SetFontLock, installFont QDEntry $200, OpenCPort, addrModeFlag QDEntry $201, InitCPort, addrModeFlag QDEntry $202, CloseCPort QDEntry $203, NewPixMap, addrModeFlag QDEntry $204, DisposPixMap QDEntry $205, CopyPixMap, addrModeFlag QDEntry $206, SetCPortPix, qdInROM QDEntry $207, NewPixPat, qdInROM QDEntry $208, DisposPixPat, qdInROM QDEntry $209, CopyPixPat, qdInROM QDEntry $20A, PenPixPat, qdInROM QDEntry $20B, BackPixPat, qdInROM QDEntry $20C, GetPixPat QDEntry $20D, MakeRGBPat, qdInROM QDEntry $20E, FillCRect, qdInROM QDEntry $20F, FillCOval, qdInROM QDEntry $210, FillCRoundRect, qdInROM QDEntry $211, FillCArc, qdInROM QDEntry $212, FillCRgn, qdInROM QDEntry $213, FillCPoly, qdInROM QDEntry $214, RGBForeColor QDEntry $215, RGBBackColor QDEntry $216, SetCPixel, qdInROM QDEntry $217, GetCPixel QDEntry $218, GetCTable QDEntry $219, GetForeColor, qdInROM QDEntry $21A, GetBackColor, qdInROM QDEntry $21B, GetCCursor QDEntry $21C, SetCCursor QDEntry $21D, AllocCursor, qdInROM QDEntry $21E, GetCIcon QDEntry $21F, PlotCIcon QDEntry $220, OpenCPicture QDEntry $221, OpColor, qdInROM QDEntry $222, HiliteColor, qdInROM QDEntry $223, CharExtra, installText QDEntry $226, DisposCCursor, qdInROM QDEntry $22E, InitGDevice QDEntry $22F, NewGDevice, qdInROM QDEntry $230, DisposGDevice QDEntry $231, SetGDevice, qdInROM QDEntry $232, GetGDevice, qdInROM QDEntry $233, Color2Index QDEntry $234, Index2Color QDEntry $235, InvertColor QDEntry $236, RealColor, qdInROM QDEntry $237, GetSubTable, qdInROM QDEntry $238, UpdatePixMap, qdInROM QDEntry $239, MakeITable QDEntry $23A, AddSearch QDEntry $23B, AddComp QDEntry $23C, SetClientID, qdInROM QDEntry $23D, ProtectEntry, qdInROM QDEntry $23E, ReserveEntry, qdInROM QDEntry $23F, SetEntries QDEntry $24A, RestoreEntries QDEntry $24C, DelSearch QDEntry $24D, DelComp QDEntry $24F, CalcCMask QDEntry $250, SeedCFill QDEntry $251, KopyMask QDEntry $290, InitPalettes QDEntry $291, NewPalette QDEntry $292, GetNewPalette QDEntry $293, DisposePalette QDEntry $294, ActivatePalette QDEntry $295, SetPalette QDEntry $296, GetPalette QDEntry $297, PmForeColor QDEntry $298, PmBackColor QDEntry $299, AnimateEntry QDEntry $29A, AnimatePalette QDEntry $29B, GetEntryColor QDEntry $29C, SetEntryColor QDEntry $29D, GetEntryUsage QDEntry $29E, SetEntryUsage QDEntry $29F, CTab2Palette QDEntry $2A0, Palette2CTab QDEntry $2A1, CopyPalette QDEntry $2A2, PMgrDispatch QDEntry $300, BitBlt QDEntry $301, BitsToMap, qdInROM QDEntry $302, BitsToPix QDEntry $303, JacksonPollock QDEntry $304, ColorMap QDEntry $305, CopyHandle, qdInROM QDEntry $306, CullPoints, qdInROM QDEntry $307, DPutPicByte QDEntry $308, DPutPicOp QDEntry $309, DrawArc QDEntry $30A, DrawLine QDEntry $30B, DrawSlab QDEntry $30C, FastSlabMode QDEntry $30D, GetSeek QDEntry $30E, MakeScaleTbl QDEntry $30F, CheckPic QDEntry $310, DoLine QDEntry $311, OldPatToNew, qdInROM QDEntry $312, PackRgn, qdInROM QDEntry $313, PatConvert QDEntry $314, PatDither QDEntry $315, PatExpand QDEntry $316, PinIt, qdInROM QDEntry $317, PortToMap, qdInROM QDEntry $318, PushVerb, qdInROM QDEntry $319, PutLine QDEntry $31A, PutOval QDEntry $31B, PutRgn QDEntry $31C, NewTempBuffer QDEntry $31D, QDExtDispatcher QDEntry $31E, DisposeTempBuffer QDEntry $31F, RgnBlt QDEntry $320, RgnOp, qdInROM QDEntry $321, RSect, qdInROM QDEntry $322, SeekRgn QDEntry $323, SetFillPat, qdInROM QDEntry $324, SetUpStretch QDEntry $325, SlabMode QDEntry $326, SortPoints, qdInROM QDEntry $327, StretchBits QDEntry $328, StdDevLoop QDEntry $329, TrimRect QDEntry $32A, XorSlab QDEntry $32b, ExTbl ; QDEntry $32c QDEntry $32d, NewTempHandle QDEntry $32e, PatExTbl ; QDEntry $32f QDEntry $330, bMAIN0 QDEntry $331, bMAIN1 QDEntry $332, bMAIN2 QDEntry $333, bMAIN3 QDEntry $334, bSETUP8 QDEntry $335, bMAIN9 QDEntry $336, bSETUP10 QDEntry $337, bMAIN11 QDEntry $338, bXMAIN8 QDEntry $339, bXMAIN9 QDEntry $33A, bXMAIN10 QDEntry $33B, bXMAIN11 QDEntry $33C, bcMain0 QDEntry $33D, bcMain1 QDEntry $33E, bHilite QDEntry $33F, bcMain3 QDEntry $340, bEND0 QDEntry $341, bEND1 QDEntry $342, bEND2 QDEntry $343, bEND3 QDEntry $344, bLONG8 QDEntry $345, bEND9 QDEntry $346, bEND10 QDEntry $347, bEND11 QDEntry $348, bXLONG8 QDEntry $349, bXEND9 QDEntry $34A, bXEND10 QDEntry $34B, bXEND11 QDEntry $34C, bcEnd0 QDEntry $34D, bcEnd1 QDEntry $34E, bSloHilite QDEntry $34F, bcEnd3 QDEntry $350, bAvg bAddPinInMacII EQU $1BC6A bAddOverInMacII EQU $1BBF4 bSubPinInMacII EQU $1BD7C bTransparentInMacII EQU $1C0B0 bMaxInMacII EQU $1BE18 bSubOverInMacII EQU $1BD06 bMinInMacII EQU $1BE9E ; QDRstor $351, bAddPinInMacII QDEntry $351, bAddPin ; QDRstor $352, bAddOverInMacII QDEntry $352, bAddOver ; QDRstor $353, bSubPinInMacII QDEntry $353, bSubPin ; QDRstor $354, bTransparentInMacII QDEntry $354, bTransparent ; QDRstor $355, bMaxInMacII QDEntry $355, bMax ; QDRstor $356, bSubOverInMacII QDEntry $356, bSubOver ; QDRstor $357, bMinInMacII QDEntry $357, bMin QDEntry $358, bSetup0 QDEntry $359, bLeft0 QDEntry $35A, rMASK0 QDEntry $35B, rMASK1 QDEntry $35C, rMASK2 QDEntry $35D, rMASK3 QDEntry $35E, rMASK8 QDEntry $35F, rMASK9 QDEntry $360, rMASK10 QDEntry $361, rMASK11 QDEntry $362, rXMASK8 QDEntry $363, rXMASK9 QDEntry $364, rXMASK10 QDEntry $365, rXMASK11 QDEntry $366, rAvg QDEntry $367, rAddPin QDEntry $368, rAddOver QDEntry $369, rSubPin QDEntry $36A, rTransparent QDEntry $36B, rMax QDEntry $36C, rSubOver QDEntry $36D, rMin QDEntry $36E, rcMask0 QDEntry $36F, rcMask1 QDEntry $370, rslowHilite QDEntry $371, rcMask3 QDEntry $372, rHilite QDEntry $373, stMASK0 QDEntry $374, stMASK1 QDEntry $375, stMASK2 QDEntry $376, stMASK3 QDEntry $377, stAvg QDEntry $378, stAddPin QDEntry $379, stAddOver QDEntry $37A, stSubPin QDEntry $37B, stTransparent QDEntry $37C, stMax QDEntry $37D, stSubOver QDEntry $37E, stMin QDEntry $37F, stHilite QDEntry $380, slMASK8 QDEntry $381, slMASK9 QDEntry $382, slMASK10 QDEntry $383, slMASK11 QDEntry $384, slXMASK8 QDEntry $385, slXMASK9 QDEntry $386, slXMASK10 QDEntry $387, slXMASK11 QDEntry $388, slAvg QDEntry $389, slAddPin QDEntry $38A, slAddOver QDEntry $38B, slSubPin QDEntry $38C, slTransparent QDEntry $38D, slMax QDEntry $38E, slSubOver QDEntry $38F, slMin QDEntry $390, slHilite QDEntry $391, ITabMatch QDEntry $392, ColorThing2Index ; QDEntry $393, (Pollock) QDEntry $394, AllocRunBuf QDEntry $395, InitRgn QDEntry $396, ScaleBlt QDEntry $397, stNoStack QDEntry $398, BlitCase QDEntry $399, stScanLoop QDEntry $39A, PicItem1 QDEntry $39B, MakeGrayItab QDEntry $39C, FastLine QDEntry $39D, FastSlant QDEntry $39e, BitsDevLoop ; QDEntry $39f QDEntry $3a0, rArith16Tab QDEntry $3a1, rArith32Tab QDEntry $3a2, rHiliteTab QDEntry $3a3, gsRunTbl QDEntry $3a4, gsExpTbl QDEntry $3a5, gsSeekTbl QDEntry $3a6, stArith16Tab QDEntry $3a7, stArith32Tab QDEntry $3a8, stColorTab QDEntry $3a9, stGrayTab QDEntry $3aa, stSearchTab QDEntry $3ab, ScaleIndexedToIndexed QDEntry $3ac, scIndTab1 QDEntry $3ad, scIndTab2 QDEntry $3ae, scIndTab4 QDEntry $3af, scIndTab8 QDEntry $3b0, scIndTab16 QDEntry $3b1, scIndTab32 QDEntry $3b2, scDirTab1 QDEntry $3b3, scDirTab2 QDEntry $3b4, scDirTab4 QDEntry $3b5, scDirTab8 QDEntry $3b6, scDirTab16 QDEntry $3b7, scDirTab32 QDEntry $3b8, bArith16Tab QDEntry $3b9, bArith32Tab QDEntry $3ba, bHiliteTab QDEntry $3bb, bArith16Setup QDEntry $3bc, bArith32Setup QDEntry $3bd, slArith16Tab QDEntry $3be, slArith32Tab ; QDEntry $3bf QDEntry $3c0, AlphaDispatch QDEntry $3c1, StreamToMask ; QDEntry $3c2 ; QDEntry $3c3 QDEntry $3c4, GetPMData ; QDEntry $3c5 ; QDEntry $3c6 ; QDEntry $3c7 ; QDEntry $3c8, (QD2Utils) QDEntry $3F8, StdOpcodeProc LastTrap