Summary of QuickDraw 3D RAVE
C Summary
Constants
Platform Values
#define kQAMacOS 1 #define kQAGeneric 2 #define kQAWin32 3Version Values
typedef enum TQAVersion { kQAVersion_Prerelease = 0, kQAVersion_1_0 = 1, kQAVersion_1_0_5 = 2, kQAVersion_1_1 = 3 } TQAVersion;Pixel Types
typedef enum TQAImagePixelType { kQAPixel_Alpha1 = 0, kQAPixel_RGB16 = 1, kQAPixel_ARGB16 = 2, kQAPixel_RGB32 = 3, kQAPixel_ARGB32 = 4, kQAPixel_CL4 = 5, kQAPixel_CL8 = 6 } TQAImagePixelType;Color Lookup Table Types
typedef enum TQAColorTableType { kQAColorTable_CL8_RGB32 = 0, kQAColorTable_CL4_RGB32 = 1 } TQAColorTableType;Device Types
typedef enum TQADeviceType { kQADeviceMemory = 0, kQADeviceGDevice = 1, kQADeviceWin32DC = 2, kQADeviceDDSurface = 3 } TQADeviceType;Clip Types
typedef enum TQAClipType { kQAClipRgn = 0, kQAClipWin32Rgn = 1 } TQAClipType;Tags for State Variables
typedef enum TQATagInt { kQATag_ZFunction = 0, /*required variables*/ kQATag_Antialias = 8, /*optional variables*/ kQATag_Blend = 9, kQATag_PerspectiveZ = 10, kQATag_TextureFilter = 11, kQATag_TextureOp = 12, kQATag_CSGTag = 14, kQATag_CSGEquation = 15, kQATagGL_DrawBuffer = 100, /*OpenGL variables*/ kQATagGL_TextureWrapU = 101, kQATagGL_TextureWrapV = 102, kQATagGL_TextureMagFilter = 103, kQATagGL_TextureMinFilter = 104, kQATagGL_ScissorXMin = 105, kQATagGL_ScissorYMin = 106, kQATagGL_ScissorXMax = 107, kQATagGL_ScissorYMax = 108, kQATagGL_BlendSrc = 109, kQATagGL_BlendDst = 110, kQATagGL_LinePattern = 111, kQATagGL_AreaPattern0 = 117, kQATagGL_AreaPattern31 = 148, kQATag_EngineSpecific_Minimum= 1000 } TQATagInt; typedef enum TQATagFloat { kQATag_ColorBG_a = 1, /*required variables*/ kQATag_ColorBG_r = 2, kQATag_ColorBG_g = 3, kQATag_ColorBG_b = 4, kQATag_Width = 5, kQATag_ZMinOffset = 6, kQATag_ZMinScale = 7, kQATagGL_DepthBG = 112, /*OpenGL variables*/ kQATagGL_TextureBorder_a = 113, kQATagGL_TextureBorder_r = 114, kQATagGL_TextureBorder_g = 115, kQATagGL_TextureBorder_b = 116 } TQATagFloat; typedef enum TQATagPtr { kQATag_Texture = 13 } TQATagPtr;Z Sorting Function Selectors
/*values for kQATag_ZFunction*/ #define kQAZFunction_None 0 #define kQAZFunction_LT 1 #define kQAZFunction_EQ 2 #define kQAZFunction_LE 3 #define kQAZFunction_GT 4 #define kQAZFunction_NE 5 #define kQAZFunction_GE 6 #define kQAZFunction_True 7Antialiasing Selectors
/*values for kQATag_Antialias*/ #define kQAAntiAlias_Off 0 #define kQAAntiAlias_Fast 1 #define kQAAntiAlias_Mid 2 #define kQAAntiAlias_Best 3Blending Operations
/*values for kQATag_Blend*/ #define kQABlend_PreMultiply 0 #define kQABlend_Interpolate 1 #define kQABlend_OpenGL 2Z Perspective Selectors
/*values for kQATag_PerspectiveZ*/ #define kQAPerspectiveZ_Off 0 #define kQAPerspectiveZ_On 1Texture Filter Selectors
/*values for kQATag_TextureFilter*/ #define kQATextureFilter_Fast 0 #define kQATextureFilter_Mid 1 #define kQATextureFilter_Best 2Texture Operations
/*masks for kQATag_TextureOp*/ #define kQATextureOp_None 0 #define kQATextureOp_Modulate (1 << 0) #define kQATextureOp_Highlight (1 << 1) #define kQATextureOp_Decal (1 << 2) #define kQATextureOp_Shrink (1 << 3)CSG IDs
/*values for kQATag_CSGTag*/ #define kQACSGTag_None 0xffffffffUL #define kQACSGTag_0 0 #define kQACSGTag_1 1 #define kQACSGTag_2 2 #define kQACSGTag_3 3 #define kQACSGTag_4 4Texture Wrapping Values
/*values for kQATagGL_TextureWrapU and kQATagGL_TextureWrapV*/ #define kQAGL_Repeat 0 #define kQAGL_Clamp 1Source Blending Values
/*values for kQATagGL_BlendSrc*/ #define kQAGL_SourceBlend_XXX 0Destination Blending Values
/*values for kQATagGL_BlendDst*/ #define kQAGL_DestBlend_XXX 0Buffer Drawing Operations
/*masks for kQATagGL_DrawBuffer*/ #define kQAGL_DrawBuffer_None 0 #define kQAGL_DrawBuffer_FrontLeft (1 << 0) #define kQAGL_DrawBuffer_FrontRight (1 << 1) #define kQAGL_DrawBuffer_BackLeft (1 << 2) #define kQAGL_DrawBuffer_BackRight (1 << 3) #define kQAGL_DrawBuffer_Front \ (kQAGL_DrawBuffer_FrontLeft | kQAGL_DrawBuffer_FrontRight) #define kQAGL_DrawBuffer_Back \ (kQAGL_DrawBuffer_BackLeft | kQAGL_DrawBuffer_BackRight)Line and Point Widths
/*values for kQATag_Width*/ #define kQAMaxWidth 128.0Vertex Modes
typedef enum TQAVertexMode { kQAVertexMode_Point = 0, kQAVertexMode_Line = 1, kQAVertexMode_Polyline = 2, kQAVertexMode_Tri = 3, kQAVertexMode_Strip = 4, kQAVertexMode_Fan = 5 } TQAVertexMode;Gestalt Selectors
typedef enum TQAGestaltSelector { kQAGestalt_OptionalFeatures= 0, kQAGestalt_FastFeatures = 1, kQAGestalt_VendorID = 2, kQAGestalt_EngineID = 3, kQAGestalt_Revision = 4, kQAGestalt_ASCIINameLength = 5, kQAGestalt_ASCIIName = 6, kQAGestalt_AvailableTexMem = 7 } TQAGestaltSelector;Gestalt Optional Features Response Masks
#define kQAOptional_None 0 #define kQAOptional_DeepZ (1 << 0) #define kQAOptional_Texture (1 << 1) #define kQAOptional_TextureHQ (1 << 2) #define kQAOptional_TextureColor (1 << 3) #define kQAOptional_Blend (1 << 4) #define kQAOptional_BlendAlpha (1 << 5) #define kQAOptional_Antialias (1 << 6) #define kQAOptional_ZSorted (1 << 7) #define kQAOptional_PerspectiveZ (1 << 8) #define kQAOptional_OpenGL (1 << 9) #define kQAOptional_NoClear (1 << 10) #define kQAOptional_CSG (1 << 11) #define kQAOptional_BoundToDevice (1 << 12) #define kQAOptional_CL4 (1 << 13) #define kQAOptional_CL8 (1 << 14)Gestalt Fast Features Response Masks
#define kQAFast_None 0 #define kQAFast_Line (1 << 0) #define kQAFast_Gouraud (1 << 1) #define kQAFast_Texture (1 << 2) #define kQAFast_TextureHQ (1 << 3) #define kQAFast_Blend (1 << 4) #define kQAFast_Antialiasing (1 << 5) #define kQAFast_ZSorted (1 << 6) #define kQAFast_CL4 (1 << 7) #define kQAFast_CL8 (1 << 8)Vendor and Engine IDs
#define kQAVendor_BestChoice (-1) #define kQAVendor_Apple 0 #define kQAVendor_ATI 1 #define kQAVendor_Radius 2 #define kQAVendor_Mentor 3 #define kQAVendor_Matrox 4 #define kQAVendor_Yarc 5 #define kQAEngine_AppleSW 0 #define kQAEngine_AppleHW (-1) #define kQAEngine_AppleHW2 1Triangle Flags Masks
#define kQATriFlags_None 0 #define kQATriFlags_Backfacing (1 << 0)Texture Flags Masks
#define kQATexture_None 0 #define kQATexture_Lock (1 << 0) #define kQATexture_Mipmap (1 << 1) #define kQATexture_NoCompression (1 << 2) #define kQATexture_HighCompression (1 << 3)Bitmap Flags Masks
#define kQABitmap_None 0 #define kQABitmap_Lock (1 << 1) #define kQABitmap_NoCompression (1 << 2) #define kQABitmap_HighCompression (1 << 3)Draw Context Flags Masks
#define kQAContext_None 0 #define kQAContext_NoZBuffer (1 << 0) #define kQAContext_DeepZ (1 << 1) #define kQAContext_DoubleBuffer (1 << 2) #define kQAContext_Cache (1 << 3)Drawing Engine Method Selectors
typedef enum TQAEngineMethodTag { kQADrawPrivateNew = 0, kQADrawPrivateDelete = 1, kQAEngineCheckDevice = 2, kQAEngineGestalt = 3, kQATextureNew = 4, kQATextureDetach = 5, kQATextureDelete = 6, kQABitmapNew = 7, kQABitmapDetach = 8, kQABitmapDelete = 9, kQAColorTableNew = 10, kQAColorTableDelete = 11, kQATextureBindColorTable = 12, kQABitmapBindColorTable = 13 } TQAEngineMethodTag;Public Draw Context Method Selectors
typedef enum TQADrawMethodTag { kQASetFloat = 0, kQASetInt = 1, kQASetPtr = 2, kQAGetFloat = 3, kQAGetInt = 4, kQAGetPtr = 5, kQADrawPoint = 6, kQADrawLine = 7, kQADrawTriGouraud = 8, kQADrawTriTexture = 9, kQADrawVGouraud = 10, kQADrawVTexture = 11, kQADrawBitmap = 12, kQARenderStart = 13, kQARenderEnd = 14, kQARenderAbort = 15, kQAFlush = 16, kQASync = 17, kQASubmitVerticesGouraud = 18, kQASubmitVerticesTexture = 19, kQADrawTriMeshGouraud = 20, kQADrawTriMeshTexture = 21, kQASetNoticeMethod = 22, kQAGetNoticeMethod = 23 } TQADrawMethodTag;Notice Method Selectors
typedef enum TQAMethodSelector { kQAMethod_RenderCompletion = 0, kQAMethod_DisplayModeChanged = 1 } TQAMethodSelector;Data Types
Basic Data Types
typedef struct TQAEngine TQAEngine; typedef struct TQATexture TQATexture; typedef struct TQABitmap TQABitmap; typedef struct TQAColorTable TQAColorTable; typedef struct TQADrawPrivate TQADrawPrivate;Memory Device Structure
typedef struct TQADeviceMemory { long rowBytes; TQAImagePixelType pixelType; long width; long height; void *baseAddr; } TQADeviceMemory;Rectangle Structure
typedef struct TQARect { long left; long right; long top; long bottom; } TQARect;Macintosh Device and Clip Structures
typedef union TQAPlatformDevice { TQADeviceMemory memoryDevice; GDHandle gDevice; } TQAPlatformDevice; typedef union TQAPlatformClip { RgnHandle clipRgn; } TQAPlatformClip;Windows Device and Clip Structures
typedef union TQAPlatformDevice { TQADeviceMemory memoryDevice; HDC hdc; struct { LPDIRECTDRAW lpDirectDraw; LPDIRECTDRAWSURFACE lpDirectDrawSurface; }; } TQAPlatformDevice; typedef union TQAPlatformClip { HRGN clipRgn; } TQAPlatformClipGeneric Device and Clip Structures
typedef union TQAPlatformDevice { TQADeviceMemory memoryDevice; } TQAPlatformDevice; typedef union TQAPlatformClip { void *region; } TQAPlatformClip;Device Structure
typedef struct TQADevice { TQADeviceType deviceType; TQAPlatformDevice device; } TQADevice;Clip Data Structure
typedef struct TQAClip { TQAClipType clipType; TQAPlatformClip clip; } TQAClip;Image Structure
struct TQAImage { long width; long height; long rowBytes; void *pixmap; }; typedef struct TQAImage TQAImage;Vertex Structures
typedef struct TQAVGouraud { float x; float y; float z; float invW; float r; float g; float b; float a; } TQAVGouraud; typedef struct TQAVTexture { float x; float y; float z; float invW; float r; float g; float b; float a; float uOverW; float vOverW; float kd_r; float kd_g; float kd_b; float ks_r; float ks_g; float ks_b; } TQAVTexture;Draw Context Structure
struct TQADrawContext { TQADrawPrivate *drawPrivate; const TQAVersion version; TQASetFloat setFloat; TQASetInt setInt; TQASetPtr setPtr; TQAGetFloat getFloat; TQAGetInt getInt; TQAGetPtr getPtr; TQADrawPoint drawPoint; TQADrawLine drawLine; TQADrawTriGouraud drawTriGouraud; TQADrawTriTexture drawTriTexture; TQADrawVGouraud drawVGouraud; TQADrawVTexture drawVTexture; TQADrawBitmap drawBitmap; TQARenderStart renderStart; TQARenderEnd renderEnd; TQARenderAbort renderAbort; TQAFlush flush; TQASync sync; TQASubmitVerticesGouraud submitVerticesGouraud; TQASubmitVerticesTexture submitVerticesTexture; TQADrawTriMeshGouraud drawTriMeshGouraud; TQADrawTriMeshTexture drawTriMeshTexture; TQASetNoticeMethod setNoticeMethod; TQAGetNoticeMethod getNoticeMethod; }; typedef struct TQADrawContext TQADrawContext;Drawing Engine Methods Union
typedef union TQAEngineMethod { TQADrawPrivateNew drawPrivateNew; TQADrawPrivateDelete drawPrivateDelete; TQAEngineCheckDevice engineCheckDevice; TQAEngineGestalt engineGestalt; TQATextureNew textureNew; TQATextureDetach textureDetach; TQATextureDelete textureDelete; TQABitmapNew bitmapNew; TQABitmapDetach bitmapDetach; TQABitmapDelete bitmapDelete; TQAColorTableNew colorTableNew; TQAColorTableDelete colorTableDelete; TQATextureBindColorTable textureBindColorTable; TQABitmapBindColorTable bitmapBindColorTable; } TQAEngineMethod;Public Draw Context Methods Union
typedef union TQADrawMethod { TQASetFloat setFloat; TQASetInt setInt; TQASetPtr setPtr; TQAGetFloat getFloat; TQAGetInt getInt; TQAGetPtr getPtr; TQADrawPoint drawPoint; TQADrawLine drawLine; TQADrawTriGouraud drawTriGouraud; TQADrawTriTexture drawTriTexture; TQADrawVGouraud drawVGouraud; TQADrawVTexture drawVTexture; TQADrawBitmap drawBitmap; TQARenderStart renderStart; TQARenderEnd renderEnd; TQARenderAbort renderAbort; TQAFlush flush; TQASync sync; TQASubmitVerticesGouraud submitVerticesGouraud; TQASubmitVerticesTexture submitVerticesTexture; TQADrawTriMeshGouraud drawTriMeshGouraud; TQADrawTriMeshTexture drawTriMeshTexture; TQASetNoticeMethod setNoticeMethod; TQAGetNoticeMethod getNoticeMethod; } TQADrawMethod;Indexed Triangle Structure
typedef struct TQAIndexedTriangle { unsigned long triangleFlags; unsigned long vertices[3]; } TQAIndexedTriangle;QuickDraw 3D RAVE Routines
Creating and Deleting Draw Contexts
TQAError QADrawContextNew (const TQADevice *device, const TQARect *rect, const TQAClip *clip, const TQAEngine *engine, unsigned long flags, TQADrawContext **newDrawContext); void QADrawContextDelete (TQADrawContext *drawContext);Creating and Deleting Color Lookup Tables
TQAError QAColorTableNew (const TQAEngine *engine, TQAColorTableType tableType, void *pixelData, long transparentIndexFlag, TQAColorTable **newTable); void QAColorTableDelete (const TQAEngine *engine, TQAColorTable *colorTable);Manipulating Textures and Bitmaps
TQAError QATextureNew (const TQAEngine *engine, unsigned long flags, TQAImagePixelType pixelType, const TQAImage images[], TQATexture **newTexture); TQAError QATextureDetach (const TQAEngine *engine, TQATexture *texture); TQAError QATextureBindColorTable (const TQAEngine *engine, TQATexture *texture, TQAColorTable *colorTable); void QATextureDelete (const TQAEngine *engine, TQATexture *texture); TQAError QABitmapNew (const TQAEngine *engine, unsigned long flags, TQAImagePixelType pixelType, const TQAImage *image, TQABitmap **newBitmap); TQAError QABitmapDetach (const TQAEngine *engine, TQABitmap *bitmap); TQAError QABitmapBindColorTable (const TQAEngine *engine, TQABitmap *bitmap, TQAColorTable *colorTable); void QABitmapDelete (const TQAEngine *engine, TQABitmap *bitmap);Managing Drawing Engines
TQAEngine *QADeviceGetFirstEngine (const TQADevice *device); TQAEngine *QADeviceGetNextEngine (const TQADevice *device, const TQAEngine *currentEngine); TQAError QAEngineCheckDevice (const TQAEngine *engine, const TQADevice *device); TQAError QAEngineGestalt (const TQAEngine *engine, TQAGestaltSelector selector, void *response); TQAError QAEngineEnable (long vendorID, long engineID); TQAError QAEngineDisable (long vendorID, long engineID);Manipulating Draw Contexts
#define QAGetFloat(drawContext,tag) \ (drawContext)->getFloat (drawContext,tag) #define QASetFloat(drawContext,tag,newValue) \ (drawContext)->setFloat (drawContext,tag,newValue) #define QAGetInt(drawContext,tag) \ (drawContext)->getInt (drawContext,tag) #define QASetInt(drawContext,tag,newValue) \ (drawContext)->setInt (drawContext,tag,newValue) #define QAGetPtr(drawContext,tag) \ (drawContext)->getPtr (drawContext,tag) #define QASetPtr(drawContext,tag,newValue) \ (drawContext)->setPtr (drawContext,tag,newValue) #define QADrawPoint(drawContext,v) \ (drawContext)->drawPoint (drawContext,v) #define QADrawLine(drawContext,v0,v1) \ (drawContext)->drawLine (drawContext,v0,v1) #define QADrawTriGouraud(drawContext,v0,v1,v2,flags) \ (drawContext)->drawTriGouraud (drawContext,v0,v1,v2,flags) #define QADrawTriTexture(drawContext,v0,v1,v2,flags) \ (drawContext)->drawTriTexture (drawContext,v0,v1,v2,flags) #define QASubmitVerticesGouraud(drawContext,nVertices,vertices) \ (drawContext)->submitVerticesGouraud(drawContext,nVertices,vertices) #define QASubmitVerticesTexture(drawContext,nVertices,vertices) \ (drawContext)->submitVerticesTexture(drawContext,nVertices,vertices) #define QADrawTriMeshGouraud(drawContext,nTriangle,triangles) \ (drawContext)->drawTriMeshGouraud (drawContext,nTriangle,triangles) #define QADrawTriMeshTexture(drawContext,nTriangle,triangles) \ (drawContext)->drawTriMeshTexture (drawContext,nTriangle,triangles) #define QADrawVGouraud(drawContext,nVertices,vertexMode,vertices,flags) \ (drawContext)->drawVGouraud (drawContext,nVertices,vertexMode,vertices,flags) #define QADrawVTexture(drawContext,nVertices,vertexMode,vertices,flags) \ (drawContext)->drawVTexture (drawContext,nVertices,vertexMode,vertices,flags) #define QADrawBitmap(drawContext,v,bitmap) \ (drawContext)->drawBitmap (drawContext,v,bitmap) #define QARenderStart(drawContext,dirtyRect,initialContext) \ (drawContext)->renderStart (drawContext,dirtyRect,initialContext) #define QARenderEnd(drawContext,modifiedRect) \ (drawContext)->renderEnd (drawContext,modifiedRect) #define QARenderAbort(drawContext) (drawContext)->renderAbort (drawContext) #define QAFlush(drawContext) (drawContext)->flush (drawContext) #define QASync(drawContext) (drawContext)->sync (drawContext) #define QAGetNoticeMethod(drawContext, method, completionCallBack, refCon) \ (drawContext)->getNoticeMethod (drawContext, method, completionCallBack, refCon) #define QASetNoticeMethod(drawContext, method, completionCallBack, refCon) \ (drawContext)->setNoticeMethod (drawContext, method, completionCallBack, refCon)Registering a Custom Drawing Engine
TQAError QARegisterEngine (TQAEngineGetMethod engineGetMethod); TQAError QARegisterDrawMethod (TQADrawContext *drawContext, TQADrawMethodTag methodTag, TQADrawMethod method);Application-Defined Routines
Public Draw Context Methods
typedef float (*TQAGetFloat)(const TQADrawContext *drawContext, TQATagFloat tag); typedef void (*TQASetFloat)(TQADrawContext *drawContext, TQATagFloat tag, float newValue); typedef unsigned long (*TQAGetInt)(const TQADrawContext *drawContext, TQATagInt tag); typedef void (*TQASetInt)(TQADrawContext *drawContext, TQATagInt tag, unsigned long newValue); typedef void * (*TQAGetPtr)(const TQADrawContext *drawContext, TQATagPtr tag); typedef void (*TQASetPtr)(TQADrawContext *drawContext, TQATagPtr tag, const void *newValue); typedef void (*TQADrawPoint)(const TQADrawContext *drawContext, const TQAVGouraud *v); typedef void (*TQADrawLine)(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1); typedef void (*TQADrawTriGouraud)(const TQADrawContext *drawContext, const TQAVGouraud *v0, const TQAVGouraud *v1, const TQAVGouraud *v2, unsigned long flags); typedef void (*TQADrawTriTexture)(const TQADrawContext *drawContext, const TQAVTexture *v0, const TQAVTexture *v1, const TQAVTexture *v2, unsigned long flags); typedef void (*TQASubmitVerticesGouraud) ( const TQADrawContext *drawContext, unsigned long nVertices, const TQAVGouraud *vertices); typedef void (*TQASubmitVerticesTexture) ( const TQADrawContext *drawContext, unsigned long nVertices, const TQAVTexture *vertices); typedef void (*TQADrawTriMeshGouraud) ( const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles); typedef void (*TQADrawTriMeshTexture) ( const TQADrawContext *drawContext, unsigned long nTriangles, const TQAIndexedTriangle *triangles); typedef void (*TQADrawVGouraud)(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVGouraud vertices[], const unsigned long flags[]); typedef void (*TQADrawVTexture)(const TQADrawContext *drawContext, unsigned long nVertices, TQAVertexMode vertexMode, const TQAVTexture vertices[], const unsigned long flags[]); typedef void (*TQADrawBitmap)(const TQADrawContext *drawContext, const TQAVGouraud *v, TQABitmap *bitmap); typedef void (*TQARenderStart)(const TQADrawContext *drawContext, const TQARect *dirtyRect, const TQADrawContext *initialContext); typedef TQAError (*TQARenderEnd)(const TQADrawContext *drawContext, const TQARect *modifiedRect); typedef TQAError (*TQARenderAbort)(const TQADrawContext *drawContext); typedef TQAError (*TQAFlush)(const TQADrawContext *drawContext); typedef TQAError (*TQASync)(const TQADrawContext *drawContext); typedef TQAError (*TQAGetNoticeMethod) ( const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod *completionCallBack, void **refCon); typedef TQAError (*TQASetNoticeMethod) ( const TQADrawContext *drawContext, TQAMethodSelector method, TQANoticeMethod completionCallBack, void *refCon);Private Draw Context Methods
typedef TQAError (*TQADrawPrivateNew) ( TQADrawContext *newDrawContext, const TQADevice *device, const TQARect *rect, const TQAClip *clip, unsigned long flags); typedef void (*TQADrawPrivateDelete) ( TQADrawPrivate *drawPrivate); typedef TQAError (*TQAEngineCheckDevice) ( const TQADevice *device); typedef TQAError (*TQAEngineGestalt) ( TQAGestaltSelector selector, void *response);Color Lookup Table Methods
typedef TQAError (*TQAColorTableNew)( TQAColorTableType pixelType, void *pixelData, long transparentIndex, TQAColorTable **newTable); typedef void (*TQAColorTableDelete) ( TQAColorTable *colorTable);Texture and Bitmap Methods
typedef TQAError (*TQATextureNew)(unsigned long flags, TQAImagePixelType pixelType, const TQAImage images[], TQATexture **newTexture); typedef TQAError (*TQATextureDetach) ( TQATexture *texture); typedef TQAError (*TQATextureBindColorTable) ( TQATexture *texture, TQAColorTable *colorTable); typedef void (*TQATextureDelete)(TQATexture *texture); typedef TQAError (*TQABitmapNew)(unsigned long flags, TQAImagePixelType pixelType, const TQAImage *image, TQABitmap **newBitmap); typedef TQAError (*TQABitmapDetach) ( TQABitmap *bitmap); typedef TQAError (*TQABitmapBindColorTable) ( TQABitmap *bitmap, TQAColorTable *colorTable); typedef void (*TQABitmapDelete)(TQABitmap *bitmap);Method Reporting Methods
typedef TQAError (*TQAEngineGetMethod) ( TQAEngineMethodTag methodTag, TQAEngineMethod *method);Notice Methods
typedef void (*TQANoticeMethod)(TQADrawContext *drawContext, void *refCon);Result Codes
kQANoErr 0 No error kQAError 1 Generic error code kQAOutOfMemory 2 Insufficient memory for requested operation kQANotSupported 3 Requested feature is not supported kQAOutOfDate 4 A newer drawing engine was registered kQAParamErr 5 Invalid parameter kQAGestaltUnknown 6 Requested Gestalt type isn't available kQADisplayModeUnsupported
7 Engine cannot render to the display in its current mode
Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help