Pomme/src/PommeEnums.h

481 lines
16 KiB
C

#pragma once
//-----------------------------------------------------------------------------
// Filesystem permission char
enum EFSPermissions
{
fsCurPerm = 0,
fsRdPerm = 1,
fsWrPerm = 2,
fsRdWrPerm = 3,
};
//-----------------------------------------------------------------------------
// Position mode constants
enum {
fsAtMark = 0,
fsFromStart = 1,
fsFromLEOF = 2,
fsFromMark = 3
};
//-----------------------------------------------------------------------------
// Folder types
enum
{
kSystemFolderType = 'macs',
kDesktopFolderType = 'desk',
kSystemDesktopFolderType = 'sdsk',
kTrashFolderType = 'trsh',
kSystemTrashFolderType = 'strs',
kWhereToEmptyTrashFolderType = 'empt',
kPrintMonitorDocsFolderType = 'prnt',
kStartupFolderType = 'strt',
kShutdownFolderType = 'shdf',
kAppleMenuFolderType = 'amnu',
kControlPanelFolderType = 'ctrl',
kSystemControlPanelFolderType = 'sctl',
kExtensionFolderType = 'extn',
kFontsFolderType = 'font',
kPreferencesFolderType = 'pref',
kSystemPreferencesFolderType = 'sprf',
kTemporaryFolderType = 'temp'
};
enum {
kOnSystemDisk = -32768L,
kOnAppropriateDisk = -32767,
kSystemDomain = -32766,
kLocalDomain = -32765,
kNetworkDomain = -32764,
kUserDomain = -32763,
kClassicDomain = -32762
};
#define kCreateFolder true
#define kDontCreateFolder false
//-----------------------------------------------------------------------------
// Error codes (OSErr)
enum EErrors
{
noErr = 0,
unimpErr = -4, // unimplemented core routine
controlErr = -17, // I/O System Errors
statusErr = -18, // I/O System Errors
readErr = -19, // I/O System Errors
writErr = -20, // I/O System Errors
badUnitErr = -21, // I/O System Errors
unitEmptyErr = -22, // I/O System Errors
openErr = -23, // I/O System Errors
closErr = -24, // I/O System Errors
abortErr = -27, // IO call aborted by KillIO
notOpenErr = -28, // Couldn't rd/wr/ctl/sts cause driver not opened
dirFulErr = -33, // File directory full
dskFulErr = -34, // Disk or volume full
nsvErr = -35, // Volume doesn't exist
ioErr = -36, // I/O error
bdNamErr = -37, // Bad file or volume name
fnOpnErr = -38, // File not open
eofErr = -39, // End-of-file reached
posErr = -40, // Attempt to position mark before start of file
mFulErr = -41, // Memory full (open) or file won't fit (load)
tmfoErr = -42, // Too many files open
fnfErr = -43, // File not found (FSSpec is still valid)
wPrErr = -44, // Volume is hardware-locked
fLckdErr = -45, // File is locked
vLckdErr = -46, // Volume is software-locked
fBsyErr = -47, // File is busy
dupFNErr = -48, // Duplicate filename
opWrErr = -49, // File already open for writing
paramErr = -50, // Invalid value passed in parameter
rfNumErr = -51, // Invalid reference number
gfpErr = -52, // Error during a GetFPos family function
volOffLinErr = -53, // Volume is offline
permErr = -54, // Permission error
volOnLinErr = -55, // Volume already online
nsDrvErr = -56, // No such Drive
noMacDskErr = -57, // Foreign disk
extFSErr = -58, // Volume belongs to external file system
fsRnErr = -59, // Couldn't rename
badMDBErr = -60, // Bad master directory block
wrPermErr = -61, // Read/write permission doesn't allow writing
memROZWarn = -99, // soft error in ROZ
memROZError = -99, // hard error in ROZ
memROZErr = -99, // hard error in ROZ
memFullErr = -108, // Not enough room in heap zone
nilHandleErr = -109, // Master Pointer was NIL in HandleZone or other
memWZErr = -111, // WhichZone failed (applied to free block)
memPurErr = -112, // trying to purge a locked or non-purgeable block
memAdrErr = -110, // address was odd; or out of range
memAZErr = -113, // Address in zone check failed
memPCErr = -114, // Pointer Check failed
memBCErr = -115, // Block Check failed
memSCErr = -116, // Size Check failed
memLockedErr = -117, // trying to move a locked block (MoveHHi)
dirNFErr = -120, // Directory not found
tmwdoErr = -121, // Too many working directories open
badMovErr = -122, // Couldn't move
wrgVolTypErr = -123, // Unrecognized volume (not HFS)
volGoneErr = -124, // Server volume disconnected
fsDSIntErr = -127, // Non-hardware internal file system error
userCanceledErr = -128,
badExtResource = -185, // extended resource has a bad format
CantDecompress = -186, // resource bent ("the bends") - can't decompress a compressed resource
resourceInMemory= -188, // Resource already in memory
writingPastEnd = -189, // Writing past end of file
inputOutOfBounds= -190, // Offset of Count out of bounds
resNotFound = -192, // Resource not found
resFNotFound = -193, // Resource file not found
addResFailed = -194, // AddResource failed
addRefFailed = -195, // AddReference failed
rmvResFailed = -196, // RmveResource failed
rmvRefFailed = -197, // RmveReference failed
resAttrErr = -198, // attribute inconsistent with operation
mapReadErr = -199, // map inconsistent with operation
// Sound Manager error codes
notEnoughHardwareErr = -201,
queueFull = -203,
resProblem = -204,
badChannel = -205, // channel is corrupt or unusable
badFormat = -206, // resource is corrupt or unusable
notEnoughBufferSpace = -207, // insufficient memory available
badFileFormat = -208, // file is corrupt or unusable, or not AIFF or AIFF-C
channelBusy = -209,
buffersTooSmall = -210,
siInvalidCompression = -223,
};
//-----------------------------------------------------------------------------
// Script Manager enums
enum EScriptManager
{
// Implicit script codes
smSystemScript = -1,
smCurrentScript = -2,
smAllScripts = -3,
// Explicit script codes
smRoman = 0,
// Language codes
langEnglish = 0, // smRoman script
langFrench = 1, // smRoman script
langGerman = 2, // smRoman script
langItalian = 3, // smRoman script
langDutch = 4, // smRoman script
langSwedish = 5, // smRoman script
langSpanish = 6, // smRoman script
langDanish = 7, // smRoman script
langPortuguese = 8, // smRoman script
langNorwegian = 9, // smRoman script
};
//-----------------------------------------------------------------------------
enum EEvents
{
everyEvent = ~0
};
//-----------------------------------------------------------------------------
// Memory enums
enum EMemory
{
maxSize = 0x7FFFFFF0 // the largest block possible
};
//-----------------------------------------------------------------------------
// Resource types
enum EResTypes
{
rAliasType = 'alis',
};
//-----------------------------------------------------------------------------
// Sound Manager enums
enum ESndPitch
{
kMiddleC = 60L,
};
enum ESndSynth
{
squareWaveSynth = 1,
waveTableSynth = 3,
sampledSynth = 5
};
enum ESndInit
{
initChanLeft = 0x0002, // left stereo channel
initChanRight = 0x0003, // right stereo channel
initMono = 0x0080, // monophonic channel
initStereo = 0x00C0, // stereo channel
initMACE3 = 0x0300, // 3:1 compression
initMACE6 = 0x0400, // 6:1 compression
initNoInterp = 0x0004, // no linear interpolation
initNoDrop = 0x0008, // no drop-sample conversion
};
enum ESndVolume
{
kFullVolume = 0x0100,
kNoVolume = 0,
};
// Sound commands
enum ESndCmds
{
nullCmd = 0,
initCmd = 1,
freeCmd = 2,
quietCmd = 3,
flushCmd = 4,
reInitCmd = 5,
waitCmd = 10,
pauseCmd = 11,
resumeCmd = 12,
callBackCmd = 13,
syncCmd = 14,
availableCmd = 24,
versionCmd = 25,
totalLoadCmd = 26,
loadCmd = 27,
freqDurationCmd = 40,
restCmd = 41,
freqCmd = 42,
ampCmd = 43,
timbreCmd = 44,
getAmpCmd = 45,
volumeCmd = 46, // sound manager 3.0 or later only
getVolumeCmd = 47, // sound manager 3.0 or later only
clockComponentCmd = 50, // sound manager 3.2.1 or later only
getClockComponentCmd = 51, // sound manager 3.2.1 or later only
scheduledSoundCmd = 52, // sound manager 3.3 or later only
linkSoundComponentsCmd = 53, // sound manager 3.3 or later only
waveTableCmd = 60,
phaseCmd = 61,
soundCmd = 80,
bufferCmd = 81,
rateCmd = 82,
continueCmd = 83,
doubleBufferCmd = 84,
getRateCmd = 85,
rateMultiplierCmd = 86,
getRateMultiplierCmd = 87,
sizeCmd = 90, // obsolete command
convertCmd = 91, // obsolete MACE command
pommeSetLoopCmd = 0x7001,
pommePausePlaybackCmd = 0x7002, // pause playback ('pauseCmd' locks the channel, it doesn't pause playback)
pommeResumePlaybackCmd = 0x7003, // resume playback ('resumeCmd' unlocks the channel, it doesn't unpause playback)
// Do not define commands above 0x7FFF -- the high bit means a 'snd ' resource has associated sound data
};
//-----------------------------------------------------------------------------
// Keyboard enums
enum
{
// key positions on US keyboard
kVK_ANSI_A = 0x00,
kVK_ANSI_S = 0x01,
kVK_ANSI_D = 0x02,
kVK_ANSI_F = 0x03,
kVK_ANSI_H = 0x04,
kVK_ANSI_G = 0x05,
kVK_ANSI_Z = 0x06,
kVK_ANSI_X = 0x07,
kVK_ANSI_C = 0x08,
kVK_ANSI_V = 0x09,
kVK_ANSI_B = 0x0B,
kVK_ANSI_Q = 0x0C,
kVK_ANSI_W = 0x0D,
kVK_ANSI_E = 0x0E,
kVK_ANSI_R = 0x0F,
kVK_ANSI_Y = 0x10,
kVK_ANSI_T = 0x11,
kVK_ANSI_1 = 0x12,
kVK_ANSI_2 = 0x13,
kVK_ANSI_3 = 0x14,
kVK_ANSI_4 = 0x15,
kVK_ANSI_6 = 0x16,
kVK_ANSI_5 = 0x17,
kVK_ANSI_Equal = 0x18,
kVK_ANSI_9 = 0x19,
kVK_ANSI_7 = 0x1A,
kVK_ANSI_Minus = 0x1B,
kVK_ANSI_8 = 0x1C,
kVK_ANSI_0 = 0x1D,
kVK_ANSI_RightBracket = 0x1E,
kVK_ANSI_O = 0x1F,
kVK_ANSI_U = 0x20,
kVK_ANSI_LeftBracket = 0x21,
kVK_ANSI_I = 0x22,
kVK_ANSI_P = 0x23,
kVK_ANSI_L = 0x25,
kVK_ANSI_J = 0x26,
kVK_ANSI_Quote = 0x27,
kVK_ANSI_K = 0x28,
kVK_ANSI_Semicolon = 0x29,
kVK_ANSI_Backslash = 0x2A,
kVK_ANSI_Comma = 0x2B,
kVK_ANSI_Slash = 0x2C,
kVK_ANSI_N = 0x2D,
kVK_ANSI_M = 0x2E,
kVK_ANSI_Period = 0x2F,
kVK_ANSI_Grave = 0x32,
kVK_ANSI_KeypadDecimal = 0x41,
kVK_ANSI_KeypadMultiply = 0x43,
kVK_ANSI_KeypadPlus = 0x45,
kVK_ANSI_KeypadClear = 0x47,
kVK_ANSI_KeypadDivide = 0x4B,
kVK_ANSI_KeypadEnter = 0x4C,
kVK_ANSI_KeypadMinus = 0x4E,
kVK_ANSI_KeypadEquals = 0x51,
kVK_ANSI_Keypad0 = 0x52,
kVK_ANSI_Keypad1 = 0x53,
kVK_ANSI_Keypad2 = 0x54,
kVK_ANSI_Keypad3 = 0x55,
kVK_ANSI_Keypad4 = 0x56,
kVK_ANSI_Keypad5 = 0x57,
kVK_ANSI_Keypad6 = 0x58,
kVK_ANSI_Keypad7 = 0x59,
kVK_ANSI_Keypad8 = 0x5B,
kVK_ANSI_Keypad9 = 0x5C
};
// keycodes for keys that are independent of keyboard layout
enum
{
kVK_Return = 0x24,
kVK_Tab = 0x30,
kVK_Space = 0x31,
kVK_Delete = 0x33,
kVK_Escape = 0x35,
kVK_Command = 0x37,
kVK_Shift = 0x38,
kVK_CapsLock = 0x39,
kVK_Option = 0x3A,
kVK_Control = 0x3B,
kVK_RightShift = 0x3C,
kVK_RightOption = 0x3D,
kVK_RightControl = 0x3E,
kVK_Function = 0x3F,
kVK_F17 = 0x40,
kVK_VolumeUp = 0x48,
kVK_VolumeDown = 0x49,
kVK_Mute = 0x4A,
kVK_F18 = 0x4F,
kVK_F19 = 0x50,
kVK_F20 = 0x5A,
kVK_F5 = 0x60,
kVK_F6 = 0x61,
kVK_F7 = 0x62,
kVK_F3 = 0x63,
kVK_F8 = 0x64,
kVK_F9 = 0x65,
kVK_F11 = 0x67,
kVK_F13 = 0x69,
kVK_F16 = 0x6A,
kVK_F14 = 0x6B,
kVK_F10 = 0x6D,
kVK_F12 = 0x6F,
kVK_F15 = 0x71,
kVK_Help = 0x72,
kVK_Home = 0x73,
kVK_PageUp = 0x74,
kVK_ForwardDelete = 0x75,
kVK_F4 = 0x76,
kVK_End = 0x77,
kVK_F2 = 0x78,
kVK_PageDown = 0x79,
kVK_F1 = 0x7A,
kVK_LeftArrow = 0x7B,
kVK_RightArrow = 0x7C,
kVK_DownArrow = 0x7D,
kVK_UpArrow = 0x7E
};
//-----------------------------------------------------------------------------
// QD2D
enum
{
whiteColor = 30,
blackColor = 33,
yellowColor = 69,
magentaColor = 137,
redColor = 205,
cyanColor = 273,
greenColor = 341,
blueColor = 409,
};
enum
{
srcCopy = 0,
srcOr = 1,
srcXor = 2,
srcBic = 3,
notSrcCopy = 4,
notSrcOr = 5,
notSrcXor = 6,
notSrcBic = 7,
patCopy = 8,
patOr = 9,
patXor = 10,
patBic = 11,
notPatCopy = 12,
notPatOr = 13,
notPatXor = 14,
notPatBic = 15,
grayishTextOr = 49,
hilitetransfermode = 50,
hilite = 50,
blend = 32,
addPin = 33,
addOver = 34,
subPin = 35,
addMax = 37,
adMax = 37,
subOver = 38,
adMin = 39,
ditherCopy = 64,
transparent = 36
};
enum
{
pmCourteous = 0x0000, // Courteous color
pmTolerant = 0x0002, // Tolerant color
pmAnimated = 0x0004, // Animated color
pmExplicit = 0x0008, // Explicit color
pmWhite = 0x0010, // Use on 1-bit devices
pmBlack = 0x0020, // Use on 1-bit devices
pmInhibitG2 = 0x0100,
pmInhibitC2 = 0x0200,
pmInhibitG4 = 0x0400,
pmInhibitC4 = 0x0800,
pmInhibitG8 = 0x1000,
pmInhibitC8 = 0x2000,
};