3D Graphics Programming with QuickDraw 3D
#define Q3_FOUR_CHARACTER_CONSTANT(a,b,c,d) ((const unsigned long) \ ((const unsigned long) (a) << 24) \ | ((const unsigned long) (b) << 16) \ | ((const unsigned long) (c) << 8) \ | ((const unsigned long) (d))) #define Q3_OBJECT_TYPE(a,b,c,d) \ ((TQ3ObjectType) Q3_FOUR_CHARACTER_CONSTANT(a,b,c,d)) #define Q3_METHOD_TYPE(a,b,c,d) \ ((TQ3MethodType) Q3_FOUR_CHARACTER_CONSTANT(a,b,c,d))
#define kQ3ObjectTypeElement Q3_OBJECT_TYPE('e','l','m','n') #define kQ3ObjectTypePick Q3_OBJECT_TYPE('p','i','c','k') #define kQ3ObjectTypeShared Q3_OBJECT_TYPE('s','h','r','d') #define kQ3ObjectTypeView Q3_OBJECT_TYPE('v','i','e','w') #define kQ3ObjectTypeInvalid 0
#define kQ3SharedTypeControllerState Q3_OBJECT_TYPE('c','t','s','t') #define kQ3SharedTypeDrawContext Q3_OBJECT_TYPE('d','c','t','x') #define kQ3SharedTypeFile Q3_OBJECT_TYPE('f','i','l','e') #define kQ3SharedTypeReference Q3_OBJECT_TYPE('r','f','r','n') #define kQ3SharedTypeRenderer Q3_OBJECT_TYPE('r','d','d','r') #define kQ3SharedTypeSet Q3_OBJECT_TYPE('s','e','t',' ') #define kQ3SharedTypeShape Q3_OBJECT_TYPE('s','h','a','p') #define kQ3SharedTypeShapePart Q3_OBJECT_TYPE('s','p','r','t') #define kQ3SharedTypeStorage Q3_OBJECT_TYPE('s','t','r','g') #define kQ3SharedTypeString Q3_OBJECT_TYPE('s','t','r','n') #define kQ3SharedTypeTexture Q3_OBJECT_TYPE('t','x','t','r') #define kQ3SharedTypeTracker Q3_OBJECT_TYPE('t','r','k','r') #define kQ3SharedTypeViewHints Q3_OBJECT_TYPE('v','w','h','n')
#define kQ3ShapeTypeCamera Q3_OBJECT_TYPE('c','m','r','a') #define kQ3ShapeTypeGeometry Q3_OBJECT_TYPE('g','m','t','r') #define kQ3ShapeTypeGroup Q3_OBJECT_TYPE('g','r','u','p') #define kQ3ShapeTypeLight Q3_OBJECT_TYPE('l','g','h','t') #define kQ3ShapeTypeShader Q3_OBJECT_TYPE('s','h','d','r') #define kQ3ShapeTypeStyle Q3_OBJECT_TYPE('s','t','y','l') #define kQ3ShapeTypeTransform Q3_OBJECT_TYPE('x','f','r','m') #define kQ3ShapeTypeUnknown Q3_OBJECT_TYPE('u','n','k','n')
#define kQ3ElementTypeAttribute Q3_OBJECT_TYPE('e','a','t','t') #define kQ3ElementTypeNone 0 #define kQ3ElementTypeUnknown 32
#define kQ3SetTypeAttribute Q3_OBJECT_TYPE('a','t','t','r')
#define kQ3StringTypeCString Q3_OBJECT_TYPE('s','t','r','c')
#define kQ3MethodTypeObjectFileVersion Q3_METHOD_TYPE('v','e','r','s') #define kQ3MethodTypeObjectReadData Q3_METHOD_TYPE('r','d','d','t') #define kQ3MethodTypeObjectTraverse Q3_METHOD_TYPE('t','r','v','s') #define kQ3MethodTypeObjectUnregister Q3_METHOD_TYPE('u','n','r','g') #define kQ3MethodTypeObjectWrite Q3_METHOD_TYPE('w','r','i','t') #define kQ3MethodTypeElementCopyAdd Q3_METHOD_TYPE('e','c','p','a') #define kQ3MethodTypeElementCopyDuplicate Q3_METHOD_TYPE('e','c','p','d') #define kQ3MethodTypeElementCopyGet Q3_METHOD_TYPE('e','c','p','g') #define kQ3MethodTypeElementCopyReplace Q3_METHOD_TYPE('e','c','p','r') #define kQ3MethodTypeElementDelete Q3_METHOD_TYPE('e','d','e','l')
typedef long TQ3ObjectType; typedef struct TQ3ObjectPrivate *TQ3Object; typedef TQ3Object TQ3ElementObject; typedef TQ3Object TQ3PickObject; typedef TQ3Object TQ3SharedObject; typedef TQ3Object TQ3ViewObject;
typedef TQ3SharedObject TQ3ControllerStateObject; typedef TQ3SharedObject TQ3DrawContextObject; typedef TQ3SharedObject TQ3FileObject; typedef TQ3SharedObject TQ3ReferenceObject; typedef TQ3SharedObject TQ3RendererObject; typedef TQ3SharedObject TQ3SetObject; typedef TQ3SharedObject TQ3ShapeObject; typedef TQ3SharedObject TQ3ShapePartObject; typedef TQ3SharedObject TQ3StorageObject; typedef TQ3SharedObject TQ3StringObject; typedef TQ3SharedObject TQ3TextureObject; typedef TQ3SharedObject TQ3TrackerObject; typedef TQ3SharedObject TQ3ViewHintsObject;
typedef TQ3SetObject TQ3AttributeSet; typedef long TQ3ElementType;
typedef TQ3ShapeObject TQ3CameraObject; typedef TQ3ShapeObject TQ3GeometryObject; typedef TQ3ShapeObject TQ3GroupObject; typedef TQ3ShapeObject TQ3LightObject; typedef TQ3ShapeObject TQ3ShaderObject; typedef TQ3ShapeObject TQ3StyleObject; typedef TQ3ShapeObject TQ3TransformObject; typedef TQ3ShapeObject TQ3UnknownObject;
typedef TQ3GroupObject TQ3DisplayGroupObject;
typedef TQ3ShaderObject TQ3SurfaceShaderObject; typedef TQ3ShaderObject TQ3IlluminationShaderObject;
typedef struct TQ3GroupPositionPrivate *TQ3GroupPosition; typedef struct TQ3ObjectClassPrivate *TQ3ObjectClass; typedef unsigned long TQ3MethodType; typedef void (*TQ3FunctionPointer)(void);
TQ3Status Q3ObjectClass_Unregister ( TQ3ObjectClass objectClass);
TQ3Status Q3Object_Dispose (TQ3Object object);
TQ3Object Q3Object_Duplicate (TQ3Object object);
TQ3Object Q3Object_Submit (TQ3Object object, TQ3ViewObject view);
TQ3Boolean Q3Object_IsDrawable (TQ3Object object);
TQ3Boolean Q3Object_IsWritable
(TQ3Object object);
TQ3ObjectType Q3Object_GetLeafType ( TQ3Object object); TQ3ObjectType Q3Object_GetType (TQ3Object object); TQ3Boolean Q3Object_IsType (TQ3Object object, TQ3ObjectType type);
TQ3SharedObject Q3Shared_GetReference (
TQ3SharedObject sharedObject);
TQ3ObjectType Q3Shared_GetType
(
TQ3SharedObject sharedObject);
TQ3ObjectClass Q3ElementClass_Register ( TQ3ElementType elementType, char *name, unsigned long sizeOfElement, TQ3MetaHandler metaHandler); TQ3Status Q3ElementType_GetElementSize ( TQ3ElementType elementType, unsigned long *sizeOfElement);
typedef TQ3FunctionPointer (*TQ3MetaHandler) ( TQ3MethodType methodType);
typedef TQ3Status (*TQ3ObjectUnregisterMethod) ( TQ3ObjectClass objectClass);
typedef TQ3Status (*TQ3ElementCopyAddMethod) ( const void *fromAPIElement, void *toInternalElement); typedef TQ3Status (*TQ3ElementCopyDuplicateMethod) ( const void *fromInternalElement, void *toInternalElement); typedef TQ3Status (*TQ3ElementCopyGetMethod) ( const void *fromInternalElement, void *toAPIElement); typedef TQ3Status (*TQ3ElementCopyReplaceMethod) ( const void *fromAPIElement, void *ontoInternalElement); typedef TQ3Status (*TQ3ElementDeleteMethod) ( void *internalElement);
Let us know what you think of these prototype pages.
Generated with Harlequin WebMaker