/* File: Icons.r Contains: Icon Utilities and Icon Services Interfaces. Version: Technology: Mac OS 8 Release: QuickTime 4.0 Copyright: © 1990-1998 by Apple Computer, Inc. All rights reserved Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __ICONS_R__ #define __ICONS_R__ #ifndef __CONDITIONALMACROS_R__ #include "ConditionalMacros.r" #endif #ifndef __QUICKDRAW_R__ #include "Quickdraw.r" #endif #define kGenericDocumentIconResource (-4000) #define kGenericStationeryIconResource (-3985) #define kGenericEditionFileIconResource (-3989) #define kGenericApplicationIconResource (-3996) #define kGenericDeskAccessoryIconResource (-3991) #define kGenericFolderIconResource (-3999) #define kPrivateFolderIconResource (-3994) #define kFloppyIconResource (-3998) #define kTrashIconResource (-3993) #define kGenericRAMDiskIconResource (-3988) #define kGenericCDROMIconResource (-3987) #define kDesktopIconResource (-3992) #define kOpenFolderIconResource (-3997) #define kGenericHardDiskIconResource (-3995) #define kGenericFileServerIconResource (-3972) #define kGenericSuitcaseIconResource (-3970) #define kGenericMoverObjectIconResource (-3969) #define kGenericPreferencesIconResource (-3971) #define kGenericQueryDocumentIconResource (-16506) #define kGenericExtensionIconResource (-16415) #define kSystemFolderIconResource (-3983) #define kHelpIconResource (-20271) #define kAppleMenuFolderIconResource (-3982) #define genericDocumentIconResource (-4000) #define genericStationeryIconResource (-3985) #define genericEditionFileIconResource (-3989) #define genericApplicationIconResource (-3996) #define genericDeskAccessoryIconResource (-3991) #define genericFolderIconResource (-3999) #define privateFolderIconResource (-3994) #define floppyIconResource (-3998) #define trashIconResource (-3993) #define genericRAMDiskIconResource (-3988) #define genericCDROMIconResource (-3987) #define desktopIconResource (-3992) #define openFolderIconResource (-3997) #define genericHardDiskIconResource (-3995) #define genericFileServerIconResource (-3972) #define genericSuitcaseIconResource (-3970) #define genericMoverObjectIconResource (-3969) #define genericPreferencesIconResource (-3971) #define genericQueryDocumentIconResource (-16506) #define genericExtensionIconResource (-16415) #define systemFolderIconResource (-3983) #define appleMenuFolderIconResource (-3982) #define kStartupFolderIconResource (-3981) #define kOwnedFolderIconResource (-3980) #define kDropFolderIconResource (-3979) #define kSharedFolderIconResource (-3978) #define kMountedFolderIconResource (-3977) #define kControlPanelFolderIconResource (-3976) #define kPrintMonitorFolderIconResource (-3975) #define kPreferencesFolderIconResource (-3974) #define kExtensionsFolderIconResource (-3973) #define kFontsFolderIconResource (-3968) #define kFullTrashIconResource (-3984) #define startupFolderIconResource (-3981) #define ownedFolderIconResource (-3980) #define dropFolderIconResource (-3979) #define sharedFolderIconResource (-3978) #define mountedFolderIconResource (-3977) #define controlPanelFolderIconResource (-3976) #define printMonitorFolderIconResource (-3975) #define preferencesFolderIconResource (-3974) #define extensionsFolderIconResource (-3973) #define fontsFolderIconResource (-3968) #define fullTrashIconResource (-3984) #define kHuge1BitMask 'ich#' #define kHuge4BitData 'ich4' #define kHuge8BitData 'ich8' #define kHuge32BitData 'ih32' #define kHuge8BitMask 'h8mk' #define kLarge1BitMask 'ICN#' #define kLarge4BitData 'icl4' #define kLarge8BitData 'icl8' #define kLarge32BitData 'il32' #define kLarge8BitMask 'l8mk' #define kSmall1BitMask 'ics#' #define kSmall4BitData 'ics4' #define kSmall8BitData 'ics8' #define kSmall32BitData 'is32' #define kSmall8BitMask 's8mk' #define kMini1BitMask 'icm#' #define kMini4BitData 'icm4' #define kMini8BitData 'icm8' #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' #define kAlignNone 0x00 #define kAlignVerticalCenter 0x01 #define kAlignTop 0x02 #define kAlignBottom 0x03 #define kAlignHorizontalCenter 0x04 #define kAlignAbsoluteCenter 0x05 #define kAlignCenterTop 0x06 #define kAlignCenterBottom 0x07 #define kAlignLeft 0x08 #define kAlignCenterLeft 0x09 #define kAlignTopLeft 0x0A #define kAlignBottomLeft 0x0B #define kAlignRight 0x0C #define kAlignCenterRight 0x0D #define kAlignTopRight 0x0E #define kAlignBottomRight 0x0F #define atNone 0x00 #define atVerticalCenter 0x01 #define atTop 0x02 #define atBottom 0x03 #define atHorizontalCenter 0x04 #define atAbsoluteCenter 0x05 #define atCenterTop 0x06 #define atCenterBottom 0x07 #define atLeft 0x08 #define atCenterLeft 0x09 #define atTopLeft 0x0A #define atBottomLeft 0x0B #define atRight 0x0C #define atCenterRight 0x0D #define atTopRight 0x0E #define atBottomRight 0x0F #define kTransformNone 0x00 #define kTransformDisabled 0x01 #define kTransformOffline 0x02 #define kTransformOpen 0x03 #define kTransformLabel1 0x0100 #define kTransformLabel2 0x0200 #define kTransformLabel3 0x0300 #define kTransformLabel4 0x0400 #define kTransformLabel5 0x0500 #define kTransformLabel6 0x0600 #define kTransformLabel7 0x0700 #define kTransformSelected 0x4000 #define kTransformSelectedDisabled 0x4001 #define kTransformSelectedOffline 0x4002 #define kTransformSelectedOpen 0x4003 #define ttNone 0x00 #define ttDisabled 0x01 #define ttOffline 0x02 #define ttOpen 0x03 #define ttLabel1 0x0100 #define ttLabel2 0x0200 #define ttLabel3 0x0300 #define ttLabel4 0x0400 #define ttLabel5 0x0500 #define ttLabel6 0x0600 #define ttLabel7 0x0700 #define ttSelected 0x4000 #define ttSelectedDisabled 0x4001 #define ttSelectedOffline 0x4002 #define ttSelectedOpen 0x4003 #define kSelectorLarge1Bit 0x00000001 #define kSelectorLarge4Bit 0x00000002 #define kSelectorLarge8Bit 0x00000004 #define kSelectorLarge32Bit 0x00000008 #define kSelectorLarge8BitMask 0x00000010 #define kSelectorSmall1Bit 0x00000100 #define kSelectorSmall4Bit 0x00000200 #define kSelectorSmall8Bit 0x00000400 #define kSelectorSmall32Bit 0x00000800 #define kSelectorSmall8BitMask 0x00001000 #define kSelectorMini1Bit 0x00010000 #define kSelectorMini4Bit 0x00020000 #define kSelectorMini8Bit 0x00040000 #define kSelectorHuge1Bit 0x01000000 #define kSelectorHuge4Bit 0x02000000 #define kSelectorHuge8Bit 0x04000000 #define kSelectorHuge32Bit 0x08000000 #define kSelectorHuge8BitMask 0x10000000 #define kSelectorAllLargeData 0x000000FF #define kSelectorAllSmallData 0x0000FF00 #define kSelectorAllMiniData 0x00FF0000 #define kSelectorAllHugeData 0xFF000000 #define kSelectorAll1BitData 0x01010101 #define kSelectorAll4BitData 0x02020202 #define kSelectorAll8BitData 0x04040404 #define kSelectorAll32BitData 0x08000808 #define kSelectorAllAvailableData 0xFFFFFFFF #define svLarge1Bit 0x00000001 #define svLarge4Bit 0x00000002 #define svLarge8Bit 0x00000004 #define svSmall1Bit 0x00000100 #define svSmall4Bit 0x00000200 #define svSmall8Bit 0x00000400 #define svMini1Bit 0x00010000 #define svMini4Bit 0x00020000 #define svMini8Bit 0x00040000 #define svAllLargeData 0x000000FF #define svAllSmallData 0x0000FF00 #define svAllMiniData 0x00FF0000 #define svAll1BitData 0x01010101 #define svAll4BitData 0x02020202 #define svAll8BitData 0x04040404 #define svAllAvailableData 0xFFFFFFFF /*-----------------------------------cicn ¥ Color Icon -------------------------------------------*/ /* cicn_RezTemplateVersion: 0 - original 1 - auto calculate much of internal data <-- default */ #ifndef cicn_RezTemplateVersion #ifdef oldTemp /* grandfather in use of ÒoldTempÓ */ #define cicn_RezTemplateVersion 0 #else #define cicn_RezTemplateVersion 1 #endif #endif type 'cicn' { /* IconPMap (pixMap) record */ fill long; /* Base address */ unsigned bitstring[1] = 1; /* New pixMap flag */ unsigned bitstring[2] = 0; /* Must be 0 */ #if cicn_RezTemplateVersion == 0 pMapRowBytes: unsigned bitstring[13]; /* Offset to next row */ Bounds: rect; /* Bitmap bounds */ integer; /* pixMap vers number */ integer unpacked; /* Packing format */ unsigned longint; /* Size of pixel data */ unsigned hex longint; /* h. resolution (ppi) (fixed) */ unsigned hex longint; /* v. resolution (ppi) (fixed) */ integer chunky, chunkyPlanar, planar; /* Pixel storage format */ integer; /* # bits in pixel */ integer; /* # components in pixel*/ integer; /* # bits per field */ unsigned longint; /* Offset to next plane */ unsigned longint; /* Offset to color table*/ fill long; /* Reserved */ /* IconMask (bitMap) record */ fill long; /* Base address */ maskRowBytes: integer; /* Row bytes */ rect; /* Bitmap bounds */ /* IconBMap (bitMap) record */ fill long; /* Base address */ iconBMapRowBytes: integer; /* Row bytes */ rect; /* Bitmap bounds */ fill long; /* Handle placeholder */ /* Mask data */ hex string [$$Word(maskRowBytes) * PIXMAPHEIGHT]; /* BitMap data */ hex string [$$Word(iconBMapRowBytes) * PIXMAPHEIGHT]; /* Color Table */ unsigned hex longint; /* ctSeed */ integer; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; /* PixelMap data */ hex string [$$BitField(pMapRowBytes, 0, 13) * PIXMAPHEIGHT]; #else pMapRowBytes: unsigned bitstring[13] k32x32x4 = 16; /* Offset to next row */ Bounds: rect; /* Bitmap bounds */ integer = 0; /* pixMap vers number */ integer = 0; /* Packing format */ fill long; /* Size of pixel data */ unsigned hex longint = $00480000; /* h. resolution (ppi) */ unsigned hex longint = $00480000; /* v. resolution (ppi) */ integer = 0 /* chunky */; /* Pixel storage format */ PixelSize: integer; /* # bits in pixel */ integer = 1; /* # components in pixel*/ integer = $$Word(PixelSize); /* # bits per field */ fill long; fill long; fill long; /* IconMask (bitMap) record */ fill long; /* Base address */ integer = BitMapRowBytes; /* Row bytes */ PixMapBounds; /* Bitmap bounds */ /* IconBMap (bitMap) record */ fill long; /* Base address */ integer = BitMapRowBytes; /* Row bytes */ PixMapBounds; /* Bitmap bounds */ fill long; /* Handle placeholder */ /* Mask data */ hex string [BitMapRowBytes * PixMapHeight]; /* BitMap data */ hex string [BitMapRowBytes * PixMapHeight]; ColorTable: unsigned hex longint = 0; /* ctSeed */ integer = 0; /* ctFlags */ integer = $$Countof(ColorSpec) - 1; /* ctSize */ wide array ColorSpec { integer = $$ArrayIndex(ColorSpec) - 1; /* value */ unsigned integer; /* RGB: red */ unsigned integer; /* green */ unsigned integer; /* blue */ }; PixelData: hex string [PixMapRowBytes * PixMapHeight]; /* more of the pixmap */ #endif }; /*----------------------------ICON ¥ Icon-----------------------------------------------*/ type 'ICON' { hex string[128]; /* Icon data */ }; /*----------------------------ICN# ¥ Icon List------------------------------------------*/ type 'ICN#' { array { hex string[128]; /* Icon data */ }; }; /*----------------------------SICN ¥ Small Icon-----------------------------------------*/ type 'SICN' { array { hex string[32]; /* SICN data */ }; }; /*--------------------------ics# ¥ small icons with masks-------------------------------*/ type 'ics#' { array [2] { hex string[32]; }; }; /*--------------------------icm# ¥ mini icons with masks--------------------------------*/ type 'icm#' { array [2] { hex string[24]; }; }; /*--------------------------icm8 ¥ 8-bit mini icon no mask------------------------------*/ type 'icm8' { hex string[192]; }; /*--------------------------icm4 ¥ 4-bit mini icon no mask------------------------------*/ type 'icm4' { hex string[96]; }; /*--------------------------icl8 ¥ 8-bit large icon no mask-----------------------------*/ type 'icl8' { hex string[1024]; }; /*--------------------------icl4 ¥ 4-bit large icon no mask-----------------------------*/ type 'icl4' { hex string[512]; }; /*--------------------------ics8 ¥ 8-bit small icon no mask-----------------------------*/ type 'ics8' { hex string[256]; }; /*--------------------------ics4 ¥ 4-bit small icon no mask-----------------------------*/ type 'ics4' { hex string[128]; }; /*-------------------------------¥ Keyboard Icons---------------------------------------*/ type 'KCN#' as 'ICN#'; type 'kcs#' as 'ics#'; /* Keyboard small icon */ type 'kcl8' as 'icl8'; /* Keyboard 8-bit color icon */ type 'kcl4' as 'icl4'; /* Keyboard 4-bit color icon */ type 'kcs8' as 'ics8'; /* Keyboard 8-bit small color icon */ type 'kcs4' as 'ics4'; /* Keyboard 4-bit small color icon */ #define kSystemIconsCreator 'macs' #define kClipboardIcon 'CLIP' #define kClippingUnknownTypeIcon 'clpu' #define kClippingPictureTypeIcon 'clpp' #define kClippingTextTypeIcon 'clpt' #define kClippingSoundTypeIcon 'clps' #define kDesktopIcon 'desk' #define kFinderIcon 'FNDR' #define kFontSuitcaseIcon 'FFIL' #define kFullTrashIcon 'ftrh' #define kGenericApplicationIcon 'APPL' #define kGenericCDROMIcon 'cddr' #define kGenericControlPanelIcon 'APPC' #define kGenericControlStripModuleIcon 'sdev' #define kGenericComponentIcon 'thng' #define kGenericDeskAccessoryIcon 'APPD' #define kGenericDocumentIcon 'docu' #define kGenericEditionFileIcon 'edtf' #define kGenericExtensionIcon 'INIT' #define kGenericFileServerIcon 'srvr' #define kGenericFontIcon 'ffil' #define kGenericFontScalerIcon 'sclr' #define kGenericFloppyIcon 'flpy' #define kGenericHardDiskIcon 'hdsk' #define kGenericRemovableMediaIcon 'rmov' #define kGenericMoverObjectIcon 'movr' #define kGenericPCCardIcon 'pcmc' #define kGenericPreferencesIcon 'pref' #define kGenericQueryDocumentIcon 'qery' #define kGenericRAMDiskIcon 'ramd' #define kGenericSharedLibaryIcon 'shlb' #define kGenericStationeryIcon 'sdoc' #define kGenericSuitcaseIcon 'suit' #define kGenericWORMIcon 'worm' #define kInternationResourcesIcon 'ifil' #define kKeyboardLayoutIcon 'kfil' #define kSoundFileIcon 'sfil' #define kSystemSuitcaseIcon 'zsys' #define kTrashIcon 'trsh' #define kTrueTypeFontIcon 'tfil' #define kTrueTypeFlatFontIcon 'sfnt' #define kTrueTypeMultiFlatFontIcon 'ttcf' #define kInternetLocationHTTPIcon 'ilht' #define kInternetLocationFTPIcon 'ilft' #define kInternetLocationAppleShareIcon 'ilaf' #define kInternetLocationAppleTalkZoneIcon 'ilat' #define kInternetLocationFileIcon 'ilfi' #define kInternetLocationMailIcon 'ilma' #define kInternetLocationNewsIcon 'ilnw' #define kInternetLocationGenericIcon 'ilge' #define kGenericFolderIcon 'fldr' #define kDropFolderIcon 'dbox' #define kMountedFolderIcon 'mntd' #define kOpenFolderIcon 'ofld' #define kOwnedFolderIcon 'ownd' #define kPrivateFolderIcon 'prvf' #define kSharedFolderIcon 'shfl' #define kSharingPrivsNotApplicableIcon 'shna' #define kSharingPrivsReadOnlyIcon 'shro' #define kSharingPrivsReadWriteIcon 'shrw' #define kSharingPrivsUnknownIcon 'shuk' #define kSharingPrivsWritableIcon 'writ' #define kUserFolderIcon 'ufld' #define kWorkgroupFolderIcon 'wfld' #define kGuestUserIcon 'gusr' #define kUserIcon 'user' #define kOwnerIcon 'susr' #define kGroupIcon 'grup' #define kAppleExtrasFolderIcon 'aexÄ' #define kAppleMenuFolderIcon 'amnu' #define kApplicationsFolderIcon 'apps' #define kApplicationSupportFolderIcon 'asup' #define kAssistantsFolderIcon 'astÄ' #define kContextualMenuItemsFolderIcon 'cmnu' #define kControlPanelDisabledFolderIcon 'ctrD' #define kControlPanelFolderIcon 'ctrl' #define kControlStripModulesFolderIcon 'sdvÄ' #define kDocumentsFolderIcon 'docs' #define kExtensionsDisabledFolderIcon 'extD' #define kExtensionsFolderIcon 'extn' #define kFavoritesFolderIcon 'favs' #define kFontsFolderIcon 'font' #define kHelpFolderIcon 'Ählp' #define kInternetFolderIcon 'intÄ' #define kInternetPlugInFolderIcon 'Änet' #define kMacOSReadMeFolderIcon 'morÄ' #define kPreferencesFolderIcon 'prfÄ' #define kPrinterDescriptionFolderIcon 'ppdf' #define kPrinterDriverFolderIcon 'Äprd' #define kPrintMonitorFolderIcon 'prnt' #define kRecentApplicationsFolderIcon 'rapp' #define kRecentDocumentsFolderIcon 'rdoc' #define kRecentServersFolderIcon 'rsrv' #define kScriptingAdditionsFolderIcon 'Äscr' #define kSharedLibrariesFolderIcon 'Älib' #define kScriptsFolderIcon 'scrÄ' #define kShutdownItemsDisabledFolderIcon 'shdD' #define kShutdownItemsFolderIcon 'shdf' #define kSpeakableItemsFolder 'spki' #define kStartupItemsDisabledFolderIcon 'strD' #define kStartupItemsFolderIcon 'strt' #define kSystemExtensionDisabledFolderIcon 'macD' #define kSystemFolderIcon 'macs' #define kTextEncodingsFolderIcon 'Ätex' #define kAppearanceFolderIcon 'appr' #define kUtilitiesFolderIcon 'utiÄ' #define kVoicesFolderIcon 'fvoc' #define kColorSyncFolderIcon 'prof' #define kInternetSearchSitesFolderIcon 'issf' #define kAppleScriptBadgeIcon 'scrp' #define kLockedBadgeIcon 'lbdg' #define kMountedBadgeIcon 'mbdg' #define kSharedBadgeIcon 'sbdg' #define kAliasBadgeIcon 'abdg' #define kAlertNoteIcon 'note' #define kAlertCautionIcon 'caut' #define kAlertStopIcon 'stop' #define kAppleTalkIcon 'atlk' #define kAppleTalkZoneIcon 'atzn' #define kAFPServerIcon 'afps' #define kFTPServerIcon 'ftps' #define kIPFileServerIcon 'isrv' #define kAppleLogoIcon 'capl' #define kAppleMenuIcon 'sapl' #define kBackwardArrowIcon 'baro' #define kFavoriteItemsIcon 'favr' #define kForwardArrowIcon 'faro' #define kGridIcon 'grid' #define kHelpIcon 'help' #define kKeepArrangedIcon 'arng' #define kLockedIcon 'lock' #define kNoFilesIcon 'nfil' #define kNoFolderIcon 'nfld' #define kNoWriteIcon 'nwrt' #define kProtectedApplicationFolderIcon 'papp' #define kProtectedSystemFolderIcon 'psys' #define kRecentItemsIcon 'rcnt' #define kShortcutIcon 'shrt' #define kSortAscendingIcon 'asnd' #define kSortDescendingIcon 'dsnd' #define kUnlockedIcon 'ulck' #define kConnectToIcon 'cnct' #define invalidIconRefErr (-2580) #define noSuchIconErr (-2581) #define noIconDataAvailableErr (-2582) #define kIconServicesNormalUsageFlag 0 #define kIconFamilyType 'icns' /*--------------------------icns ¥ icon family-----------------------------*/ type 'icns' { iconFamilyBegin: literal longint = 'icns'; unsigned longint = (iconFamilyEnd - iconFamilyBegin) >> 3; array elementArray { literal longint; #if derez len: fill long; hex string[$$Long(len[$$ArrayIndex(elementArray)]) - 8]; #else elementBegin: longint = (elementEnd[$$ArrayIndex(elementArray)] - elementBegin[$$ArrayIndex(elementArray)] >> 3) + 4; hex string; elementEnd: #endif }; iconFamilyEnd: }; #endif /* __ICONS_R__ */