Gestalt Optional Features Response Masks
When you pass the
kQAGestalt_OptionalFeatures
selector to the
QAEngineGestalt
function,
QAEngineGestalt
returns (through its
response
parameter) a value that indicates the optional features supported by a drawing engine. You can use these masks to test that value for a specific feature. The bits corresponding to supported features are ORed together to determine the returned value.
A drawing engine may support an optional feature in software only (that is, unaccelerated). You can use the
kQAGestalt_FastFeatures
selector to determine which, if any, features are accelerated by a drawing engine.
#define kQAOptional_None 0
#define kQAOptional_DeepZ (1 << 0)
#define kQAOptional_Texture (1 << 1)
#define kQAOptional_TextureHQ (1 << 2)
#define kQAOptional_TextureColor (1 << 3)
#define kQAOptional_Blend (1 << 4)
#define kQAOptional_BlendAlpha (1 << 5)
#define kQAOptional_Antialias (1 << 6)
#define kQAOptional_ZSorted (1 << 7)
#define kQAOptional_PerspectiveZ (1 << 8)
#define kQAOptional_OpenGL (1 << 9)
#define kQAOptional_NoClear (1 << 10)
#define kQAOptional_CSG (1 << 11)
#define kQAOptional_BoundToDevice (1 << 12)
#define kQAOptional_CL4 (1 << 13)
#define kQAOptional_CL8 (1 << 14)
#define kQAOptional_BufferComposite (1 << 15)
Constant descriptions
-
kQAOptional_None
-
This value is returned if the drawing engine supports no optional features.
-
kQAOptional_DeepZ
-
This bit is set if the drawing engine supports
deep z buffering
(that is, z buffering with a resolution of greater than or equal to 24 bits per pixel).
-
kQAOptional_Texture
-
This bit is set if the drawing engine supports texture mapping.
-
kQAOptional_TextureHQ
-
This bit is set if the drawing engine supports
high-quality texture mapping
(that is, texture mapping using trilinear interpolation or an equivalent algorithm).
-
kQAOptional_TextureColor
-
This bit is set if the drawing engine supports full color texture modulation and highlighting.
-
kQAOptional_Blend
-
This bit is set if the drawing engine supports transparency blending.
-
kQAOptional_BlendAlpha
-
This bit is set if the drawing engine supports transparency blending that uses an alpha channel.
-
kQAOptional_Antialias
-
This bit is set if the drawing engine supports antialiasing.
-
kQAOptional_ZSorted
-
This bit is set if the drawing engine supports z sorted rendering (for example, for transparency). If this bit is clear, an application must submit transparent objects for rendering in back-to-front z order (or the blending functions will not yield correct results). In general, an application should submit opaque objects first, followed by any transparent objects in back-to-front z order.
-
kQAOptional_PerspectiveZ
-
This bit is set if the drawing engine supports perspective-corrected hidden surface removal.
-
kQAOptional_OpenGL
-
This bit is set if the drawing engine supports the extended OpenGL feature set.
-
kQAOptional_NoClear
-
This bit is set if the drawing engine doesn't clear the buffer before drawing (so that double-buffering might not be required in some applications).
-
kQAOptional_CSG
-
This bit is set if the drawing engine supports CSG.
-
kQAOptional_BoundToDevice
-
This bit is set if the drawing engine is tightly bound to a specific graphics device.
-
kQAOptional_CL4
-
This bit is set if the drawing engine supports the
kQAPixel_CL4
pixel type.
-
kQAOptional_CL8
-
This bit is set if the drawing engine supports the
kQAPixel_CL8
pixel type.
-
kQAOptional_BufferComposite
-
This bit is set if the drawing engine supports buffer compositing.
© 1997 Apple Computer, Inc.