/* File: QD3DStyle.h Contains: Q3Style types and routines 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 __QD3DSTYLE__ #define __QD3DSTYLE__ #ifndef __QD3D__ #include #endif #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 __QD3DSTYLE__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 __QD3DSTYLE__RESTORE_PACKED_ENUMS #pragma options(!pack_enums) #endif #endif /****************************************************************************** ** ** ** Style Base Class Routines ** ** ** *****************************************************************************/ #if CALL_NOT_IN_CARBON /* * Q3Style_GetType() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3ObjectType ) Q3Style_GetType(TQ3StyleObject style); /* * Q3Style_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3Style_Submit( TQ3StyleObject style, TQ3ViewObject view); /****************************************************************************** ** ** ** Subdivision ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3SubdivisionMethod { kQ3SubdivisionMethodConstant = 0, kQ3SubdivisionMethodWorldSpace = 1, kQ3SubdivisionMethodScreenSpace = 2 }; typedef enum TQ3SubdivisionMethod TQ3SubdivisionMethod; struct TQ3SubdivisionStyleData { TQ3SubdivisionMethod method; float c1; float c2; }; typedef struct TQ3SubdivisionStyleData TQ3SubdivisionStyleData; #if CALL_NOT_IN_CARBON /* * Q3SubdivisionStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3SubdivisionStyle_New(const TQ3SubdivisionStyleData * data); /* * Q3SubdivisionStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3SubdivisionStyle_Submit( const TQ3SubdivisionStyleData * data, TQ3ViewObject view); /* * Q3SubdivisionStyle_SetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3SubdivisionStyle_SetData( TQ3StyleObject subdiv, const TQ3SubdivisionStyleData * data); /* * Q3SubdivisionStyle_GetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3SubdivisionStyle_GetData( TQ3StyleObject subdiv, TQ3SubdivisionStyleData * data); /****************************************************************************** ** ** ** Pick ID ** ** ** *****************************************************************************/ /* * Q3PickIDStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3PickIDStyle_New(unsigned long id); /* * Q3PickIDStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickIDStyle_Submit( unsigned long id, TQ3ViewObject view); /* * Q3PickIDStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickIDStyle_Get( TQ3StyleObject pickIDObject, unsigned long * id); /* * Q3PickIDStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickIDStyle_Set( TQ3StyleObject pickIDObject, unsigned long id); /****************************************************************************** ** ** ** Pick Parts ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3PickPartsMasks { kQ3PickPartsObject = 0, kQ3PickPartsMaskFace = 1 << 0, kQ3PickPartsMaskEdge = 1 << 1, kQ3PickPartsMaskVertex = 1 << 2 }; typedef enum TQ3PickPartsMasks TQ3PickPartsMasks; typedef unsigned long TQ3PickParts; #if CALL_NOT_IN_CARBON /* * Q3PickPartsStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3PickPartsStyle_New(TQ3PickParts parts); /* * Q3PickPartsStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickPartsStyle_Submit( TQ3PickParts parts, TQ3ViewObject view); /* * Q3PickPartsStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickPartsStyle_Get( TQ3StyleObject pickPartsObject, TQ3PickParts * parts); /* * Q3PickPartsStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3PickPartsStyle_Set( TQ3StyleObject pickPartsObject, TQ3PickParts parts); /****************************************************************************** ** ** ** Receive Shadows ** ** ** *****************************************************************************/ /* * Q3ReceiveShadowsStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3ReceiveShadowsStyle_New(TQ3Boolean receives); /* * Q3ReceiveShadowsStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3ReceiveShadowsStyle_Submit( TQ3Boolean receives, TQ3ViewObject view); /* * Q3ReceiveShadowsStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3ReceiveShadowsStyle_Get( TQ3StyleObject styleObject, TQ3Boolean * receives); /* * Q3ReceiveShadowsStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3ReceiveShadowsStyle_Set( TQ3StyleObject styleObject, TQ3Boolean receives); /****************************************************************************** ** ** ** Fill Styles ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3FillStyle { kQ3FillStyleFilled = 0, kQ3FillStyleEdges = 1, kQ3FillStylePoints = 2 }; typedef enum TQ3FillStyle TQ3FillStyle; #if CALL_NOT_IN_CARBON /* * Q3FillStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3FillStyle_New(TQ3FillStyle fillStyle); /* * Q3FillStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FillStyle_Submit( TQ3FillStyle fillStyle, TQ3ViewObject view); /* * Q3FillStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FillStyle_Get( TQ3StyleObject styleObject, TQ3FillStyle * fillStyle); /* * Q3FillStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FillStyle_Set( TQ3StyleObject styleObject, TQ3FillStyle fillStyle); /****************************************************************************** ** ** ** Backfacing Styles ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3BackfacingStyle { kQ3BackfacingStyleBoth = 0, kQ3BackfacingStyleRemove = 1, kQ3BackfacingStyleFlip = 2 }; typedef enum TQ3BackfacingStyle TQ3BackfacingStyle; #if CALL_NOT_IN_CARBON /* * Q3BackfacingStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3BackfacingStyle_New(TQ3BackfacingStyle backfacingStyle); /* * Q3BackfacingStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3BackfacingStyle_Submit( TQ3BackfacingStyle backfacingStyle, TQ3ViewObject view); /* * Q3BackfacingStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3BackfacingStyle_Get( TQ3StyleObject backfacingObject, TQ3BackfacingStyle * backfacingStyle); /* * Q3BackfacingStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3BackfacingStyle_Set( TQ3StyleObject backfacingObject, TQ3BackfacingStyle backfacingStyle); /****************************************************************************** ** ** ** Interpolation Types ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3InterpolationStyle { kQ3InterpolationStyleNone = 0, kQ3InterpolationStyleVertex = 1, kQ3InterpolationStylePixel = 2 }; typedef enum TQ3InterpolationStyle TQ3InterpolationStyle; #if CALL_NOT_IN_CARBON /* * Q3InterpolationStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3InterpolationStyle_New(TQ3InterpolationStyle interpolationStyle); /* * Q3InterpolationStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3InterpolationStyle_Submit( TQ3InterpolationStyle interpolationStyle, TQ3ViewObject view); /* * Q3InterpolationStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3InterpolationStyle_Get( TQ3StyleObject interpolationObject, TQ3InterpolationStyle * interpolationStyle); /* * Q3InterpolationStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3InterpolationStyle_Set( TQ3StyleObject interpolationObject, TQ3InterpolationStyle interpolationStyle); /****************************************************************************** ** ** ** Highlight Style ** ** ** *****************************************************************************/ /* * Q3HighlightStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3HighlightStyle_New(TQ3AttributeSet highlightAttribute); /* * Q3HighlightStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3HighlightStyle_Submit( TQ3AttributeSet highlightAttribute, TQ3ViewObject view); /* * Q3HighlightStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3HighlightStyle_Get( TQ3StyleObject highlight, TQ3AttributeSet * highlightAttribute); /* * Q3HighlightStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3HighlightStyle_Set( TQ3StyleObject highlight, TQ3AttributeSet highlightAttribute); /****************************************************************************** ** ** ** FrontFacing Direction Styles ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3OrientationStyle { kQ3OrientationStyleCounterClockwise = 0, kQ3OrientationStyleClockwise = 1 }; typedef enum TQ3OrientationStyle TQ3OrientationStyle; #if CALL_NOT_IN_CARBON /* * Q3OrientationStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3OrientationStyle_New(TQ3OrientationStyle frontFacingDirection); /* * Q3OrientationStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3OrientationStyle_Submit( TQ3OrientationStyle frontFacingDirection, TQ3ViewObject view); /* * Q3OrientationStyle_Get() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3OrientationStyle_Get( TQ3StyleObject frontFacingDirectionObject, TQ3OrientationStyle * frontFacingDirection); /* * Q3OrientationStyle_Set() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3OrientationStyle_Set( TQ3StyleObject frontFacingDirectionObject, TQ3OrientationStyle frontFacingDirection); /****************************************************************************** ** ** ** AntiAlias Style ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3AntiAliasModeMasks { kQ3AntiAliasModeMaskEdges = 1 << 0, kQ3AntiAliasModeMaskFilled = 1 << 1 }; typedef enum TQ3AntiAliasModeMasks TQ3AntiAliasModeMasks; typedef unsigned long TQ3AntiAliasMode; struct TQ3AntiAliasStyleData { TQ3Switch state; TQ3AntiAliasMode mode; float quality; }; typedef struct TQ3AntiAliasStyleData TQ3AntiAliasStyleData; #if CALL_NOT_IN_CARBON /* * Q3AntiAliasStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3AntiAliasStyle_New(const TQ3AntiAliasStyleData * data); /* * Q3AntiAliasStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3AntiAliasStyle_Submit( const TQ3AntiAliasStyleData * data, TQ3ViewObject view); /* * Q3AntiAliasStyle_GetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3AntiAliasStyle_GetData( TQ3StyleObject styleObject, TQ3AntiAliasStyleData * data); /* * Q3AntiAliasStyle_SetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3AntiAliasStyle_SetData( TQ3StyleObject styleObject, const TQ3AntiAliasStyleData * data); /****************************************************************************** ** ** ** Fog Style ** ** ** *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ enum TQ3FogMode { kQ3FogModeLinear = 0, kQ3FogModeExponential = 1, kQ3FogModeExponentialSquared = 2, kQ3FogModeAlpha = 3 }; typedef enum TQ3FogMode TQ3FogMode; struct TQ3FogStyleData { TQ3Switch state; TQ3FogMode mode; float fogStart; float fogEnd; float density; TQ3ColorARGB color; }; typedef struct TQ3FogStyleData TQ3FogStyleData; #if CALL_NOT_IN_CARBON /* * Q3FogStyle_New() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3StyleObject ) Q3FogStyle_New(const TQ3FogStyleData * data); /* * Q3FogStyle_Submit() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FogStyle_Submit( const TQ3FogStyleData * data, TQ3ViewObject view); /* * Q3FogStyle_GetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FogStyle_GetData( TQ3StyleObject styleObject, TQ3FogStyleData * data); /* * Q3FogStyle_SetData() * * Availability: * Non-Carbon CFM: not available * CarbonLib: not available * Mac OS X: not available */ EXTERN_API_C( TQ3Status ) Q3FogStyle_SetData( TQ3StyleObject styleObject, const TQ3FogStyleData * data); #endif /* CALL_NOT_IN_CARBON */ #if PRAGMA_ENUM_ALWAYSINT #pragma enumsalwaysint reset #ifdef __QD3DSTYLE__RESTORE_TWOBYTEINTS #pragma fourbyteints off #endif #elif PRAGMA_ENUM_OPTIONS #pragma option enum=reset #elif defined(__QD3DSTYLE__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 /* __QD3DSTYLE__ */