Source/Q3ULPriv.h

/*
 *
 * Private interface for Utility library for QuickDraw 3D.
 *
 * Nick Thompson, nickt@apple.com
 * Send bug reports and feedback to devsupport@apple.com.
 *
 * ©1997 Apple Computer Inc, All Rights Reserved 
 *
 * Modification History:
 *
 */
 
#ifndef _Q3UL_PRIV_
#define _Q3UL_PRIV_
 
#include "Q3UL.h"
#include <Windows.h>
 
/* each window has a platform dependant window 
 * record and a set of procs to operate on the window
 */
 
typedef struct TQ3UL_WindowDescriptor {
 
    /*
     * the ref fields can be used for what ever you like, I'd
     * suggest a window type in the refID fiels which can
     * be used to determine the format of the data in the
     * recon field.  Of course you can stash a pointer in the 
     * refcon field on 32 bit processor machines.
     */
     
    unsigned long               refType ;
    unsigned long               refCon ;
 
    WindowPtr                   window ;
    
    /* handler procs for the window */
    TQ3UL_CloseWindowHandler    theCloseHandler ;
    TQ3UL_KeyHandler            theKeyHandler ;
    TQ3UL_MouseDownHandler      theMouseDownHandler ;
    TQ3UL_MouseUpHandler        theMouseUpHandler ;
    TQ3UL_MouseDragHandler      theMouseDragHandler ;
    TQ3UL_RedrawHandler         theRedrawHandler ;
    TQ3UL_IdleHandler           theIdleHandler ;
    
    TQ3ViewObject               theView ;
 
} TQ3UL_WindowDescriptor ;
 
 
/* currently we have our window list stored in an array, this
 * could be extended to use a variable length array (we add items
 * to the array as needed, or as a linked list.  For now we just
 * want to keep it as simple as possible.
 */
#define                             MAXNUMWINDOWS       12
 
extern TQ3UL_WindowDescriptor       gWindowArray[] ;
extern Boolean                      gQuitFlag ;
 
#endif