sys7.1-doc-wip/Interfaces/CIncludes/Icons.h
2019-07-27 22:37:48 +08:00

365 lines
11 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/************************************************************
Created: Monday, July 22, 1991 at 4:45 PM
Icons.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1990-1991
All rights reserved
Change History (most recent first):
<24> 11/30/92 DTY Turning on full warnings in the C compiler complains about the
comment delimiters in the checkin comment for <14>. Do something
about that.
<23> 6/11/92 DCL Changed "Rect *textRect"
to "const Rect *textRect" in RectInIconID, RectInIconSuite,
RectInIconMethod.
Changed all uses of "alignment" in prototypes to "align" for
consistancy within and between the c & h files. Cleanup &
formatting to match Interface Stacks. Happy Happy Joy Joy.
<22> 5/5/92 DCL Added 'const' to '*iconRect' in prototypes of The PtInIcon__,
RectInIcon__, Icon__ToRgn. OK, dave?
<21> 3/17/92 DC imported all private routines and typedef's from IconUtilsPriv.h
and cleaned up constants to be enums.
<20> 7/23/91 JL Checked in File from database. Changed #defines to enums.
<19> 1/17/91 DC csd - Add genericExtensionIconResource
<18> 1/16/91 JDR (dba) Renamed spoolFolderIconResource into
printMonitorFolderIconResource.
<17> 1/7/91 JDR (dba) Removing private Icon Utilities routines.
<16> 11/29/90 DC ngk - Add interface for GetIconDevice.
<15> 11/19/90 DC ngk - Moved System Icon ID's from private to public and added
interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
interfaces for PlotIconHandle PlotSICNHandle and PlotCIconHandle
<14> 10/09/90 JAL Dont use C++ comment delimiters for Think C compatability.
<13> 9/19/90 DC Changed names of some routines to be more descriptive
<12> 9/15/90 DC Removed SetLabel from public interface
<11> 9/4/90 DC Fixed interface to icon-to-region conversion routines
<10> 7/25/90 DC added interface 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 interfaces for all hit-testing and region-producing
routines.
<6> 6/29/90 DC Add labeling transforms
<5> 6/13/90 DC changed terminateInterator to haltIterator
<4> 6/7/90 ngk Added type definitions for IconSelectorValue, IconAlignmentType,
and IconTransformType
<3> 5/31/90 DC Minor interface cleanup
<2> 5/30/90 DC Fixed name of protection identifier from __ICONUTILS__ to
__ICONS__
<1> 5/30/90 DC first checked in as Icons.h
<6> 5/22/90 DC Made IconCaches a subclass of iconsuites.
<5> 5/4/90 DC Added Interfaces for NewIconSuite, etc. Added new transform
ttGhost
<4> 4/11/90 DC Changed interfaces for transforms
<3> 4/10/90 DC Made PlotIconCache and PlotIconSuite into PlotBestIcon
<2> 4/9/90 DC Added new IconCache routines
<1> 4/7/90 DC first checked in
************************************************************/
#ifndef __ICONS__
#define __ICONS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __QUICKDRAW__
#include <QuickDraw.h>
#endif
enum {
/* 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
};
enum {
startupFolderIconResource = -3981,
ownedFolderIconResource = -3980,
dropFolderIconResource = -3979,
sharedFolderIconResource = -3978,
mountedFolderIconResource = -3977,
controlPanelFolderIconResource = -3976,
printMonitorFolderIconResource = -3975,
preferencesFolderIconResource = -3974,
extensionsFolderIconResource = -3973,
fullTrashIconResource = -3984
#define large1BitMask 'ICN#'
#define large4BitData 'icl4'
#define large8BitData 'icl8'
#define small1BitMask 'ics#'
#define small4BitData 'ics4'
#define small8BitData 'ics8'
#define mini1BitMask 'icm#'
#define mini4BitData 'icm4'
#define mini8BitData 'icm8'
};
/* alignment type values */
enum {
atNone = 0x0,
atVerticalCenter = 0x1,
atTop = 0x2,
atBottom = 0x3,
atHorizontalCenter = 0x4,
atAbsoluteCenter = (atVerticalCenter | atHorizontalCenter),
atCenterTop = (atTop | atHorizontalCenter),
atCenterBottom = (atBottom | atHorizontalCenter),
atLeft = 0x8,
atCenterLeft = (atVerticalCenter | atLeft),
atTopLeft = (atTop | atLeft),
atBottomLeft = (atBottom | atLeft),
atRight = 0xC,
atCenterRight = (atVerticalCenter | atRight),
atTopRight = (atTop | atRight),
atBottomRight = (atBottom | atRight)
};
typedef short IconAlignmentType;
/* transform type values */
enum {
ttNone = 0x0,
ttDisabled = 0x1,
ttOffline = 0x2,
ttOpen = 0x3,
ttLabel1 = 0x0100,
ttLabel2 = 0x0200,
ttLabel3 = 0x0300,
ttLabel4 = 0x0400,
ttLabel5 = 0x0500,
ttLabel6 = 0x0600,
ttLabel7 = 0x0700,
ttSelected = 0x4000,
ttSelectedDisabled = (ttSelected | ttDisabled),
ttSelectedOffline = (ttSelected | ttOffline),
ttSelectedOpen = (ttSelected | ttOpen)
};
typedef short IconTransformType;
/* Selector mask values */
enum {
svLarge1Bit = 0x00000001,
svLarge4Bit = 0x00000002,
svLarge8Bit = 0x00000004,
svSmall1Bit = 0x00000100,
svSmall4Bit = 0x00000200,
svSmall8Bit = 0x00000400,
svMini1Bit = 0x00010000,
svMini4Bit = 0x00020000,
svMini8Bit = 0x00040000,
svAllLargeData = 0x000000ff,
svAllSmallData = 0x0000ff00,
svAllMiniData = 0x00ff0000,
svAll1BitData = (svLarge1Bit | svSmall1Bit | svMini1Bit),
svAll4BitData = (svLarge4Bit | svSmall4Bit | svMini4Bit),
svAll8BitData = (svLarge8Bit | svSmall8Bit | svMini8Bit),
svAllAvailableData = 0xffffffff
};
typedef unsigned long IconSelectorValue;
typedef pascal OSErr (*IconAction)(ResType theType, Handle *theIcon, void *yourDataPtr);
typedef pascal Handle (*IconGetter)(ResType theType, void *yourDataPtr);
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr PlotIconID(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
short theResID)
= {0x303C, 0x0500, 0xABC9};
pascal OSErr NewIconSuite(Handle *theIconSuite)
= {0x303C, 0x0207, 0xABC9};
pascal OSErr AddIconToSuite(Handle theIconData,
Handle theSuite,
ResType theType)
= {0x303C, 0x0608, 0xABC9};
pascal OSErr GetIconFromSuite(Handle *theIconData,
Handle theSuite,
ResType theType)
= {0x303C, 0x0609, 0xABC9};
pascal OSErr ForEachIconDo(Handle theSuite,
IconSelectorValue selector,
IconAction action,
void *yourDataPtr)
= {0x303C, 0x080A, 0xABC9};
pascal OSErr GetIconSuite(Handle *theIconSuite,
short theResID,
IconSelectorValue selector)
= {0x303C, 0x0501, 0xABC9};
pascal OSErr DisposeIconSuite(Handle theIconSuite,
Boolean disposeData)
= {0x303C, 0x0302, 0xABC9};
pascal OSErr PlotIconSuite(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
Handle theIconSuite)
= {0x303C, 0x0603, 0xABC9};
pascal OSErr MakeIconCache(Handle *theHandle,
IconGetter makeIcon,
void *yourDataPtr)
= {0x303C, 0x0604, 0xABC9};
pascal OSErr LoadIconCache(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
Handle theIconCache)
= {0x303C, 0x0606, 0xABC9};
pascal OSErr PlotIconMethod(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
IconGetter theMethod,
void *yourDataPtr)
= {0x303C, 0x0805, 0xABC9};
pascal OSErr GetLabel(short labelNumber,
RGBColor *labelColor,
Str255 labelString)
= {0x303C, 0x050B, 0xABC9};
pascal Boolean PtInIconID(Point testPt,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
short iconID)
= {0x303C, 0x060D, 0xABC9};
pascal Boolean PtInIconSuite(Point testPt,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
Handle theIconSuite)
= {0x303C, 0x070E, 0xABC9};
pascal Boolean PtInIconMethod(Point testPt,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
IconGetter theMethod,
void *yourDataPtr)
= {0x303C, 0x090F, 0xABC9};
pascal Boolean RectInIconID(const Rect *testRect,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
short iconID)
= {0x303C, 0x0610, 0xABC9};
pascal Boolean RectInIconSuite(const Rect *testRect,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
Handle theIconSuite)
= {0x303C, 0x0711, 0xABC9};
pascal Boolean RectInIconMethod(const Rect *testRect,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
IconGetter theMethod,
void *yourDataPtr)
= {0x303C, 0x0912, 0xABC9};
pascal OSErr IconIDToRgn(RgnHandle theRgn,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
short iconID)
= {0x303C, 0x0613, 0xABC9};
pascal OSErr IconSuiteToRgn(RgnHandle theRgn,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
Handle theIconSuite)
= {0x303C, 0x0714, 0xABC9};
pascal OSErr IconMethodToRgn(RgnHandle theRgn,
const Rect *iconRect, /* <22> */
IconAlignmentType align,
IconGetter theMethod,
void *yourDataPtr)
= {0x303C, 0x0915, 0xABC9};
pascal OSErr SetSuiteLabel(Handle theSuite, short theLabel)
= {0x303C, 0x0316, 0xABC9};
pascal short GetSuiteLabel(Handle theSuite)
= {0x303C, 0x0217, 0xABC9};
pascal OSErr GetIconCacheData(Handle theCache, void **theData)
= {0x303C, 0x0419, 0xABC9};
pascal OSErr SetIconCacheData(Handle theCache, void *theData)
= {0x303C, 0x041A, 0xABC9};
pascal OSErr GetIconCacheProc(Handle theCache, IconGetter *theProc)
= {0x303C, 0x041B, 0xABC9};
pascal OSErr SetIconCacheProc(Handle theCache, IconGetter theProc)
= {0x303C, 0x041C, 0xABC9};
pascal OSErr PlotIconHandle(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
Handle theIcon)
= {0x303C, 0x061D, 0xABC9};
pascal OSErr PlotSICNHandle(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
Handle theSICN)
= {0x303C, 0x061E, 0xABC9};
pascal OSErr PlotCIconHandle(const Rect *theRect,
IconAlignmentType align,
IconTransformType transform,
CIconHandle theCIcon)
= {0x303C, 0x061F, 0xABC9};
#ifdef __cplusplus
}
#endif
#endif