sys7.1-doc-wip/Interfaces/PInterfaces/Icons.p
2019-07-27 22:37:48 +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}