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.
- Note
- 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)
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.