You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
422 lines
14 KiB
422 lines
14 KiB
5 years ago
|
/*
|
||
|
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 <QD3D.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#if TARGET_OS_MAC
|
||
|
#ifndef __MACTYPES__
|
||
|
#include <MacTypes.h>
|
||
|
#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__ */
|
||
|
|