/* File: QD3DErrors.h Contains: Error API and error codes Version: Technology: Quickdraw 3D 1.6 Release: QuickTime 7.3 Copyright: (c) 2007 (c) 1995-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 __QD3DERRORS__ #define __QD3DERRORS__ #ifndef __QD3D__ #include #endif #if TARGET_OS_MAC #ifndef __MACTYPES__ #include #endif #endif /* TARGET_OS_MAC */ #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=power #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif #if PRAGMA_ENUM_ALWAYSINT #if defined(__fourbyteints__) && !__fourbyteints__ #define __QD3DERRORS__RESTORE_TWOBYTEINTS #pragma fourbyteints on #endif #pragma enumsalwaysint on #elif PRAGMA_ENUM_OPTIONS #pragma option enum=int #elif PRAGMA_ENUM_PACK #if __option(pack_enums) #define __QD3DERRORS__RESTORE_PACKED_ENUMS #pragma options(!pack_enums) #endif #endif /****************************************************************************** ** ** ** Error Types and Codes ** ** ** *****************************************************************************/ enum TQ3Error { kQ3ErrorNone = 0, /* Fatal Errors */ kQ3ErrorInternalError = -28500, kQ3ErrorNoRecovery = -28499, kQ3ErrorLastFatalError = -28498, /* System Errors */ kQ3ErrorNotInitialized = -28490, kQ3ErrorAlreadyInitialized = -28489, kQ3ErrorUnimplemented = -28488, kQ3ErrorRegistrationFailed = -28487, /* OS Errors */ kQ3ErrorUnixError = -28486, kQ3ErrorMacintoshError = -28485, kQ3ErrorX11Error = -28484, /* Memory Errors */ kQ3ErrorMemoryLeak = -28483, kQ3ErrorOutOfMemory = -28482, /* Parameter errors */ kQ3ErrorNULLParameter = -28481, kQ3ErrorParameterOutOfRange = -28480, kQ3ErrorInvalidParameter = -28479, kQ3ErrorInvalidData = -28478, kQ3ErrorAcceleratorAlreadySet = -28477, kQ3ErrorVector3DNotUnitLength = -28476, kQ3ErrorVector3DZeroLength = -28475, /* Object Errors */ kQ3ErrorInvalidObject = -28474, kQ3ErrorInvalidObjectClass = -28473, kQ3ErrorInvalidObjectType = -28472, kQ3ErrorInvalidObjectName = -28471, kQ3ErrorObjectClassInUse = -28470, kQ3ErrorAccessRestricted = -28469, kQ3ErrorMetaHandlerRequired = -28468, kQ3ErrorNeedRequiredMethods = -28467, kQ3ErrorNoSubClassType = -28466, kQ3ErrorUnknownElementType = -28465, kQ3ErrorNotSupported = -28464, /* Extension Errors */ kQ3ErrorNoExtensionsFolder = -28463, kQ3ErrorExtensionError = -28462, kQ3ErrorPrivateExtensionError = -28461, /* Geometry Errors */ kQ3ErrorDegenerateGeometry = -28460, kQ3ErrorGeometryInsufficientNumberOfPoints = -28459, /* IO Errors */ kQ3ErrorNoStorageSetForFile = -28458, kQ3ErrorEndOfFile = -28457, kQ3ErrorFileCancelled = -28456, kQ3ErrorInvalidMetafile = -28455, kQ3ErrorInvalidMetafilePrimitive = -28454, kQ3ErrorInvalidMetafileLabel = -28453, kQ3ErrorInvalidMetafileObject = -28452, kQ3ErrorInvalidMetafileSubObject = -28451, kQ3ErrorInvalidSubObjectForObject = -28450, kQ3ErrorUnresolvableReference = -28449, kQ3ErrorUnknownObject = -28448, kQ3ErrorStorageInUse = -28447, kQ3ErrorStorageAlreadyOpen = -28446, kQ3ErrorStorageNotOpen = -28445, kQ3ErrorStorageIsOpen = -28444, kQ3ErrorFileAlreadyOpen = -28443, kQ3ErrorFileNotOpen = -28442, kQ3ErrorFileIsOpen = -28441, kQ3ErrorBeginWriteAlreadyCalled = -28440, kQ3ErrorBeginWriteNotCalled = -28439, kQ3ErrorEndWriteNotCalled = -28438, kQ3ErrorReadStateInactive = -28437, kQ3ErrorStateUnavailable = -28436, kQ3ErrorWriteStateInactive = -28435, kQ3ErrorSizeNotLongAligned = -28434, kQ3ErrorFileModeRestriction = -28433, kQ3ErrorInvalidHexString = -28432, kQ3ErrorWroteMoreThanSize = -28431, kQ3ErrorWroteLessThanSize = -28430, kQ3ErrorReadLessThanSize = -28429, kQ3ErrorReadMoreThanSize = -28428, kQ3ErrorNoBeginGroup = -28427, kQ3ErrorSizeMismatch = -28426, kQ3ErrorStringExceedsMaximumLength = -28425, kQ3ErrorValueExceedsMaximumSize = -28424, kQ3ErrorNonUniqueLabel = -28423, kQ3ErrorEndOfContainer = -28422, kQ3ErrorUnmatchedEndGroup = -28421, kQ3ErrorFileVersionExists = -28420, /* View errors */ kQ3ErrorViewNotStarted = -28419, kQ3ErrorViewIsStarted = -28418, kQ3ErrorRendererNotSet = -28417, kQ3ErrorRenderingIsActive = -28416, kQ3ErrorImmediateModeUnderflow = -28415, kQ3ErrorDisplayNotSet = -28414, kQ3ErrorCameraNotSet = -28413, kQ3ErrorDrawContextNotSet = -28412, kQ3ErrorNonInvertibleMatrix = -28411, kQ3ErrorRenderingNotStarted = -28410, kQ3ErrorPickingNotStarted = -28409, kQ3ErrorBoundsNotStarted = -28408, kQ3ErrorDataNotAvailable = -28407, kQ3ErrorNothingToPop = -28406, /* Renderer Errors */ kQ3ErrorUnknownStudioType = -28405, kQ3ErrorAlreadyRendering = -28404, kQ3ErrorStartGroupRange = -28403, kQ3ErrorUnsupportedGeometryType = -28402, kQ3ErrorInvalidGeometryType = -28401, kQ3ErrorUnsupportedFunctionality = -28400, /* Group Errors */ kQ3ErrorInvalidPositionForGroup = -28399, kQ3ErrorInvalidObjectForGroup = -28398, kQ3ErrorInvalidObjectForPosition = -28397, /* Transform Errors */ kQ3ErrorScaleOfZero = -28396, /* String Errors */ kQ3ErrorBadStringType = -28395, /* Attribute Errors */ kQ3ErrorAttributeNotContained = -28394, kQ3ErrorAttributeInvalidType = -28393, /* Camera Errors */ kQ3ErrorInvalidCameraValues = -28392, /* DrawContext Errors */ kQ3ErrorBadDrawContextType = -28391, kQ3ErrorBadDrawContextFlag = -28390, kQ3ErrorBadDrawContext = -28389, kQ3ErrorUnsupportedPixelDepth = -28388, /* Controller Errors */ kQ3ErrorController = -28387, /* Tracker Errors */ kQ3ErrorTracker = -28386, /* Another OS Error */ kQ3ErrorWin32Error = -28385, /* Object Errors */ kQ3ErrorTypeAlreadyExistsAndHasSubclasses = -28384, kQ3ErrorTypeAlreadyExistsAndOtherClassesDependOnIt = -28383, kQ3ErrorTypeAlreadyExistsAndHasObjectInstances = -28382, /* submit loop errors: if you ever get one of these check the previous*/ /* error posted, it may be kQ3ErrorOutOfMemory. If so you *may* be able*/ /* to recover by freeing up some memory and trying again*/ kQ3ErrorPickingLoopFailed = -28381, kQ3ErrorRenderingLoopFailed = -28380, kQ3ErrorWritingLoopFailed = -28379, kQ3ErrorBoundingLoopFailed = -28378 }; typedef enum TQ3Error TQ3Error; enum TQ3Warning { kQ3WarningNone = 0, /* General System */ kQ3WarningInternalException = -28300, /* Object Warnings */ kQ3WarningNoObjectSupportForDuplicateMethod = -28299, kQ3WarningNoObjectSupportForDrawMethod = -28298, kQ3WarningNoObjectSupportForWriteMethod = -28297, kQ3WarningNoObjectSupportForReadMethod = -28296, kQ3WarningUnknownElementType = -28295, kQ3WarningTypeAndMethodAlreadyDefined = -28294, kQ3WarningTypeIsOutOfRange = -28293, kQ3WarningTypeHasNotBeenRegistered = -28292, /* Parameter Warnings */ kQ3WarningVector3DNotUnitLength = -28291, /* IO Warnings */ kQ3WarningInvalidSubObjectForObject = -28290, kQ3WarningInvalidHexString = -28289, kQ3WarningUnknownObject = -28288, kQ3WarningInvalidMetafileObject = -28287, kQ3WarningUnmatchedBeginGroup = -28286, kQ3WarningUnmatchedEndGroup = -28285, kQ3WarningInvalidTableOfContents = -28284, kQ3WarningUnresolvableReference = -28283, kQ3WarningNoAttachMethod = -28282, kQ3WarningInconsistentData = -28281, kQ3WarningReadLessThanSize = -28280, kQ3WarningFilePointerResolutionFailed = -28279, kQ3WarningFilePointerRedefined = -28278, kQ3WarningStringExceedsMaximumLength = -28277, /* Memory Warnings */ kQ3WarningLowMemory = -28276, kQ3WarningPossibleMemoryLeak = -28275, /* View Warnings */ kQ3WarningViewTraversalInProgress = -28274, kQ3WarningNonInvertibleMatrix = -28273, /* Quaternion Warning */ kQ3WarningQuaternionEntriesAreZero = -28272, /* Renderer Warning */ kQ3WarningFunctionalityNotSupported = -28271, /* DrawContext Warning */ kQ3WarningInvalidPaneDimensions = -28270, /* Pick Warning */ kQ3WarningPickParamOutside = -28269, /* Scale Warnings */ kQ3WarningScaleEntriesAllZero = -28268, kQ3WarningScaleContainsNegativeEntries = -28267, /* Generic Warnings */ kQ3WarningParameterOutOfRange = -28266, /* Extension Warnings */ kQ3WarningExtensionNotLoading = -28265, /* Object Warnings */ kQ3WarningTypeAlreadyRegistered = -28264, kQ3WarningTypeSameVersionAlreadyRegistered = -28263, kQ3WarningTypeNewerVersionAlreadyRegistered = -28262, /* Invalid Group Object */ kQ3WarningInvalidObjectInGroupMetafile = -28261 }; typedef enum TQ3Warning TQ3Warning; enum TQ3Notice { kQ3NoticeNone = 0, kQ3NoticeDataAlreadyEmpty = -28100, kQ3NoticeMethodNotSupported = -28099, kQ3NoticeObjectAlreadySet = -28098, kQ3NoticeParameterOutOfRange = -28097, kQ3NoticeFileAliasWasChanged = -28096, kQ3NoticeMeshVertexHasNoComponent = -28095, kQ3NoticeMeshInvalidVertexFacePair = -28094, kQ3NoticeMeshEdgeVertexDoNotCorrespond = -28093, kQ3NoticeMeshEdgeIsNotBoundary = -28092, kQ3NoticeDrawContextNotSetUsingInternalDefaults = -28091, kQ3NoticeInvalidAttenuationTypeUsingInternalDefaults = -28090, kQ3NoticeBrightnessGreaterThanOne = -28089, kQ3NoticeScaleContainsZeroEntries = -28088, kQ3NoticeSystemAlreadyInitialized = -28087, kQ3NoticeViewSyncCalledAgain = -28086, kQ3NoticeFileCancelled = -28085 }; typedef enum TQ3Notice TQ3Notice; typedef CALLBACK_API_C( void , TQ3ErrorMethod )(TQ3Error firstError, TQ3Error lastError, long reference); typedef CALLBACK_API_C( void , TQ3WarningMethod )(TQ3Warning firstWarning, TQ3Warning lastWarning, long reference); typedef CALLBACK_API_C( void , TQ3NoticeMethod )(TQ3Notice firstNotice, TQ3Notice lastNotice, long reference); /****************************************************************************** ** ** ** Error Routines ** ** ** *****************************************************************************/ #if CALL_NOT_IN_CARBON /* * Q3Error_Register() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3Error_Register( TQ3ErrorMethod errorPost, long reference); /* * Q3Warning_Register() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3Warning_Register( TQ3WarningMethod warningPost, long reference); /* * Q3Notice_Register() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3Notice_Register( TQ3NoticeMethod noticePost, long reference); /* * Getting error codes - * Clears error type on next entry into system (except all of these * error calls), and returns the last error, and optionally the * first error. The parameter to these "_Get" calls may be NULL. */ /* * Q3Error_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Error ) Q3Error_Get(TQ3Error * firstError); /* * Q3Error_IsFatalError() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Boolean ) Q3Error_IsFatalError(TQ3Error error); /* * Q3Warning_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Warning ) Q3Warning_Get(TQ3Warning * firstWarning); /* * Q3Notice_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Notice ) Q3Notice_Get(TQ3Notice * firstNotice); #endif /* CALL_NOT_IN_CARBON */ #if TARGET_OS_MAC #if CALL_NOT_IN_CARBON /* * Q3MacintoshError_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( OSErr ) Q3MacintoshError_Get(OSErr * firstMacErr); #endif /* CALL_NOT_IN_CARBON */ #endif /* TARGET_OS_MAC */ #if PRAGMA_ENUM_ALWAYSINT #pragma enumsalwaysint reset #ifdef __QD3DERRORS__RESTORE_TWOBYTEINTS #pragma fourbyteints off #endif #elif PRAGMA_ENUM_OPTIONS #pragma option enum=reset #elif defined(__QD3DERRORS__RESTORE_PACKED_ENUMS) #pragma options(pack_enums) #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=reset #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(pop) #elif PRAGMA_STRUCT_PACK #pragma pack() #endif #ifdef PRAGMA_IMPORT_OFF #pragma import off #elif PRAGMA_IMPORT #pragma import reset #endif #ifdef __cplusplus } #endif #endif /* __QD3DERRORS__ */