Enumerations



Draw context property types


enum {
  kQ3DrawContextPropertyClearDepthBufferFlag    = Q3_METHOD_TYPE('c', 'l', 'd', 'b'),
  kQ3DrawContextPropertyClearDepthBufferValue    = Q3_METHOD_TYPE('c', 'l', 'd', 'v'),
  kQ3DrawContextPropertyWritableDepthBuffer    = Q3_METHOD_TYPE('w', 'r', 'd', 'b'),
  kQ3DrawContextPropertyGLDepthFunc        = Q3_METHOD_TYPE('g', 'l', 'd', 'f'),
  kQ3DrawContextPropertyGLTextureSharing      = Q3_METHOD_TYPE('g', 'l', 't', 's'),
  kQ3DrawContextPropertyGLStencilBufferDepth    = Q3_METHOD_TYPE('g', 'l', 's', 'd'),
  kQ3DrawContextPropertySwapBufferInEndPass    = Q3_METHOD_TYPE('s', 'b', 'e', 'p'),
  kQ3DrawContextPropertySyncToRefresh        = Q3_METHOD_TYPE('g', 'l', 's', 'r'),
  kQ3DrawContextPropertySurfaceBehindWindow    = Q3_METHOD_TYPE('s', 'u', 'b', 'w'),
  kQ3DrawContextPropertyGLContextBuildCount    = Q3_METHOD_TYPE('g', 'l', 'b', 'c'),
  kQ3DrawContextPropertyAcceleratedOffscreen    = Q3_OBJECT_TYPE('g', 'l', 'a', 'o'),
  kQ3DrawContextPropertyGLPixelFormat        = Q3_OBJECT_TYPE('g', 'l', 'p', 'f'),
  kQ3DrawContextPropertyTypeSize32        = 0xFFFFFFFF
};
Discussion

Property types that may be assigned to a draw context, for instance to request special rendering behavior. Such requests may be ignored by some renderers. If a particular property has not been set, it will be treated as having the default value.

Constants

kQ3DrawContextPropertyClearDepthBufferFlag
Whether to clear the depth buffer before rendering. Data type: TQ3Boolean. Default: kQ3True
kQ3DrawContextPropertyClearDepthBufferValue
Value to fill the depth buffer with if it is cleared. Data type: TQ3Float64 Default: 1.0
kQ3DrawContextPropertyWritableDepthBuffer
Whether the depth buffer is initially writable. (See glDepthMask) Data type: TQ3Boolean Default: kQ3True
kQ3DrawContextPropertyGLDepthFunc
Initial value for glDepthFunc. Data type: TQ3Uns32 Default: GL_LESS
kQ3DrawContextPropertyGLTextureSharing
If true, requests that an OpenGL context should share textures with a previously-created OpenGL context, if possible. Data type: TQ3Boolean. Default: kQ3True
kQ3DrawContextPropertyGLStencilBufferDepth
Desired bit depth of OpenGL stencil buffer. Data type: TQ3Uns32. Default: 0 (no stencil buffer)
kQ3DrawContextPropertySwapBufferInEndPass
If true, requests that the renderer swap buffers in its EndPass method. Only relevant to double-buffered contexts. Data type: TQ3Boolean. Default: kQ3True.
kQ3DrawContextPropertySyncToRefresh
If true, requests that the renderer synchronize drawing with the screen refresh rate. Data type: TQ3Boolean. Default: kQ3False.
kQ3DrawContextPropertySurfaceBehindWindow
If true, requests that drawing occur on a surface behind the window. Only applies to Mac window contexts. Data type: TQ3Boolean. Default: kQ3False.
kQ3DrawContextPropertyGLContextBuildCount
Unlike most draw context properties, this is set by Quesa itself and read by clients. When used with OpenGL-based renderers, the count is incremented whenever the associated OpenGL context is rebuilt. Data type: TQ3Uns32.
kQ3DrawContextPropertyAcceleratedOffscreen
This property, which may only be used with a pixmap draw context, requests that the context use hardware acceleration if possible. Data type: TQ3AcceleratedOffscreenPropertyData.
kQ3DrawContextPropertyGLPixelFormat
Request a specific OpenGL pixel format. The data type is platform-specific. Mac Carbon: AGLPixelFormat. Windows: int. Mac Cocoa: NSOpenGLPixelFormat*.

TQ3DirectDrawObjectSelector


typedef enum {
    kQ3DirectDrawObject                         = 1,
    kQ3DirectDrawObject2                        = 2,
    kQ3DirectDrawObjectSize32                   = 0xFFFFFFFF
} TQ3DirectDrawObjectSelector;
Discussion

Windows DirectDraw interface selectors.

Constants

kQ3DirectDrawObject
A DIRECTDRAW interface has been supplied.
kQ3DirectDrawObject2
A DIRECTDRAW2 interface has been supplied.

TQ3DirectDrawObjectSelector


typedef enum {
    kQ3DirectDrawSurface                        = 1,
    kQ3DirectDrawSurface2                       = 2,
    kQ3DirectDrawSurfaceSize32                  = 0xFFFFFFFF
} TQ3DirectDrawSurfaceSelector;
Discussion

Windows DirectDraw surface selectors.

Constants

kQ3DirectDrawSurface
A DIRECTDRAWSURFACE interface has been supplied.
kQ3DirectDrawSurface2
A DIRECTDRAWSURFACE2 interface has been supplied.

TQ3DrawContextClearImageMethod


typedef enum {
    kQ3ClearMethodNone                          = 0,
    kQ3ClearMethodWithColor                     = 1,
    kQ3ClearMethodSize32                        = 0xFFFFFFFF
} TQ3DrawContextClearImageMethod;
Discussion

Clear method.

Constants

kQ3ClearMethodNone
Do not clear the draw context before rendering.
kQ3ClearMethodWithColor
Clear the draw context to the clear colour before rendering.

TQ3MacDrawContext2DLibrary


typedef enum {
    kQ3Mac2DLibraryNone                         = 0,
    kQ3Mac2DLibraryQuickDraw                    = 1,
    kQ3Mac2DLibraryQuickDrawGX                  = 2,
    kQ3Mac2DLibrarySize32                       = 0xFFFFFFFF
} TQ3MacDrawContext2DLibrary;
Discussion

Mac draw context variants. These are legacy constants from QD3D, and for Quesa the library field should be set to kQ3Mac2DLibraryNone.

Constants

kQ3Mac2DLibraryNone
Unspecified method should be used.
kQ3Mac2DLibraryQuickDraw
Renderers should use QuickDraw in the final stage of rendering.
kQ3Mac2DLibraryQuickDrawGX
Renderers should use QuickDraw GX in the final stage of rendering.

© 1999-2008 Quesa Developers (Last Updated 5/10/2008)