(import-macros {:sss ! : compile} :ssc.macros) (local lume (require :lib.lume)) (local util (require :lib.util)) (local {: pairoff} util) #(compile $1 (do (form def-toolbox [ (fn [ssc cmd name args return-type] (let [call (fn [ssc ...] (let [arg-count (select :# ...) expected-arg-count (length args) expected-resultptr (= (type return-type) :number) expected-arg-count (if expected-resultptr (+ expected-arg-count 1) expected-arg-count) resultptr (when expected-resultptr (select expected-arg-count ...)) error-handler (when (= arg-count (+ expected-arg-count 1)) (select (+ expected-arg-count 1) ...)) expected-arg-count (if error-handler (+ expected-arg-count 1) expected-arg-count) block [:block] iloc-resultptr (do (assert (= arg-count expected-arg-count) (.. name " expected " expected-arg-count " args, got " (fv [...]))) (when resultptr (lume.push block (ssc:push nil resultptr :word)) (length ssc.locals)))] (for [_ 1 (match return-type :void 0 :word 1 :long 2 _ return-type)] (lume.push block (ssc:push nil nil :register))) (each [_ push (ipairs (ssc:push-arguments (ssc:parse-parameters args) (lume.slice [...] 1 (length args))))] (lume.push block push)) (lume.push block [:ldx cmd] [:jsr :0xe10000]) (ssc:was-dropped (length args)) (when error-handler (lume.push block [:bcc :-no-error-] (ssc:push :error nil :register) (ssc:expr-poly error-handler) (ssc:drop :error) :-no-error-)) (match return-type :void nil :word (lume.push block (ssc:pop) nil) :long (lume.push block (ssc:pop) [:sta ssc.LONG_LO] (ssc:pop) [:sta ssc.LONG_HI]) _ (do (lume.push block [:ldy 0]) (for [i 1 return-type] (lume.push block (ssc:pop) [:sta [(ssc:local-offset iloc-resultptr) :s] :y]) (when (< i return-type) (lume.push block [:iny] [:iny]))) (lume.push block (ssc:drop)))) (values block (if (= (type return-type) :string) return-type :void))))] (ssc:expr-poly [:form name call])))]) (form tooltable [(fn [ssc name ...] (ssc.org:append name [:dw (/ (select :# ...) 2)]) (each [_ toolset-id version (pairoff [...])] (ssc.org:append [:dw (match (type toolset-id) :number toolset-id :string (. ssc.constants toolset-id))] [:dw version])))]) (define ToolsetToolLocator 0x01) (def-toolbox 0x0201 TLStartUp () void) (def-toolbox 0x0301 TLShutDown () void) (def-toolbox 0x0401 TLVersion () word) (def-toolbox 0x0b01 GetFuncPtr (userOrSystem funcNumTsNum) long) (def-toolbox 0x0f01 LoadOneTool (toolNumber minVersion) void) (def-toolbox 0x0e01 LoadTools ((long toolTablePtr)) void) (def-toolbox 0x1501 MessageCenter (action type (long messageHandle)) void) (def-toolbox 0x1401 RestoreTextState ((long stateHandle)) void) (def-toolbox 0x1301 SaveTextState () long) (def-toolbox 0x1101 TLMountVolume (whereX whereY (long line1ptr) (long line2ptr) (long but1ptr) (long but2ptr)) word) (def-toolbox 0x1201 TLTextMountVolume ((long line1Ptr) (long line2Ptr) (long button1Ptr) (long button2Ptr)) word) (def-toolbox 0x1001 UnloadOneTool (toolNumber) void) (define ToolsetIntegerMath 0x0b) (def-toolbox 0x020b IMStartUp () void) (def-toolbox 0x030b IMShutDown () void) (def-toolbox 0x040b IMVersion () word) (def-toolbox 0x060b IMStatus () word) (def-toolbox 0x280b Dec2Int ((long strPtr) strLength signedFlag) word) (def-toolbox 0x290b Dec2Long ((long strPtr) strLength signedFlag) long) (def-toolbox 0x1c0b Fix2Frac ((long fixedValue)) long) (def-toolbox 0x1b0b Fix2Long ((long fixedValue)) long) (def-toolbox 0x1e0b Fix2X ((long fixedValue) (long extendPtr)) void) (def-toolbox 0x170b FixATan2 ((long input1) (long input2)) long) (def-toolbox 0x110b FixDiv ((long dividend) (long divisor)) long) (def-toolbox 0x0f0b FixMul ((long multiplicand) (long multiplier)) long) (def-toolbox 0x0e0b FixRatio (numerator denominator) long) (def-toolbox 0x130b FixRound ((long fixedValue)) word) (def-toolbox 0x1d0b Frac2Fix ((long fracValue)) long) (def-toolbox 0x1f0b Frac2X ((long fracValue) (long extendPtr)) void) (def-toolbox 0x150b FracCos ((long angle)) long) (def-toolbox 0x120b FracDiv ((long dividend) (long divisor)) long) (def-toolbox 0x100b FracMul ((long multiplicand) (long multiplier)) long) (def-toolbox 0x160b FracSin ((long angle)) long) (def-toolbox 0x140b FracSqrt ((long fracValue)) long) (def-toolbox 0x240b Hex2Int ((long strPtr) strLength) word) (def-toolbox 0x250b Hex2Long ((long strPtr) strLength) long) (def-toolbox 0x2a0b HexIt (intValue) long) (def-toolbox 0x180b HiWord ((long longValue)) word) (def-toolbox 0x260b Int2Dec (wordValue (long strPtr) strLength signedFlag) void) (def-toolbox 0x220b Int2Hex (intValue (long strPtr) strLength) void) (def-toolbox 0x270b Long2Dec ((long longValue) (long strPtr) strLength signedFlag) void) (def-toolbox 0x1a0b Long2Fix ((long longIntValue)) long) (def-toolbox 0x230b Long2Hex ((long longValue) (long strPtr) strLength) void) (def-toolbox 0x0d0b LongDivide ((long dividend) (long divisor)) 4) ; -> long remainder, long quotient (def-toolbox 0x0c0b LongMul ((long multiplicand) (long multiplier)) 4) ; -> long msResult, long lsResult (def-toolbox 0x190b LoWord ((long longValue)) word) (def-toolbox 0x090b Multiply (multiplicand multiplier) long) (def-toolbox 0x0a0b SDivide (dividend divisor) long) ; -> word remainder, word quotient (def-toolbox 0x0b0b UDivide (dividend divisor) long) ; -> word remainder, word quotient (def-toolbox 0x200b X2Fix ((long extendPtr)) long) (def-toolbox 0x210b X2Frac ((long extendPtr)) long) (define ToolsetMemoryManager 0x02) (def-toolbox 0x0202 MMStartUp () word) (def-toolbox 0x0302 MMShutDown (userID) void) (def-toolbox 0x0402 MMVersion () word) (def-toolbox 0x0602 MMStatus () word) (def-toolbox 0x2b02 BlockMove ((long sourcePtr) (long destPtr) (long count)) void) (def-toolbox 0x1e02 CheckHandle ((long theHandle)) void) (def-toolbox 0x1f02 CompactMem () void) (def-toolbox 0x1102 DisposeAll (userID) void) (def-toolbox 0x1002 DisposeHandle ((long theHandle)) void) (def-toolbox 0x1a02 FindHandle ((long locationPtr)) long) (def-toolbox 0x1b02 FreeMem () long) (def-toolbox 0x1802 GetHandleSize ((long theHandle)) long) (def-toolbox 0x2a02 HandToHand ((long sourceHandle) (long destHandle) (long count)) void) (def-toolbox 0x2902 HandToPtr ((long sourceHandle) (long destPtr) (long count)) void) (def-toolbox 0x2002 HLock ((long theHandle)) void) (def-toolbox 0x2102 HLockAll (userID) void) (def-toolbox 0x2202 HUnlock ((long theHandle)) void) (def-toolbox 0x2302 HUnlockAll (userID) void) (def-toolbox 0x1c02 MaxBlock () long) (def-toolbox 0x0902 NewHandle ((long blockSize) userID attributes (long locationPtr)) long) (def-toolbox 0x2802 PtrToHand ((long sourcePtr) (long destHandle) (long count)) void) (def-toolbox 0x1302 PurgeAll (userID) void) (def-toolbox 0x1202 PurgeHandle ((long theHandle)) void) (def-toolbox 0x0a02 ReAllocHandle ((long blockSize) userID attributes (long locationPtr) (long theHandle)) void) (def-toolbox 0x0b02 RestoreHandle ((long theHandle)) void) (def-toolbox 0x1902 SetHandleSize ((long newSize) (long theHandle)) void) (def-toolbox 0x2402 SetPurge ((long theHandle)) word) (def-toolbox 0x2502 SetPurgeAll (userID newPurgeLevel) void) (def-toolbox 0x1d02 TotalMem () long) (define ToolsetText 0x0c) (def-toolbox 0x020c TextStartUp () void) (def-toolbox 0x030c TextShutDown () void) (def-toolbox 0x040c TextVersion () word) (def-toolbox 0x060c TextStatus () word) ; -> activeFlag (def-toolbox 0x160c CtlTextDev (deviceNum controlCode) void) (def-toolbox 0x1f0c ErrWriteBlock ((long textPtr) offset count) void) (def-toolbox 0x190c ErrWriteChar (theChar) void) (def-toolbox 0x210c ErrWriteCString ((long cStrPtr)) void) (def-toolbox 0x1b0c ErrWriteLine ((long strPtr)) void) (def-toolbox 0x1d0c ErrWriteString ((long strPtr)) void) (def-toolbox 0x0e0c GetErrGlobals () long) ; -> word andMask, word orMask (def-toolbox 0x140c GetErrorDevice () 3) ; -> word deviceType, long ptrOrSlot (def-toolbox 0x0c0c GetInGlobals () long) ; -> word andMask, word orMask (def-toolbox 0x120c GetInputDevice () 3) ; -> word deviceType, long ptrOrSlot (def-toolbox 0x0d0c GetOutGlobals () long) ; -> word andMask, word orMask (def-toolbox 0x130c GetOutputDevice () 3) ; -> word deviceType, long ptrOrSlot (def-toolbox 0x150c InitTextDev (deviceNum) void) (def-toolbox 0x220c ReadChar (echoFlag) word) (def-toolbox 0x240c ReadLine ((long bufferPtr) maxCount eolChar echoFlag) word) (def-toolbox 0x0b0c SetErrGlobals (andMask orMask) void) (def-toolbox 0x110c SetErrorDevice (deviceType (long ptrOrSlot)) void) (def-toolbox 0x090c SetInGlobals (andMask orMask) void) (def-toolbox 0x0f0c SetInputDevice (deviceType (long ptrOrSlot)) void) (def-toolbox 0x0a0c SetOutGlobals (andMask orMask) void) (def-toolbox 0x100c SetOutputDevice (deviceType ptrOrSlot) void) (def-toolbox 0x170c StatusTextDev (deviceNum requestCode) void) (def-toolbox 0x230c TextReadBlock ((long bufferPtr) offset blockSize echoFlag) void) (def-toolbox 0x1e0c TextWriteBlock ((long textPtr) offset count) void) (def-toolbox 0x180c WriteChar (theChar) void) (def-toolbox 0x200c WriteCString ((long cStrPtr)) void) ; ptr cStrPtr (def-toolbox 0x1a0c WriteLine ((long strPtr)) void) (def-toolbox 0x1c0c WriteString ((long strPtr)) void) (define ToolsetMisc 0x03) (def-toolbox 0x0203 MTStartUp () void) (def-toolbox 0x0303 MTShutDown () void) (def-toolbox 0x0403 MTVersion () word) (def-toolbox 0x0603 MTStatus () word) (def-toolbox 0x0903 WriteBRam ((long bufferPtr)) void) (def-toolbox 0x0a03 ReadBRam ((long bufferPTr)) void) (def-toolbox 0x0b03 WriteBParam (theData paramRefNum) void) (def-toolbox 0x0c03 ReadBParam (paramRefNum) word) (def-toolbox 0x0d03 ReadTimeHex () 4) ; -> bytes: weekDay, null, month, day, curYear, hour, minute, second (def-toolbox 0x0e03 WriteTimeHex (month-day curYear-hour mintue-second) void) (def-toolbox 0x0f03 ReadAsciiTime ((long bufferPtr)) void) (def-toolbox 0x2403 FWEntry (aRegValue xRegValue yRegValue eModeEntryPt) 4) ; words: status, aRegExit, xRegExit, yRegExit (def-toolbox 0x1603 GetAddr (refNum) long) (def-toolbox 0x2503 GetTick () long) (def-toolbox 0x2904 GetIRQEnable () word) (def-toolbox 0x2303 IntSource (srcRefNum) void) (def-toolbox 0x1c03 ClampMouse (xMinCLamp xMaxClamp yMinClamp yMaxClamp) void) (def-toolbox 0x1b03 ClearMouse () void) (def-toolbox 0x1d03 GetMouseClamp () 4) ; words: xMinCLamp, xMaxClamp, yMinClamp, yMaxClamp (def-toolbox 0x1a03 HomeMouse () void) (def-toolbox 0x1803 InitMouse (mouseSlot) void) (def-toolbox 0x1e03 PosMouse (xPos yPos) void) (def-toolbox 0x1704 ReadMouse () 3) ; xPosition, yPosition, byte status, byte mode (def-toolbox 0x1f03 ServeMouse () word) (def-toolbox 0x1903 SetMouse (mouseMode) void) (def-toolbox 0x2a03 SetAbsClamp (xMinClamp xMaxClamp yMinClamp yMaxClamp) void) (def-toolbox 0x2b03 GetAbsClamp () 4) ; xMinClamp xMaxClamp yMinClamp yMaxClamp (def-toolbox 0x2603 PackBytes ((long startHandle) (long sizePtr) (long bufferPtr) bufferSize) word) (def-toolbox 0x2703 UnPackBytes ((long bufferPtr) bufferSize (long startHandle) (long sizePtr)) word) (def-toolbox 0x2803 Munger ((long destPtr) (long destLenPtr) (long targPtr) targLEn (long replPtr) replLen (long padPtr)) word) (def-toolbox 0x1203 SetHeartBeat ((long taskPtr)) void) (def-toolbox 0x1303 DelHeartBeat ((long taskPtr)) void) (def-toolbox 0x1403 ClrHeartBeat () void) (def-toolbox 0x2c03 SysBeep () void) (def-toolbox 0x1503 SysFailMgr (errorCode (long strPtr)) void) (def-toolbox 0x2003 GetNewID (idTag) word) (def-toolbox 0x2103 DeleteID (idTag) void) (def-toolbox 0x2203 StatusID (idTag) void) (def-toolbox 0x1003 SetVector (vectorRefNum (long vectorPtr)) void) (def-toolbox 0x1103 GetVector (vectorRefNum) long) (define ToolsetEventManager 0x06) (define nullEvt 0) (define mouseDownEvt 1) (define mouseUpEvt 2) (define keyDownEvt 3) (define autoKeyEvt 5) (define updateEvt 6) (define activeFlag 0x0001) (define changeFlag 0x0002) (define btn1State 0x0040) (define btn0State 0x0080) (define appleKey 0x0100) (define shiftKey 0x0200) (define capsLock 0x0400) (define optionKey 0x0800) (define controlKey 0x1000) (define keyPad 0x2000) (define mDownMask 0x0002) (define mUpMask 0x0004) (define keyDownMask 0x0008) (define autoKeyMask 0x0020) (define updateMask 0x0040) (def-toolbox 0x0206 EMStartUp (dPageAddr queueSize xMinClamp xMaxClamp yMinClamp yMaxClamp userID) void) (def-toolbox 0x0306 EMShutDown () void) (def-toolbox 0x0406 EMVersion () word) (def-toolbox 0x0606 EMStatus () word) (def-toolbox 0x0d06 Button (buttonNum) word) (def-toolbox 0x0b06 EventAvail (eventMask (long eventPtr)) word) (def-toolbox 0x1506 FlushEvents (eventMask stopMask) word) (def-toolbox 0x1206 GetCaretTime () long) (def-toolbox 0x1106 GetDblTime () long) (def-toolbox 0x0c06 GetMouse ((long mouseLocPtr)) void) (def-toolbox 0x0a06 GetNextEvent (eventMask (long eventPtr)) word) (def-toolbox 0x1606 GetOSEvent (eventMask (long eventPtr)) word) (def-toolbox 0x1706 OSEventAvail (eventMask (long eventPtr)) word) (def-toolbox 0x1406 PostEvent (eventCode (long eventMsg)) word) (def-toolbox 0x1806 SetEventMask (sysEventMask) void) (def-toolbox 0x0e06 StillDown (buttonNum) word) (def-toolbox 0x1006 TickCount () long) (def-toolbox 0x0f06 WaitMouseUp (buttonNum) word) (define ToolsetQuickDraw 0x04) (def-toolbox 0x0204 QDStartUp (dPageAddr masterSCB maxWidth userID) void) (def-toolbox 0x0304 QDShutDown () void) (def-toolbox 0x0404 QDVersion () word) (def-toolbox 0x0604 QDStatus () word) (def-toolbox 0x8004 AddPt ((long srcPtPtr) (long destPtPtr)) void) (def-toolbox 0xac04 CharBounds (theChar (long resultPtr)) void) (def-toolbox 0xa804 CharWidth (theChar) word) (def-toolbox 0x1504 ClearScreen (colorWord) void) (def-toolbox 0x2604 ClipRect ((long rectPtr)) void) (def-toolbox 0xc204 ClosePoly () void) (def-toolbox 0x1a04 ClosePort ((long portPtr)) void) (def-toolbox 0x6e04 CloseReg ((long rgnHandle)) void) (def-toolbox 0x6904 CopyRgn ((long srcRgnHandle) (long dstRgnHandle)) void) (def-toolbox 0xae04 CStringBounds ((long cStringPtr) (long resultPtr)) void) (def-toolbox 0xaa04 CStringWidth ((long cStringPtr)) word) (def-toolbox 0x7304 DiffRgn ((long rgn1Handle) (long rgn2Handle) (long diffRgnHandle)) void) (def-toolbox 0x6804 DisposeRgn ((long rgnHandle)) void) (def-toolbox 0xa404 DrawChar (theChar) void) (def-toolbox 0xa604 DrawCString ((long cStringPtr)) void) (def-toolbox 0xa504 DrawString ((long stringPtr)) void) (def-toolbox 0xa704 DrawText ((long textPtr) textLength) void) (def-toolbox 0x7804 EmptyRgn ((long rgnHandle)) word) (def-toolbox 0x8304 EqualPt ((long point1Ptr) (long point2Ptr)) word) (def-toolbox 0x5104 EqualRect ((long rect1Ptr) (long rect2Ptr)) word) (def-toolbox 0x7704 EqualRgn ((long rgn1Handle) (long rgn2Handle)) word) (def-toolbox 0x6404 EraseArc ((long rectPtr) startAngle arcAngle) void) (def-toolbox 0x5a04 EraseOval ((long rectPtr)) void) (def-toolbox 0xbe04 ErasePoly ((long polyHandle)) void) (def-toolbox 0x5504 EraseRect ((long rectPtr)) void) (def-toolbox 0x7b04 EraseRgn ((long rgnHandle)) void) (def-toolbox 0x5f04 EraseRRect ((long rectPtr) ovalWidth ovalHeight) void) (def-toolbox 0x6604 FillArc ((long rectPtr) startAngle arcAngle (long patternPtr)) void) (def-toolbox 0x5c04 FillOval ((long rectPtr) (long patternPtr)) void) (def-toolbox 0xc004 FillPoly ((long polyHandle) (long patternPtr)) void) (def-toolbox 0x5704 FillRect ((long rectPtr) (long patternPtr)) void) (def-toolbox 0x7d04 FillRgn ((long rgnHandle) (long patternPtr)) void) (def-toolbox 0x6104 FillRRect ((long rectPtr) ovalWidth ovalHeight (long patternPtr)) void) (def-toolbox 0xcc04 ForceBufDims (maxWidth maxFontHeight maxFBRExtent) void) (def-toolbox 0x6204 FrameArc ((long rectPtr) startAngle arcAngle) void) (def-toolbox 0x5804 FrameOval ((long rectPtr)) void) (def-toolbox 0xbc04 FramePoly ((long polyHandle)) void) (def-toolbox 0x5304 FrameRect ((long rectPtr)) void) (def-toolbox 0x7904 FrameRgn ((long rgnHandle)) void) (def-toolbox 0x5d04 FrameRRect ((long rectPtr) ovalWidth ovalHeight) void) (def-toolbox 0x0904 GetAddress (tableID) long) (def-toolbox 0xb104 GetArcRot () word) (def-toolbox 0xa304 GetBackColor () word) (def-toolbox 0x3504 GetBackPat ((long patternPtr)) void) (def-toolbox 0xd504 GetCharExtra () long) (def-toolbox 0x2504 GetClip ((long rgnHandle)) void) (def-toolbox 0xc704 GetClipHandle () long) (def-toolbox 0x1104 GetColorEntry (tableNumber entryNumber) word) (def-toolbox 0x0f04 GetColorTable (tableNumber (long destTablePtr)) void) (def-toolbox 0x8f04 GetCursorAdr () long) (def-toolbox 0xcf04 GetFGSize () word) (def-toolbox 0x9504 GetFont () long) (def-toolbox 0x9904 GetFontFlags () word) (def-toolbox 0x9704 GetFontGlobals ((long fgRecPtr)) void) (def-toolbox 0xd104 GetFontID () long) (def-toolbox 0x9604 GetFontInfo ((long fontInfoRecPtr)) void) (def-toolbox 0xd904 GetFontLore ((long recordPtr) recordSize) word) (def-toolbox 0xa104 GetForeColor () word) (def-toolbox 0x4504 GetGrafProcs () long) (def-toolbox 0x1704 GetMasterSCB () word) (def-toolbox 0x2904 GetPen () long) (def-toolbox 0x3304 GetPenMask ((long maskPtr)) void) (def-toolbox 0x2f04 GetPenMode () word) (def-toolbox 0x3104 GetPenPat ((long patternPtr)) void) (def-toolbox 0x2d04 GetPenSize ((long pointPtr)) void) (def-toolbox 0x2b04 GetPenState ((long penStatePtr)) void) (def-toolbox 0x3f04 GetPicSave () long) (def-toolbox 0x8804 GetPixel (h v) word) (def-toolbox 0x4304 GetPolySave () long) (def-toolbox 0x1c04 GetPort () long) (def-toolbox 0x1e04 GetPortLoc ((long locInfoPtr)) void) (def-toolbox 0x2004 GetPortRect ((long rectPtr)) void) (def-toolbox 0x4104 GetRgnSave () long) (def-toolbox 0xd804 GetRomFont ((long recordPtr)) void) (def-toolbox 0x1304 GetSCB (scanLine) word) (def-toolbox 0x9f04 GetSpaceExtra () long) (def-toolbox 0x0c04 GetStandardSCB () word) (def-toolbox 0x4904 GetSysField () long) (def-toolbox 0xb304 GetSysFont () long) (def-toolbox 0x9b04 GetTextFace () word) (def-toolbox 0x9d04 GetTextMode () word) (def-toolbox 0xd304 GetTextSize () word) (def-toolbox 0x4704 GetUserField () long) (def-toolbox 0xc904 GetVisHandle () long) (def-toolbox 0xb504 GetVisRgn ((long rgnHandle)) void) (def-toolbox 0x8504 GlobalToLocal ((long pointPtr)) void) (def-toolbox 0x0b04 GrafOff () void) (def-toolbox 0x0a04 GrafOn () void) (def-toolbox 0x9004 HideCursor () void) (def-toolbox 0x2704 HidePen () void) (def-toolbox 0xd704 InflateTextBuffer (newWidth newHeight) void) (def-toolbox 0x0d04 InitColorTable ((long tablePtr)) void) (def-toolbox 0xca04 InitCursor () void) (def-toolbox 0x1904 InitPort ((long portPtr)) void) (def-toolbox 0x4c04 InsetRect ((long rectPtr) dH dV) void) (def-toolbox 0x7004 InsetRgn ((long rgnHandle) dH dV) void) (def-toolbox 0x6504 InvertArc ((long rectPtr) startAngle arcAngle) void) (def-toolbox 0x5b04 InvertOval ((long rectPtr)) void) (def-toolbox 0xbf04 InvertPoly ((long polyHandle)) void) (def-toolbox 0x5604 InvertRect ((long rectPtr)) void) (def-toolbox 0x7c04 InvertRgn ((long rgnHandle)) void) (def-toolbox 0x6004 InvertRRect ((long rectPtr) ovalWidth ovalHeight) void) (def-toolbox 0xc304 KillPoly ((long polyHandle)) void) (def-toolbox 0x3d04 Line (dH dV) void) (def-toolbox 0x3c04 LineTo (h v) void) (def-toolbox 0x8404 LocalToGlobal ((long pointPtr)) void) (def-toolbox 0xc504 MapPoly ((long polyHandle) (long srcRectPtr) (long destRectPtr)) void) (def-toolbox 0x8a04 MapPt ((long pointPtr) (long srcRectPtr) (long destRectPtr)) void) (def-toolbox 0x8b04 MapRect ((long rectPtr) (long srcRectPtr) (long destRectPtr)) void) (def-toolbox 0x8c04 MapRgn ((long mapRgnHandle) (long srcRectPtr) (long destRectPtr)) void) (def-toolbox 0x3b04 Move (dH dV) void) (def-toolbox 0x2204 MovePortTo (h v) void) (def-toolbox 0x3a04 MoveTo (h v) void) (def-toolbox 0x6704 NewRgn () long) (def-toolbox 0x5204 NotEmptyRect ((long rectPtr)) word) (def-toolbox 0x9204 ObscureCursor () void) (def-toolbox 0xc404 OffsetPoly ((long polyHandle) dH dV) void) (def-toolbox 0x4b04 OffsetRect ((long rectPtr) dH dV) void) (def-toolbox 0x6f04 OffsetRgn ((long rgnHandle) dH dV) void) (def-toolbox 0xc104 OpenPoly () long) (def-toolbox 0x1804 OpenPort ((long portPtr)) void) (def-toolbox 0x6d04 OpenRgn () void) (def-toolbox 0x6304 PaintArc ((long rectPtr) startAngle arcAngle) void) (def-toolbox 0x5904 PaintOval ((long rectPtr)) void) (def-toolbox 0x7f04 PaintPixels ((long paintParamPtr)) void) (def-toolbox 0xbd04 PaintPoly ((long polyHandle)) void) (def-toolbox 0x5404 PaintRect ((long rectPtr)) void) (def-toolbox 0x7a04 PaintRgn ((long rgnHandle)) void) (def-toolbox 0x5e04 PaintRRect ((long rectPtr) ovalWidth ovalHeight) void) (def-toolbox 0x3604 PenNormal () void) (def-toolbox 0xd604 PPToPort ((long srcLocPtr) (long srcRectPtr) destX destY transferMode) void) (def-toolbox 0x5004 Pt2Rect ((long point1Ptr) (long point2Ptr) (long rectPtr)) void) (def-toolbox 0x4f04 PtInRect ((long pointPtr) (long rectPtr)) word) (def-toolbox 0x7504 PtInRgn ((long pointPtr) (long rgnHandle)) word) (def-toolbox 0x8604 Random () word) (def-toolbox 0x7604 RectInRgn ((long rectPtr) (long rgnHandle)) word) (def-toolbox 0x6c04 RectRgn ((long rgnHandle) (long rectPtr)) void) (def-toolbox 0xce04 RestoreBufDims ((long sizeInfoPtr)) void) (def-toolbox 0xcd04 SaveBufDims ((long sizeInfoPtr)) void) (def-toolbox 0x8904 ScalePt ((long pointPtr) (long srcRectPtr) (long destRectPtr)) void) (def-toolbox 0x7e04 ScrollRect ((long rectPtr) dH dV (long updateRgnHandle)) void) (def-toolbox 0x4d04 SectRect ((long rect1Ptr) (long rect2Ptr) (long intersectRectPtr)) word) (def-toolbox 0x7104 SectRgn ((long rgn1Handle) (long rgn2Handle) (long destRgnHandle)) void) (def-toolbox 0x1404 SetAllSCBs (newSCB) void) (def-toolbox 0xb004 SetArcRot (arcRotValue) void) (def-toolbox 0xa204 SetBackColor (backColor) void) (def-toolbox 0x3404 SetBackPat ((long patternPtr)) void) (def-toolbox 0xcb04 SetBufDims (maxWidth maxFontHeight maxFBRExtent) void) (def-toolbox 0xd404 SetCharExtra ((long charExtra)) void) (def-toolbox 0x2404 SetClip ((long rgnHandle)) void) (def-toolbox 0xc604 SetClipHandle ((long rgnHandle)) void) (def-toolbox 0x1004 SetColorEntry (tableNumber entryNUmber newColor) void) (def-toolbox 0x0e04 SetColorTable (tableNumber (long srcTablePtr)) void) (def-toolbox 0x8e04 SetCursor ((long cursorPtr)) void) (def-toolbox 0x6a04 SetEmptyRgn ((long rgnHandle)) void) (def-toolbox 0x9404 SetFont ((long newFontHandle)) void) (def-toolbox 0x9804 SetFontFlags (fontFlags) void) (def-toolbox 0xd004 SetFontID ((long fontID)) void) (def-toolbox 0xa004 SetForeColor (foreColor) void) (def-toolbox 0x4404 SetGrafProcs ((long grafProcsPtr)) void) (def-toolbox 0xb604 SetIntUse (useInt) void) (def-toolbox 0x1604 SetMasterSCB (masterSCB) void) (def-toolbox 0x2304 SetOrigin (h v) void) (def-toolbox 0x3204 SetPenMask ((long maskPtr)) void) (def-toolbox 0x2e04 SetPenMode (penMode) void) (def-toolbox 0x3004 SetPenPat ((long patternPtr)) void) (def-toolbox 0x2c04 SetPenSize (penWidth penHeight) void) (def-toolbox 0x2a04 SetPenState ((long penStatePtr)) void) (def-toolbox 0x3e04 SetPicSave ((long picSaveValue)) void) (def-toolbox 0x1b04 SetPort ((long portPtr)) void) (def-toolbox 0x1d04 SetPortLoc ((long locInfoPtr)) void) (def-toolbox 0x1f04 SetPortRect ((long rectPtr)) void) (def-toolbox 0x2104 SetPortSize (portWidth portHeight) void) (def-toolbox 0x8204 SetPt ((long srcPtPtr) h v) void) (def-toolbox 0x8704 SetRandSeed ((long randomSeed)) void) (def-toolbox 0x4a04 SetRect ((long rectPtr) left top right bottom) void) (def-toolbox 0x6b04 SetRectRgn ((long rgnHandle) left top right bottom) void) (def-toolbox 0x1204 SetSCB (scanLine newSCB) void) (def-toolbox 0x3804 SetSolidBackPat (colorNum) void) (def-toolbox 0x3704 SetSolidPenPat (colorNum) void) (def-toolbox 0x9e04 SetSpaceExtra ((long spaceExtra)) void) (def-toolbox 0x8d04 SetStdProcs ((long stdProcRecPtr)) void) (def-toolbox 0xb204 SetSysFont ((long fontHandle)) void) (def-toolbox 0x9a04 SetTextFace (textFace) void) (def-toolbox 0x9c04 SetTextMode (textMode) void) (def-toolbox 0xd204 SetTextSize (textSize) void) (def-toolbox 0x4604 SetUserField ((long userFieldValue)) void) (def-toolbox 0xc804 SetVisHandle ((long rgnHandle)) void) (def-toolbox 0xb404 SetVisRgn ((long rgnHandle)) void) (def-toolbox 0x9104 ShowCursor () void) (def-toolbox 0x2804 ShowPen () void) (def-toolbox 0x3904 SolidPattern (colorNum (long patternPtr)) void) (def-toolbox 0xad04 StringBounds ((long stringPtr) (long resultPtr)) void) (def-toolbox 0xa904 StringWidth ((long stringPtr)) word) (def-toolbox 0x8104 SubPt ((long srcPtPtr) (long destPtPtr)) void) (def-toolbox 0xaf04 TextBounds ((long textPtr) textLength (long resultPtr)) void) (def-toolbox 0xab04 TextWidth ((long textPtr) textLength) word) (def-toolbox 0x4e04 UnionRect ((long rect1Ptr) (long rect2Ptr) (long unionRectPtr)) void) (def-toolbox 0x7204 UnionRgn ((long rgn1Handle) (long rgn2Handle) (long unionRgnHandle)) void) (def-toolbox 0x7404 XorRgn ((long rgn1Handle) (long rgn2Handle) (long xorRgnHandle)) void) ))