3D Graphics Programming with QuickDraw 3D

2 Summary of the 3D Viewer

2 C Summary

2 Constants

Gestalt Selector and Response Values

enum {
 gestaltQuickDraw3DViewer           = 'q3vc',
 gestaltQ3ViewerNotAvailable           = 0,
 gestaltQ3ViewerAvailable           = 1
}

Viewer Flags

enum {
 kQ3ViewerShowBadge         = 1<<0,
 kQ3ViewerActive         = 1<<1,
 kQ3ViewerControllerVisible         = 1<<2,
 kQ3ViewerDrawFrame         = 1<<3,
 kQ3ViewerDraggingOff         = 1<<4,
 kQ3ViewerButtonCamera         = 1<<5,
 kQ3ViewerButtonTruck         = 1<<6,
 kQ3ViewerButtonOrbit         = 1<<7,
 kQ3ViewerButtonZoom         = 1<<8,
 kQ3ViewerButtonDolly         = 1<<9,
 kQ3ViewerDefault         = 
          (kQ3ViewerActive | 
           kQ3ViewerControllerVisible | 
           kQ3ViewerButtonCamera | 
           kQ3ViewerButtonTruck | 
           kQ3ViewerButtonOrbit)
};

Viewer State Flags

enum {
 kQ3ViewerEmpty         = 0,
 kQ3ViewerHasModel         = 1
};

2 Data Types

typedef void              *TQ3ViewerObject;

2 3D Viewer Routines

Creating and Configuring Viewers

TQ3ViewerObject Q3ViewerNew (CGrafPtr port, 
Rect *rect, 
unsigned long flags);
OSErr Q3ViewerDispose (TQ3ViewerObject theViewer);
OSErr Q3ViewerUseFile (TQ3ViewerObject theViewer, long refNum);
OSErr Q3ViewerUseData (TQ3ViewerObject theViewer, 
void *data, 
long size);
OSErr Q3ViewerDraw (TQ3ViewerObject theViewer);
TQ3ViewObject Q3ViewerGetView (TQ3ViewerObject theViewer);
OSErr Q3ViewerRestoreView (TQ3ViewerObject theViewer);
unsigned long Q3ViewerGetFlags (TQ3ViewerObject theViewer);
OSErr Q3ViewerSetFlags (TQ3ViewerObject theViewer, 
unsigned long flags);
OSErr Q3ViewerGetBounds (TQ3ViewerObject theViewer, Rect *bounds);
OSErr Q3ViewerSetBounds (TQ3ViewerObject theViewer, Rect *bounds);
CGrafPtr Q3ViewerGetPort (TQ3ViewerObject theViewer);
OSErr Q3ViewerSetPort (TQ3ViewerObject theViewer, CGrafPtr port);
TQ3GroupObject Q3ViewerGetGroup (
TQ3ViewerObject theViewer);
OSErr Q3ViewerUseGroup (TQ3ViewerObject theViewer, 
TQ3GroupObject group);
OSErr Q3ViewerGetBackgroundColor (
TQ3ViewerObject theViewer, 
TQ3ColorARGB *color);
OSErr Q3ViewerSetBackgroundColor (
TQ3ViewerObject theViewer, 
TQ3ColorARGB *color);

Updating Viewer Data

OSErr Q3ViewerWriteFile (TQ3ViewerObject theViewer, long refNum);
unsigned long Q3ViewerWriteData (
TQ3ViewerObject theViewer, void **data);

Handling Viewer Events

Boolean Q3ViewerEvent (TQ3ViewerObject theViewer, EventRecord *evt);
Boolean Q3ViewerAdjustCursor (TQ3ViewerObject theViewer, Point *pt);

Getting Viewer Information

unsigned long Q3ViewerGetState (TQ3ViewerObject theViewer);
PicHandle Q3ViewerGetPict (TQ3ViewerObject theViewer);
OSErr Q3ViewerGetButtonRect (TQ3ViewerObject theViewer, 
unsigned long button, 
Rect *rect);
unsigned long Q3ViewerGetCurrentButton (
TQ3ViewerObject theViewer);
OSErr Q3ViewerSetCurrentButton (TQ3ViewerObject theViewer, 
unsigned long button);
OSErr Q3ViewerGetDimension (TQ3ViewerObject theViewer, 
unsigned long *width, 
unsigned long *height);

Handling Edit Commands

OSErr Q3ViewerCut (TQ3ViewerObject theViewer);
OSErr Q3ViewerCopy (TQ3ViewerObject theViewer);
OSErr Q3ViewerPaste (TQ3ViewerObject theViewer);
OSErr Q3ViewerClear (TQ3ViewerObject theViewer);

C Summary
Constants
Gestalt Selector and Response Values
Viewer Flags
Viewer State Flags
Data Types
3D Viewer Routines
Creating and Configuring Viewers
Updating Viewer Data
Handling Viewer Events
Getting Viewer Information
Handling Edit Commands

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

© Apple Computer, Inc.

Let us know what you think of these prototype pages.

Generated with Harlequin WebMaker