3D Graphics Programming with QuickDraw 3D

12 Summary of the Draw Context Objects

12 C Summary

12 Constants

#define kQ3DrawContextTypePixmap             Q3_OBJECT_TYPE('d','p','x','p')
#define kQ3DrawContextTypeMacintosh             Q3_OBJECT_TYPE('d','m','a','c')
typedef enum TQ3DrawContextClearImageMethod {
 kQ3ClearMethodNone,
 kQ3ClearMethodWithColor
} TQ3DrawContextClearImageMethod;
typedef enum TQ3MacDrawContext2DLibrary {
 kQ3Mac2DLibraryNone,
 kQ3Mac2DLibraryQuickDraw,
 kQ3Mac2DLibraryQuickDrawGX
} TQ3MacDrawContext2DLibrary;

12 Data Types

typedef TQ3SharedObject               TQ3DrawContextObject;

Draw Context Data Structure

typedef struct TQ3DrawContextData {
 TQ3DrawContextClearImageMethod            clearImageMethod;
 TQ3ColorARGB            clearImageColor;
 TQ3Area            pane;
 TQ3Boolean            paneState;
 TQ3Bitmap            mask;
 TQ3Boolean            maskState;
 TQ3Boolean            doubleBufferState;
} TQ3DrawContextData;

Macintosh Draw Context Data Structure

typedef struct TQ3MacDrawContextData {
 TQ3DrawContextData            drawContextData;
 CWindowPtr            window;
 TQ3MacDrawContext2DLibrary            library;
 gxViewPort            viewPort;
 CGrafPtr            grafPort;
} TQ3MacDrawContextData;

Pixmap Draw Context Data Structure

typedef struct TQ3PixmapDrawContextData {
 TQ3DrawContextData            drawContextData;
 TQ3Pixmap            pixmap;
} TQ3PixmapDrawContextData;

12 Draw Context Objects Routines

Managing Draw Contexts

TQ3ObjectType Q3DrawContext_GetType (
TQ3DrawContextObject drawContext);
TQ3Status Q3DrawContext_GetData (
TQ3DrawContextObject context, 
TQ3DrawContextData *contextData);
TQ3Status Q3DrawContext_SetData (
TQ3DrawContextObject context, 
const TQ3DrawContextData *contextData);
TQ3Status Q3DrawContext_GetClearImageColor (
TQ3DrawContextObject context, 
TQ3ColorARGB *color);
TQ3Status Q3DrawContext_SetClearImageColor (
TQ3DrawContextObject context, 
const TQ3ColorARGB *color);
TQ3Status Q3DrawContext_GetPane (
TQ3DrawContextObject context, 
TQ3Area *pane);
TQ3Status Q3DrawContext_SetPane (
TQ3DrawContextObject context, 
const TQ3Area *pane);
TQ3Status Q3DrawContext_GetPaneState (
TQ3DrawContextObject context, 
TQ3Boolean *state);
TQ3Status Q3DrawContext_SetPaneState (
TQ3DrawContextObject context, 
TQ3Boolean state);
TQ3Status Q3DrawContext_GetClearImageMethod (
TQ3DrawContextObject context, 
TQ3DrawContextClearImageMethod *method);
TQ3Status Q3DrawContext_SetClearImageMethod (
TQ3DrawContextObject context, 
TQ3DrawContextClearImageMethod method);
TQ3Status Q3DrawContext_GetMask (
TQ3DrawContextObject context, 
TQ3Bitmap *mask);
TQ3Status Q3DrawContext_SetMask (
TQ3DrawContextObject context, 
const TQ3Bitmap *mask);
TQ3Status Q3DrawContext_GetMaskState (
TQ3DrawContextObject context, 
TQ3Boolean *state);
TQ3Status Q3DrawContext_SetMaskState (
TQ3DrawContextObject context, 
TQ3Boolean state);
TQ3Status Q3DrawContext_GetDoubleBufferState (
TQ3DrawContextObject context, 
TQ3Boolean *state);
TQ3Status Q3DrawContext_SetDoubleBufferState (
TQ3DrawContextObject context, 
TQ3Boolean state);

Managing Macintosh Draw Contexts

TQ3DrawContextObject Q3MacDrawContext_New (
const TQ3MacDrawContextData *drawContextData);
TQ3Status Q3MacDrawContext_GetWindow (
TQ3DrawContextObject drawContext, 
CWindowPtr *window);
TQ3Status Q3MacDrawContext_SetWindow (
TQ3DrawContextObject drawContext, 
const CWindowPtr window);
TQ3Status Q3MacDrawContext_Get2DLibrary (
TQ3DrawContextObject drawContext, 
TQ3MacDrawContext2DLibrary *library);
TQ3Status Q3MacDrawContext_Set2DLibrary (
TQ3DrawContextObject drawContext, 
TQ3MacDrawContext2DLibrary library);
TQ3Status Q3MacDrawContext_GetGXViewPort (
TQ3DrawContextObject drawContext, 
gxViewPort *viewPort);
TQ3Status Q3MacDrawContext_SetGXViewPort (
TQ3DrawContextObject drawContext, 
const gxViewPort viewPort);
TQ3Status Q3MacDrawContext_GetGrafPort (
TQ3DrawContextObject drawContext, 
CGrafPtr *grafPort);
TQ3Status Q3MacDrawContext_SetGrafPort (
TQ3DrawContextObject drawContext, 
const CGrafPtr grafPort);

Managing Pixmap Draw Contexts

TQ3DrawContextObject Q3PixmapDrawContext_New (
const TQ3PixmapDrawContextData *contextData);
TQ3Status Q3PixmapDrawContext_GetPixmap (
TQ3DrawContextObject drawContext, 
TQ3Pixmap *pixmap);
TQ3Status Q3PixmapDrawContext_SetPixmap (
TQ3DrawContextObject drawContext, 
const TQ3Pixmap *pixmap);

12 Errors, Warnings, and Notices
kQ3ErrorBadDrawContextTypeUnrecognized draw context type
kQ3ErrorBadDrawContextFlagUnrecognized draw context flag
kQ3ErrorBadDrawContextInvalid draw context
kQ3ErrorUnsupportedPixelDepthSpecified pixel depth not supported by draw context
kQ3WarningInvalidPaneDimensionsInvalid panel dimensions
kQ3NoticeDrawContextNotSetUsingInternalDefaultsDraw context not set

C Summary
Constants
Data Types
Draw Context Data Structure
Macintosh Draw Context Data Structure
Pixmap Draw Context Data Structure
Draw Context Objects Routines
Managing Draw Contexts
Managing Macintosh Draw Contexts
Managing Pixmap Draw Contexts
Errors, Warnings, and Notices

3D Graphics Programming with QuickDraw 3D - 17 OCT 1995

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker