Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /
Chapter 12 - Draw Context Objects


Summary of the Draw Context Objects

C Summary

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;

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;

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);

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


Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996




Navigation graphic, see text links

Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help