mac-rom/Interfaces/PInterfaces/Icons.p
Elliot Nunn 0ba83392d4 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-09-20 18:04:16 +08:00

344 lines
10 KiB
OpenEdge ABL

{
Created: Monday, July 22, 1991 at 7:01 PM
Icons.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1990-1991
All rights reserved
This file is used in these builds: BigBang
Change History (most recent first):
<22> 6/11/92 DCL Changed INTEGER type to IconAlignmentType & IconTransformType
in PlotIconHandle, PlotSICNHandle, PlotCIconHandle. ¥ Changed
inline codes in IconSuiteToRgn, IconIDToRgn, ForEachIconDo to
match the codes in the C header (assuming that the C is
correct) ¥ Changed the Includes statements. Minor bug fix. ¥
Changed all uses of "alignment" in prototypes to "align" for
consistancy within and between the c & h files. Happy Happy Joy
Joy.
<21> 3/17/92 DC Imported all definitions from IconUtilsPriv.p except get and set
icon device and SetLabel.
<20> 7/23/91 JL Checked in File from database. Changed mini1BitMask from a
'sicn' to a 'icm#' to match C file.
<19> 1/17/91 DC csd - forgot initials
<18> 1/17/91 DC add genericExtensionIconResource (-16415)
<17> 1/16/91 JDR (dba) Renamed spoolFolderIconResource into
printMonitorFolderIconResource.
<16> 1/7/91 JDR (dba) Removing private Icon Utilities routines from the public
interfaces.
<15> 11/29/90 DC ngk - Add interface for GetIconDevice.
<14> 11/19/90 DC ngk - Moved System Icon ID's from private to public and added
interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
<13> 10/8/90 JAL Fixed Inclusion lines to conform to MPW standards.
<12> 9/19/90 DC Changed some routine names to be more descriptive
<11> 9/15/90 DC Remove SetLabel from public interfaces
<11> 9/15/90 DC Removed SetLabel from public interface
<10> 7/25/90 DC Added interfaces for Get/Set cache Procs/Data
<9> 7/23/90 DC Added interfaces for SetOneScreen, etc.
<8> 7/12/90 DC Removed support for ttGhost
<7> 7/5/90 DC Added all hit-testing and region-producing interfaces. Also
labeling constants and GetLabel and SetLabel interfaces
<6> 6/29/90 DC Fix lack of semi-colons in label definitions
<5> 6/29/90 DC Brought up to date with interfaces for civilized languages
(syntax bugs, indeed!)
<4> 6/6/90 ngk fix syntax bugs in definitions
<3> 5/31/90 DC Minor Interface cleanup (still untested)
<2> 5/30/90 DC Minor fix
<1> 5/30/90 DC first checked in Icons.p (untested)
To Do:
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT Icons;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingIcons}
{$SETC UsingIcons := 1}
{$I+}
{$SETC IconsIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingTypes}
{$I $$Shell(PInterfaces)Types.p}
{$ENDC}
{$IFC UNDEFINED UsingQuickDraw}
{$I $$Shell(PInterfaces)QuickDraw.p}
{$ENDC}
{$SETC UsingIncludes := IconsIncludes}
CONST
{ The following are icons for which there are both icon suites and SICNs. }
genericDocumentIconResource = -4000;
genericStationeryIconResource = -3985;
genericEditionFileIconResource = -3989;
genericApplicationIconResource = -3996;
genericDeskAccessoryIconResource = -3991;
genericFolderIconResource = -3999;
privateFolderIconResource = -3994;
floppyIconResource = -3998;
trashIconResource = -3993;
{ The following are icons for which there are SICNs only. }
desktopIconResource = -3992;
openFolderIconResource = -3997;
genericHardDiskIconResource = -3995;
genericFileServerIconResource = -3972;
genericSuitcaseIconResource = -3970;
genericMoverObjectIconResource = -3969;
{ The following are icons for which there are icon suites only. }
genericPreferencesIconResource = -3971;
genericQueryDocumentIconResource = -16506;
genericExtensionIconResource = -16415;
systemFolderIconResource = -3983;
appleMenuFolderIconResource = -3982;
startupFolderIconResource = -3981;
ownedFolderIconResource = -3980;
dropFolderIconResource = -3979;
sharedFolderIconResource = -3978;
mountedFolderIconResource = -3977;
controlPanelFolderIconResource = -3976;
printMonitorFolderIconResource = -3975;
preferencesFolderIconResource = -3974;
extensionsFolderIconResource = -3973;
fullTrashIconResource = -3984;
large1BitMask = 'ICN#';
large4BitData = 'icl4';
large8BitData = 'icl8';
small1BitMask = 'ics#';
small4BitData = 'ics4';
small8BitData = 'ics8';
mini1BitMask = 'icm#';
mini4BitData = 'icm4';
mini8BitData = 'icm8';
{ IconAlignmentType values }
atNone = $0;
atVerticalCenter = $1;
atTop = $2;
atBottom = $3;
atHorizontalCenter = $4;
atAbsoluteCenter = (atVerticalCenter + atHorizontalCenter);
atCenterTop = (atTop + atHorizontalCenter);
atCenterBottom = (atBottom + atHorizontalCenter);
atLeft = $8;
atCenterLeft = (atVerticalCenter + atLeft);
atTopLeft = (atTop + atLeft);
atBottomLeft = (atBottom + atLeft);
atRight = $C;
atCenterRight = (atVerticalCenter + atRight);
atTopRight = (atTop + atRight);
atBottomRight = (atBottom + atRight);
{ IconTransformType values }
ttNone = $0;
ttDisabled = $1;
ttOffline = $2;
ttOpen = $3;
ttLabel1 = $0100;
ttLabel2 = $0200;
ttLabel3 = $0300;
ttLabel4 = $0400;
ttLabel5 = $0500;
ttLabel6 = $0600;
ttLabel7 = $0700;
ttSelected = $4000;
ttSelectedDisabled = (ttSelected + ttDisabled);
ttSelectedOffline = (ttSelected + ttOffline);
ttSelectedOpen = (ttSelected + ttOpen);
{ IconSelectorValue masks }
svLarge1Bit = $00000001;
svLarge4Bit = $00000002;
svLarge8Bit = $00000004;
svSmall1Bit = $00000100;
svSmall4Bit = $00000200;
svSmall8Bit = $00000400;
svMini1Bit = $00010000;
svMini4Bit = $00020000;
svMini8Bit = $00040000;
svAllLargeData = $000000ff;
svAllSmallData = $0000ff00;
svAllMiniData = $00ff0000;
svAll1BitData = (svLarge1Bit + svSmall1Bit + svMini1Bit);
svAll4BitData = (svLarge4Bit + svSmall4Bit + svMini4Bit);
svAll8BitData = (svLarge8Bit + svSmall8Bit + svMini8Bit);
svAllAvailableData = $ffffffff;
TYPE
IconSelectorValue = LONGINT;
IconAlignmentType = INTEGER;
IconTransformType = INTEGER;
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: IconAlignmentType;
transform: IconTransformType;
theResID: INTEGER): OSErr;
INLINE $303C, $0500, $ABC9;
FUNCTION NewIconSuite(VAR theIconSuite: Handle): OSErr;
INLINE $303C, $0207, $ABC9;
FUNCTION AddIconToSuite(theIconData: Handle;
theSuite: Handle;
theType: ResType): OSErr;
INLINE $303C, $0608, $ABC9;
FUNCTION GetIconFromSuite(VAR theIconData: Handle;
theSuite: Handle;
theType: ResType): OSErr;
INLINE $303C, $0609, $ABC9;
FUNCTION ForEachIconDo(theSuite: Handle;
selector: IconSelectorValue;
action: IconAction;
yourDataPtr: Ptr): OSErr;
INLINE $303C, $080A, $ABC9;
FUNCTION GetIconSuite(VAR theIconSuite: Handle;
theResID: INTEGER;
selector: IconSelectorValue): OSErr;
INLINE $303C, $0501, $ABC9;
FUNCTION DisposeIconSuite(theIconSuite: Handle;
disposeData: BOOLEAN): OSErr;
INLINE $303C, $0302, $ABC9;
FUNCTION PlotIconSuite(theRect: Rect;
align: IconAlignmentType;
transform: IconTransformType;
theIconSuite: Handle): OSErr;
INLINE $303C, $0603, $ABC9;
FUNCTION MakeIconCache(VAR theHandle: Handle;
makeIcon: IconGetter;
yourDataPtr: UNIV Ptr): OSErr;
INLINE $303C, $0604, $ABC9;
FUNCTION LoadIconCache(theRect: Rect;
align: IconAlignmentType;
transform: IconTransformType;
theIconCache: Handle): OSErr;
INLINE $303C, $0606, $ABC9;
FUNCTION PlotIconMethod(theRect: Rect;
align: IconAlignmentType;
transform: IconTransformType;
theMethod: IconGetter;
yourDataPtr: UNIV Ptr): OSErr;
INLINE $303C, $0805, $ABC9;
FUNCTION GetLabel(labelNumber: INTEGER; VAR labelColor: RGBColor;
VAR labelString: Str255): OSErr;
INLINE $303C, $050B, $ABC9;
FUNCTION PtInIconID(testPt: Point; iconRect: Rect;
align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
INLINE $303C, $060D, $ABC9;
FUNCTION PtInIconSuite(testPt: Point; iconRect: Rect;
align: IconAlignmentType;
theIconSuite: Handle): BOOLEAN;
INLINE $303C, $070E, $ABC9;
FUNCTION PtInIconMethod(testPt: Point; iconRect: Rect;
align: IconAlignmentType;
theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
INLINE $303C, $090F, $ABC9;
FUNCTION RectInIconID(testRect: Rect; iconRect: Rect;
align: IconAlignmentType; iconID: INTEGER): BOOLEAN;
INLINE $303C, $0610, $ABC9;
FUNCTION RectInIconSuite(testRect: Rect; iconRect: Rect;
align: IconAlignmentType;
theIconSuite: Handle): BOOLEAN;
INLINE $303C, $0711, $ABC9;
FUNCTION RectInIconMethod(testRect: Rect; iconRect: Rect;
align: IconAlignmentType;
theMethod: IconGetter; yourDataPtr: Ptr): BOOLEAN;
INLINE $303C, $0912, $ABC9;
FUNCTION IconIDToRgn(theRgn: RgnHandle; iconRect: Rect;
align: IconAlignmentType; iconID: INTEGER): OSErr;
INLINE $303C, $0613, $ABC9;
FUNCTION IconSuiteToRgn(theRgn: RgnHandle; iconRect: Rect;
align: IconAlignmentType;
theIconSuite: Handle): OSErr;
INLINE $303C, $0714, $ABC9;
FUNCTION IconMethodToRgn(theRgn: RgnHandle; iconRect: Rect;
align: IconAlignmentType;
theMethod: IconGetter; yourDataPtr: Ptr): OSErr;
INLINE $303C, $0915, $ABC9;
FUNCTION SetSuiteLabel(theSuite: Handle; theLabel: INTEGER): OSErr;
INLINE $303C, $0316, $ABC9;
FUNCTION GetSuiteLabel(theSuite: Handle): INTEGER;
INLINE $303C, $0217, $ABC9;
FUNCTION GetIconCacheData(theCache: Handle; VAR theData: Ptr): OSErr;
INLINE $303C, $0419, $ABC9;
FUNCTION SetIconCacheData(theCache: Handle; theData: Ptr): OSErr;
INLINE $303C, $041A, $ABC9;
FUNCTION GetIconCacheProc(theCache: Handle; VAR theProc: IconGetter): OSErr;
INLINE $303C, $041B, $ABC9;
FUNCTION SetIconCacheProc(theCache: Handle; theProc: IconGetter): OSErr;
INLINE $303C, $041C, $ABC9;
FUNCTION PlotIconHandle(theRect: Rect; align: IconAlignmentType;
transform: IconTransformType; theIcon: Handle): OSErr;
INLINE $303C, $061D, $ABC9;
FUNCTION PlotSICNHandle(theRect: Rect; align: IconAlignmentType;
transform: IconTransformType; theSICN: Handle): OSErr;
INLINE $303C, $061E, $ABC9;
FUNCTION PlotCIconHandle(theRect: Rect; align: IconAlignmentType;
transform: IconTransformType; theCIcon: CIconHandle): OSErr;
INLINE $303C, $061F, $ABC9;
{$ENDC} { UsingIcons }
{$IFC NOT UsingIncludes}
END.
{$ENDC}