mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
458 lines
15 KiB
Plaintext
458 lines
15 KiB
Plaintext
;
|
||
; File: Icons.a
|
||
;
|
||
; Contains: Public Asm Interfaces for color icon plotting utilities
|
||
;
|
||
; Written by: Kevin MacDonell
|
||
;
|
||
; Copyright: © 1990, 1992 by Apple Computer, Inc., all rights reserved.
|
||
;
|
||
; This file is used in these builds: BigBang
|
||
;
|
||
;
|
||
; Change History (most recent first):
|
||
;
|
||
; <20> 3/17/92 DC Added include of traps.a so that DoDispatch would be defined.
|
||
; <19> 3/17/92 DC imported all private definitions from IconUtilsPriv.a except get
|
||
; and set icon device and SetLabel.
|
||
; <18> 1/30/91 gbm sab, #38: Change the ‘already including this file’ variable to
|
||
; all uppercase (for security reasons)
|
||
; <17> 1/17/91 DC csd - add genericExtensionIconResource (-16415)
|
||
; <16> 1/16/91 JDR (dba) Renamed spoolFolderIconResource into
|
||
; printMonitorFolderIconResource.
|
||
; <15> 1/7/91 JDR (dba) Removing private Icon Utilities routines from the public
|
||
; interfaces.
|
||
; <14> 11/29/90 DC ngk - Add selector for GetIconDevice. Fix selector names for
|
||
; routines with new names.
|
||
; <13> 11/19/90 DC ngk - Moved System Icon ID's from private to public and added
|
||
; interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
|
||
; <12> 9/19/90 DC Changed names of some routines to be more descriptive
|
||
; <11> 9/15/90 DC Removed SetLabel from public interface
|
||
; <10> 7/25/90 DC Added interfaces for Get and Set cache Procs and Data
|
||
; <9> 7/23/90 DC New interfaces for SetIconDevice etc
|
||
; <8> 7/12/90 DC Really removed support for ttGhost
|
||
; <7> 7/12/90 DC Removed support for ttGhost
|
||
; <6> 7/5/90 DC Add interfaces for hit-testing and region-producing routines.
|
||
; <5> 6/29/90 DC Added label transforms
|
||
; <4> 6/29/90 DC Added GetLabel and SetLabel
|
||
; <3> 6/1/90 DC Minor Inteface cleanup
|
||
; <2> 5/30/90 DC Changed protection identifier from IncludingIconUtils to
|
||
; IncludingIcons
|
||
; <1> 5/30/90 DC first checked in as Icons.a
|
||
; <11> 5/30/90 DC Do the right thing for a linked patch interface
|
||
; <10> 5/22/90 DC Made IconCaches a subclass of IconSuites
|
||
; <9> 5/4/90 DC Added new EQU's for ttGhost
|
||
; <8> 5/4/90 DC Changed DC.L's to EQU's
|
||
; <4> 4/24/90 DC Add interfaces for NewIconSuite, AddIconToSuite, ETC.
|
||
; <3> 4/11/90 DC changed interfaces for transforms
|
||
; <2> 4/11/90 KSM Changed the DC.B's to DC.L's for the rsrc types.
|
||
; <1> 4/11/90 KSM First checked in.
|
||
; To Do:
|
||
|
||
IF &TYPE('__INCLUDINGICONS__') = 'UNDEFINED' THEN
|
||
__INCLUDINGICONS__ SET 1
|
||
|
||
IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
|
||
INCLUDE 'Traps.a'
|
||
ENDIF ; ...already included
|
||
|
||
; The following are icons for which there are both icon suites and SICNs.
|
||
|
||
genericDocumentIconResource EQU -4000
|
||
genericStationeryIconResource EQU -3985
|
||
genericEditionFileIconResource EQU -3989
|
||
genericApplicationIconResource EQU -3996
|
||
genericDeskAccessoryIconResource EQU -3991
|
||
|
||
genericFolderIconResource EQU -3999
|
||
privateFolderIconResource EQU -3994
|
||
|
||
floppyIconResource EQU -3998
|
||
trashIconResource EQU -3993
|
||
|
||
; The following are icons for which there are SICNs only.
|
||
|
||
desktopIconResource EQU -3992
|
||
openFolderIconResource EQU -3997
|
||
genericHardDiskIconResource EQU -3995
|
||
genericFileServerIconResource EQU -3972
|
||
genericSuitcaseIconResource EQU -3970
|
||
genericMoverObjectIconResource EQU -3969
|
||
|
||
; The following are icons for which there are icon suites only.
|
||
|
||
genericPreferencesIconResource EQU -3971
|
||
genericQueryDocumentIconResource EQU -16506
|
||
genericExtensionIconResource EQU -16415
|
||
|
||
systemFolderIconResource EQU -3983
|
||
appleMenuFolderIconResource EQU -3982
|
||
startupFolderIconResource EQU -3981
|
||
ownedFolderIconResource EQU -3980
|
||
dropFolderIconResource EQU -3979
|
||
sharedFolderIconResource EQU -3978
|
||
mountedFolderIconResource EQU -3977
|
||
controlPanelFolderIconResource EQU -3976
|
||
printMonitorFolderIconResource EQU -3975
|
||
preferencesFolderIconResource EQU -3974
|
||
extensionsFolderIconResource EQU -3973
|
||
|
||
fullTrashIconResource EQU -3984
|
||
|
||
|
||
Large1BitMask EQU ('ICN#')
|
||
Large4BitData EQU ('icl4')
|
||
Large8BitData EQU ('icl8')
|
||
Small1BitMask EQU ('ics#')
|
||
Small4BitData EQU ('ics4')
|
||
Small8BitData EQU ('ics8')
|
||
Mini1BitMask EQU ('icm#')
|
||
Mini4BitData EQU ('icm4')
|
||
Mini8BitData EQU ('icm8')
|
||
|
||
|
||
; Alignment Equates
|
||
|
||
atNone EQU $0
|
||
atVerticalCenter EQU $1
|
||
atTop EQU $2
|
||
atBottom EQU $3
|
||
atHorizontalCenter EQU $4
|
||
atAbsoluteCenter EQU (atVerticalCenter | atHorizontalCenter)
|
||
atCenterTop EQU (atTop | atHorizontalCenter)
|
||
atCenterBottom EQU (atBottom | atHorizontalCenter)
|
||
atLeft EQU $8
|
||
atCenterLeft EQU (atVerticalCenter | atLeft)
|
||
atTopLeft EQU (atTop | atLeft)
|
||
atBottomLeft EQU (atBottom | atLeft)
|
||
atRight EQU $C
|
||
atCenterRight EQU (atVerticalCenter | atRight)
|
||
atTopRight EQU (atTop | atRight)
|
||
atBottomRight EQU (atBottom | atRight)
|
||
|
||
;Transform Types
|
||
|
||
ttNone EQU $0
|
||
ttDisabled EQU $1
|
||
ttOffline EQU $2
|
||
ttOpen EQU $3
|
||
ttLabel1 EQU $0100
|
||
ttLabel2 EQU $0200
|
||
ttLabel3 EQU $0300
|
||
ttLabel4 EQU $0400
|
||
ttLabel5 EQU $0500
|
||
ttLabel6 EQU $0600
|
||
ttLabel7 EQU $0700
|
||
ttSelected EQU $4000
|
||
ttSelectedDisabled EQU (ttSelected | ttDisabled)
|
||
ttSelectedOffline EQU (ttSelected | ttOffline)
|
||
ttSelectedOpen EQU (ttSelected | ttOpen)
|
||
|
||
;Selector mask values
|
||
|
||
svLarge1Bit EQU $00000001
|
||
svLarge4Bit EQU $00000002
|
||
svLarge8Bit EQU $00000004
|
||
svSmall1Bit EQU $00000100
|
||
svSmall4Bit EQU $00000200
|
||
svSmall8Bit EQU $00000400
|
||
svMini1Bit EQU $00010000
|
||
svMini4Bit EQU $00020000
|
||
svMini8Bit EQU $00040000
|
||
svAllLargeData EQU $000000FF
|
||
svAllSmallData EQU $0000FF00
|
||
svAllMiniData EQU $00FF0000
|
||
svAll1BitData EQU (svLarge1Bit | svSmall1Bit | svMini1Bit)
|
||
svAll4BitData EQU (svLarge4Bit | svSmall4Bit | svMini4Bit)
|
||
svAll8BitData EQU (svLarge8Bit | svSmall8Bit | svMini8Bit)
|
||
svAllAvailableData EQU $FFFFFFFF
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the new selectors for the Icon Utilities
|
||
|
||
selectPlotIconID EQU $0
|
||
selectGetIconSuite EQU $1
|
||
selectDisposeIconSuite EQU $2
|
||
selectPlotIconSuite EQU $3
|
||
selectMakeIconCache EQU $4
|
||
selectPlotIconMethod EQU $5
|
||
selectLoadIconCache EQU $6
|
||
selectNewIconSuite EQU $7
|
||
selectAddIconToSuite EQU $8
|
||
selectGetIconFromSuite EQU $9
|
||
selectForEachIconDo EQU $A
|
||
selectGetLabel EQU $B
|
||
selectPtInIconID EQU $D
|
||
selectPtInIconSuite EQU $E
|
||
selectPtInIconMethod EQU $F
|
||
selectRectInIconID EQU $10
|
||
selectRectInIconSuite EQU $11
|
||
selectRectInIconMethod EQU $12
|
||
selectIconIDToRgn EQU $13
|
||
selectIconSuiteToRgn EQU $14
|
||
selectIconMethodToRgn EQU $15
|
||
selectSetSuiteLabel EQU $16
|
||
selectGetSuiteLabel EQU $17
|
||
selectGetIconCacheData EQU $19
|
||
selectSetIconCacheData EQU $1A
|
||
selectGetIconCacheProc EQU $1B
|
||
selectSetIconCacheProc EQU $1C
|
||
selectPlotIconHandle EQU $1D
|
||
selectPlotSICNHandle EQU $1E
|
||
selectPlotCIconHandle EQU $1F
|
||
|
||
;————————————————————————————————————————————————————————————————————————————————————————————————————
|
||
; Define the new paramors for the Icon Utilities
|
||
|
||
paramPlotIconID EQU $5
|
||
paramGetIconSuite EQU $5
|
||
paramDisposeIconSuite EQU $3
|
||
paramPlotIconSuite EQU $6
|
||
paramMakeIconCache EQU $6
|
||
paramPlotIconMethod EQU $8
|
||
paramLoadIconCache EQU $6
|
||
paramNewIconSuite EQU $2
|
||
paramAddIconToSuite EQU $6
|
||
paramGetIconFromSuite EQU $6
|
||
paramForEachIconDo EQU $8
|
||
paramGetLabel EQU $5
|
||
paramPtInIconID EQU $6
|
||
paramPtInIconSuite EQU $7
|
||
paramPtInIconMethod EQU $9
|
||
paramRectInIconID EQU $6
|
||
paramRectInIconSuite EQU $7
|
||
paramRectInIconMethod EQU $9
|
||
paramIconIDToRgn EQU $6
|
||
paramIconSuiteToRgn EQU $7
|
||
paramIconMethodToRgn EQU $9
|
||
paramSetSuiteLabel EQU $3
|
||
paramGetSuiteLabel EQU $2
|
||
paramGetIconCacheData EQU $4
|
||
paramSetIconCacheData EQU $4
|
||
paramGetIconCacheProc EQU $4
|
||
paramSetIconCacheProc EQU $4
|
||
paramPlotIconHandle EQU $6
|
||
paramPlotSICNHandle EQU $6
|
||
paramPlotCIconHandle EQU $6
|
||
|
||
; IconAction = ProcPtr; {
|
||
; FUNCTION IconAction(theType: ResType;
|
||
; VAR theIcon: Handle;
|
||
; yourDataPtr: Ptr): OSErr;
|
||
; }
|
||
|
||
; IconGetter = ProcPtr; {
|
||
; FUNCTION IconGetter(theType: ResType;
|
||
; yourDataPtr: Ptr): Handle;
|
||
; }
|
||
|
||
; FUNCTION PlotIconID(theRect: Rect; align: INTEGER;
|
||
; transform: INTEGER; theID: INTEGER): OSErr;
|
||
MACRO
|
||
_PlotIconID
|
||
DoDispatch _IconDispatch, selectPlotIconID, paramPlotIconID
|
||
ENDM
|
||
|
||
; FUNCTION NewIconSuite(VAR theIconSuite: Handle): OSErr;
|
||
MACRO
|
||
_NewIconSuite
|
||
DoDispatch _IconDispatch, selectNewIconSuite, paramNewIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION AddIconToSuite(theIconData: Handle; theSuite: Handle;
|
||
; theType: ResType): OSErr;
|
||
MACRO
|
||
_AddIconToSuite
|
||
DoDispatch _IconDispatch, selectAddIconToSuite, paramAddIconToSuite
|
||
ENDM
|
||
|
||
; FUNCTION GetIconFromSuite(VAR theIconData: Handle; theSuite: Handle;
|
||
; theType: ResType): OSErr;
|
||
MACRO
|
||
_GetIconFromSuite
|
||
DoDispatch _IconDispatch, selectGetIconFromSuite, paramGetIconFromSuite
|
||
ENDM
|
||
|
||
; FUNCTION ForEachIconDo(theSuite: Handle; selector: LONGINT;
|
||
; action: IconAction; yourDataPtr: Ptr): OSErr;
|
||
MACRO
|
||
_ForEachIconDo
|
||
DoDispatch _IconDispatch, selectForEachIconDo, paramForEachIconDo
|
||
ENDM
|
||
|
||
; FUNCTION GetIconSuite(VAR theIconSuite: Handle; theID: INTEGER;
|
||
; selector: LONGINT): OSErr;
|
||
MACRO
|
||
_GetIconSuite
|
||
DoDispatch _IconDispatch, selectGetIconSuite, paramGetIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION DisposeIconSuite(theIconSuite: Handle,
|
||
; disposeData: BOOLEAN): OSErr;
|
||
MACRO
|
||
_DisposeIconSuite
|
||
DoDispatch _IconDispatch, selectDisposeIconSuite, paramDisposeIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION PlotIconSuite(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theIconSuite: Handle): OSErr;
|
||
MACRO
|
||
_PlotIconSuite
|
||
DoDispatch _IconDispatch, selectPlotIconSuite, paramPlotIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION MakeIconCache(VAR theHandle: Handle; makeIcon: IconGetter;
|
||
; yourDataPtr: Ptr): OSErr;
|
||
MACRO
|
||
_MakeIconCache
|
||
DoDispatch _IconDispatch, selectMakeIconCache, paramMakeIconCache
|
||
ENDM
|
||
|
||
; FUNCTION LoadIconCache(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theIconCache: Handle): OSErr;
|
||
MACRO
|
||
_LoadIconCache
|
||
DoDispatch _IconDispatch, selectLoadIconCache, paramLoadIconCache
|
||
ENDM
|
||
|
||
; FUNCTION PlotIconMethod(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theMethod: IconGetter; yourDataPtr: Ptr): OSErr;
|
||
MACRO
|
||
_PlotIconMethod
|
||
DoDispatch _IconDispatch, selectPlotIconMethod, paramPlotIconMethod
|
||
ENDM
|
||
|
||
; FUNCTION GetLabel(labelNumber: INTEGER; VAR labelColor: RGBColor;
|
||
; VAR Str255 labelString): OSErr;
|
||
MACRO
|
||
_GetLabel
|
||
DoDispatch _IconDispatch, selectGetLabel, paramGetLabel
|
||
ENDM
|
||
|
||
; FUNCTION PtInIconID(testPt: Point; iconRect: Rect;
|
||
; align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
|
||
MACRO
|
||
_PtInIconID
|
||
DoDispatch _IconDispatch, selectPtInIconID, paramPtInIconID
|
||
ENDM
|
||
|
||
; FUNCTION PtInIconSuite(testPt: Point; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theIconSuite: Handle): BOOLEAN;
|
||
MACRO
|
||
_PtInIconSuite
|
||
DoDispatch _IconDispatch, selectPtInIconSuite, paramPtInIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION PtInIconMethod(testPt: Point; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
|
||
MACRO
|
||
_PtInIconMethod
|
||
DoDispatch _IconDispatch, selectPtInIconMethod, paramPtInIconMethod
|
||
ENDM
|
||
|
||
; FUNCTION RectInIconID(testRect: Rect; iconRect: Rect;
|
||
; align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
|
||
MACRO
|
||
_RectInIconID
|
||
DoDispatch _IconDispatch, selectRectInIconID, paramRectInIconID
|
||
ENDM
|
||
|
||
; FUNCTION RectInIconSuite(testRect: Rect; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theIconSuite: Handle): BOOLEAN;
|
||
MACRO
|
||
_RectInIconSuite
|
||
DoDispatch _IconDispatch, selectRectInIconSuite, paramRectInIconSuite
|
||
ENDM
|
||
|
||
; FUNCTION RectInIconMethod(testRect: Rect; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
|
||
MACRO
|
||
_RectInIconMethod
|
||
DoDispatch _IconDispatch, selectRectInIconMethod, paramRectInIconMethod
|
||
ENDM
|
||
|
||
; FUNCTION IconIDToRgn(theRgn: RgnHandle; iconRect: Rect;
|
||
; align: IconAlignmentType; iconID: INTEGER): OSErr;
|
||
MACRO
|
||
_IconIDToRgn
|
||
DoDispatch _IconDispatch, selectIconIDToRgn, paramIconIDToRgn
|
||
ENDM
|
||
|
||
; FUNCTION IconSuiteToRgn(theRgn: RgnHandle; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theIconSuite: Handle): OSErr;
|
||
MACRO
|
||
_IconSuiteToRgn
|
||
DoDispatch _IconDispatch, selectIconSuiteToRgn, paramIconSuiteToRgn
|
||
ENDM
|
||
|
||
; FUNCTION IconMethodToRgn(theRgn: RgnHandle; iconRect: Rect;
|
||
; align: IconAlignmentType;
|
||
; theMethod: IconGetter; yourDataPtr: Ptr): OSErr;
|
||
MACRO
|
||
_IconMethodToRgn
|
||
DoDispatch _IconDispatch, selectIconMethodToRgn, paramIconMethodToRgn
|
||
ENDM
|
||
|
||
; FUNCTION SetSuiteLabel(theSuite: Handle; theLabel: INTEGER): OSErr;
|
||
MACRO
|
||
_SetSuiteLabel
|
||
DoDispatch _IconDispatch, selectSetSuiteLabel, paramSetSuiteLabel
|
||
ENDM
|
||
|
||
; FUNCTION GetSuiteLabel(theSuite: Handle): INTEGER;
|
||
MACRO
|
||
_GetSuiteLabel
|
||
DoDispatch _IconDispatch, selectGetSuiteLabel, paramGetSuiteLabel
|
||
ENDM
|
||
|
||
; FUNCTION GetIconCacheData(theCache: Handle; VAR theData: Ptr): OSErr;
|
||
MACRO
|
||
_GetIconCacheData
|
||
DoDispatch _IconDispatch, selectGetIconCacheData, paramGetIconCacheData
|
||
ENDM
|
||
|
||
; FUNCTION SetIconCacheData(theCache: Handle; theData: Ptr): OSErr;
|
||
MACRO
|
||
_SetIconCacheData
|
||
DoDispatch _IconDispatch, selectSetIconCacheData, paramSetIconCacheData
|
||
ENDM
|
||
|
||
; FUNCTION GetIconCacheProc(theCache: Handle; VAR theProc: IconGetter): OSErr;
|
||
MACRO
|
||
_GetIconCacheProc
|
||
DoDispatch _IconDispatch, selectGetIconCacheProc, paramGetIconCacheProc
|
||
ENDM
|
||
|
||
; FUNCTION SetIconCacheProc(theCache: Handle; theProc: IconGetter): OSErr;
|
||
MACRO
|
||
_SetIconCacheProc
|
||
DoDispatch _IconDispatch, selectSetIconCacheProc, paramSetIconCacheProc
|
||
ENDM
|
||
|
||
; FUNCTION PlotIconHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theIcon: Handle): OSErr;
|
||
MACRO
|
||
_PlotIconHandle
|
||
DoDispatch _IconDispatch, selectPlotIconHandle, paramPlotIconHandle
|
||
ENDM
|
||
|
||
; FUNCTION PlotSICNHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theSICN: Handle): OSErr;
|
||
MACRO
|
||
_PlotSICNHandle
|
||
DoDispatch _IconDispatch, selectPlotSICNHandle, paramPlotSICNHandle
|
||
ENDM
|
||
|
||
; FUNCTION PlotCIconHandle(theRect: Rect; align: INTEGER; transform: INTEGER;
|
||
; theCIcon: CIconHandle): OSErr;
|
||
MACRO
|
||
_PlotCIconHandle
|
||
DoDispatch _IconDispatch, selectPlotCIconHandle, paramPlotCIconHandle
|
||
ENDM
|
||
|
||
ENDIF ; ...already included |