mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
365 lines
11 KiB
C
365 lines
11 KiB
C
|
||
/************************************************************
|
||
|
||
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 Don’t 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
|