mac-rom/Interfaces/AIncludes/Icons.a

458 lines
14 KiB
Plaintext
Raw Normal View History

;
; File: Icons.a
;
; Contains: Public Asm Interfaces for color icon plotting utilities
;
; Written by: Kevin MacDonell
;
; Copyright: <09> 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 <20>already including this file<6C> 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
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 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
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; 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