Status PEXGetImpDepConstants(
Display *display,
Drawable drawable,
unsigned long count,
unsigned short *names,
PEXImpDepConstant **constants_return
)
- display
- A pointer to a display structure returned by a successful
XOpenDisplay call.
- drawable
- The resource identifier of a drawable.
- count
- The number of implementation-dependent constants.
- names
- An array of names of implementation-dependent constants
that you want returned.
(See the Description for valid values.)
- constants_return
- Returns an array of implementation-dependent constants
Zero if unsuccessful; non-zero otherwise.
Invoke PEXGetImpDepConstants to get one or
more implementation-dependent constants supported.
For each value requested, this function returns a
single integer or floating-point value.
Values are returned in order, with one return value in
constants_return for each item you specify in
names.
This function returns implementation-dependent constants
based on the values your application uses for a drawable
having the same root window, depth, and visual ID
as the drawable you
specify.
PEXlib allocates memory for the returned constants.
Invoke XFree to deallocate the memory.
PEXlib defines the following standard
implementation-dependent constants:
- PEXIDBestColorApprox (integer)
- Either PEXColorApproxPowersOf2 or
PEXColorApproxAnyValues, depending on whether there is a
significant performance gain if the number of
reds/greens/blues in the color approximation table entry is
a power of two, so the implementation can compose pixels
using shifts and adds.
- PEXIDConcentrationClampSupported (integer)
- True if the implementation applies the concentration
clamping region in the reflection calculation involving a
light of type PEXLightWCSpot.
False if the implementation does not.
(new for 5.2)
- PEXIDDitheringControllable (integer)
- True if PEXIDDitheringSupported is
True and you can turn dithering on and off with the
dither field of a color approximation table.
False if PEXIDDitheringSupported is
False, or if PEXIDDitheringSupported is
True and you cannot disable dithering.
(new for 5.2)
- PEXIDDitheringSupported (integer)
- True if the implementation uses the dithering hint
to control dithering in the color approximation lookup
tables.
False, if the implementation does not use the
dithering hint in color approximation lookup tables.
- PEXIDDoubleBufferingSupported (integer)
- True if the implementation supports double-buffering
for workstation resources.
False, if the implementation does not support
double-buffering for workstation resources.
- PEXIDEyepointUsed (integer)
- True if the implementation uses the eyepoint defined
in the view table.
False if the implementation ignores the eyepoint
defined in the view table and calculates an implicit
eyepoint itself.
(new for 5.2)
- PEXIDMaxEdgeWidth (integer)
- The width (in pixels) of the widest edge your
implementation supports.
- PEXIDMaxFastTMSize (integer)
- The maximum size of any dimension of the base level of a
texture map which your implementation can optimize.
The implementation might support larger texture maps but the
result is implementation-dependent (e.g., may be scaled down
to fit the maximum size or may not take advantage of
implementation optimization).
A value of zero indicates all sizes are equally optimized.
(new for 5.2)
- PEXIDMaxHitsEventSupported (integer)
- True if the implementation supports the
PEXMaxHitsReached event.
False, if the implementation does not support the
event.
(new for 5.1)
- PEXIDMaxLineWidth (integer)
- The width (in pixels) of the widest line or curve that your
implementation supports.
- PEXIDMaxMarkerSize (integer)
- The largest dimension (either height or width, in pixels)
of the largest marker that your implementation can draw.
This maximum is exclusive of the marker type
PEXMarkerDot which the implementation always draws as
the smallest point able to be displayed.
- PEXIDMaxMarkerVertices (integer)
- The maximum number of vertices which your implementation
can use to define a marker of marker glyph type
PEXMarkerGlyphStroke in the marker glyph table.
(new for 5.2)
- PEXIDMaxModelClipPlanes (integer)
- The maximum number of modeling clipping planes your
implementation can define.
- PEXIDMaxNameSetNames (integer)
- The maximum number of names your implementation can place
in a name set.
- PEXIDMaxNonAmbientLights (integer)
- The maximum number of non-ambient light sources that your
implementation can enable at one time.
- PEXIDMaxNumPickResults (integer)
- The maximum number of pick results that your implementation
can accumulate.
(new for 5.2)
- PEXIDMaxNURBOrder (integer)
- The maximum non-uniform rational B-spline order your
implementation can define.
- PEXIDMaxTextureMaps (integer)
- The maximum number of front-or back-facing texture maps
which your implementation can have active for a single
primitive.
For example, a value of one indicates that your
implementation can support one front-facing and one back-
facing texture map for a single primitive.
A value of zero indicates any number of texture maps can be
applied to a single primitive.
(new for 5.2)
- PEXIDMaxTrimCurveOrder (integer)
- The maximum order for trim curves that your implementation
can support.
- PEXIDMinEdgeWidth (integer)
- The width (in pixels) of the thinnest edge that your
implementation supports.
- PEXIDMinLineWidth (integer)
- The width (in pixels) of the thinnest line or curve that
your implementation supports.
- PEXIDMinMarkerSize (integer)
- The largest dimension (either height or width, in pixels)
of the smallest marker that your implementation can draw.
This minimum is exclusive of the marker type
PEXMarkerDot which the implementation always draws as
the smallest point able to be displayed.
- PEXIDNominalEdgeWidth (integer)
- The width (in pixels) of the "standard" edge.
- PEXIDNominalLineWidth (integer)
- The width (in pixels) of the "standard" line or
curve.
- PEXIDNominalMarkerSize (integer)
- The largest dimension (either height or width, in pixels)
of the "standard" marker.
- PEXIDNumSupportedEdgeWidths (integer)
- The number of supported edge widths.
A value of 0 indicates that the implementation supports all
edge widths, including fractional widths, between the
minimum and maximum edge width.
- PEXIDNumSupportedLineWidths (integer)
- The number of supported line or curve widths.
A value of 0 indicates that the implementation supports all
line widths, including fractional widths, between the
minimum and maximum line width.
- PEXIDNumSupportedMarkerSizes (integer)
- The number of supported marker sizes.
A value of 0 indicates that the implementation supports all
marker sizes, including fractional values, between the
minimum and maximum marker size.
- PEXIDPixelColorSupported (integer)
- True if the renderer's pixel color mode attribute
behaves as specified when its value is PEXOn.
False if the pixel color mode has no effect.
(new for 5.2)
- PEXIDPowerOfTwoTMSizesRequired (integer)
- True if the implementation requires that the
dimensions, in all directions, of all texel arrays defining
a texture map must be powers of two.
False if it does not.
(new for 5.2)
- PEXIDPrimitiveAASupported (integer)
- This is a bitmask which has bit definitions that are
located in PEXOCCSetPrimitiveAntialiasing.
Each defined bit corresponding to a type of supported
primitive antialiasing is set to 1.
The defined bits set to 0 correspond to types of primitive
antialiasing which are not supported.
All undefined bits are set to 0.
(new for 5.2)
- PEXIDQuadraticAttenSupported (integer)
- True if the implementation applies the quadratic
attenuation coefficient in the reflectance calculation
involving a light of type PEXLightWCPoint or
PEXLightWCSpot.
False if the implementation ignores the
coefficient.
(new for 5.2)
- PEXIDSamplingHintsUsed (integer)
- True if the implementation uses the sampling hint of
the texture map lookup table to make adjustments when
sampling a texture map.
False if the implementation does not use the
dithering hint.
(new for 5.2)
- PEXIDSquareTMRequired (integer)
- True the implementation requires that each level of
a texture map have equally sized dimensions.
False if it does not.
(new for 5.2)
- PEXIDTransparencySupported (integer)
- True if the implementation applies the transmission
coefficient in the reflectance calculations.
False if the implementation ignores the transmission
coefficient.
- PEXIDChromaticityRedU (flt_point)
- CIEYUV u chromaticity coefficient for the red channel of
the (properly adjusted) display device.
- PEXIDChromaticityRedV (flt_point)
- CIEYUV v chromaticity coefficient for the red channel of
the (properly adjusted) display device.
- PEXIDLuminanceRed (flt_point)
- CIEYUV luminance value for the red channel of the (properly
adjusted) display device.
- PEXIDChromaticityGreenU (flt_point)
- CIEYUV u chromaticity coefficient for the green channel of
the (properly adjusted) display device.
- PEXIDChromaticityGreenV (flt_point)
- CIEYUV v chromaticity coefficient for the green channel of
the (properly adjusted) display device.
- PEXIDLuminanceGreen (flt_point)
- CIEYUV luminance value for the green channel of the
(properly adjusted) display device.
- PEXIDChromaticityBlueU (flt_point)
- CIEYUV u chromaticity coefficient for the blue channel of
the (properly adjusted) display device.
- PEXIDChromaticityBlueV (flt_point)
- CIEYUV v chromaticity coefficient for the blue channel of
the (properly adjusted) display device.
- PEXIDLuminanceBlue (flt_point)
- CIEYUV luminance value for the blue channel of the
(properly adjusted) display device.
- PEXIDChromaticityWhiteU (flt_point)
- CIEYUV u chromaticity coefficient for the reference white
of the (properly adjusted) display device.
- PEXIDChromaticityWhiteV (flt_point)
- CIEYUV v chromaticity coefficient for the reference white
of the (properly adjusted) display device.
- PEXIDLuminanceWhite (flt_point)
- CIEYUV luminance value for the reference white of the
(properly adjusted) display device.
- BadDrawable
- The specified drawable resource identifier is invalid.
- BadMatch
- The specified drawable is unsupported.
- BadValue
- A specified implementation-dependent constant name is
invalid.
For an overview, see PEXlib Access and
Information Functions.