.\" @(#)PEXGetImpDepConstants.3 1.4 95/03/24 SMI; .so man3/pex.macs .TH PEXGetImpDepConstants 3 "May 1995" "Solaris PEXlib Reference Manual" "" .SH NAME PEXGetImpDepConstants - Get Implementation Dependent Constants .SH SYNTAX .HP Status PEXGetImpDepConstants\^(\^Display *\fIdisplay\fP\^, Drawable \fIdrawable\fP\^, unsigned long \fIcount\fP\^, unsigned short *\fInames\fP\^, PEXImpDepConstant **\fIconstants_return\fP\^) .SH PARAMETERS .IP \fIdisplay\fP 1i A pointer to a display structure returned by a successful .B XOpenDisplay call. .IP \fIdrawable\fP 1i The resource identifier of a drawable. .IP \fIcount\fP 1i The number of implementation-dependent constants. .IP \fInames\fP 1i An array of names of implementation-dependent constants to be returned. (See the Description for valid values.) .IP \fIconstants_return\fP 1i Returns an array of implementation-dependent constants. .SH RETURNS .LP Zero if unsuccessful; non-zero otherwise. .SH DESCRIPTION .\" indexing .IX PEXGetImpDepConstants .LP .B PEXGetImpDepConstants allows an application program to query one or more implementation-dependent constants. .LP A single integer or floating-point value is returned for each value requested. These values are returned in order, with one return value in constants for each item in .I names. The implementation-dependent constants returned are based on the values used for a drawable having the same root and depth as the drawable specified. PEXlib allocates memory for the returned constants. .B XFree should be called to deallocate the memory. .LP The following implementation-dependent constants are standard: .LP .B PEXIDBestColorApprox (integer) \(em Either .B PEXColorApproxPowersOf2 or .B 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 pixels can be composed using shifts and adds. .LP .B PEXIDDitheringSupported (integer) \(em Either .SB True if the dithering hint in color approximation lookup tables is used to control dithering, or .SB False, if the dithering hint in color approximation lookup tables is not used. .LP .B PEXIDDoubleBufferingSupported (integer) \(em Either .SB True if the server supports double-buffering for workstation resources, or .SB False, if the server does not supports double-buffering for workstation resources. .LP .B PEXIDMaxEdgeWidth (integer) \(em Width (in pixels) of widest edge that can be drawn. .LP .B PEXIDMaxHitsEventSupported (integer) \(em .SB True if the server supports the .B PEXMaxHitsReached event, or .SB False, if the server does not support the event. .LP .B PEXIDMaxLineWidth (integer) \(em Width (in pixels) of widest line or curve that can be drawn. .LP .B PEXIDMaxMarkerSize (integer) \(em Largest dimension (either height or width, in pixels) of largest marker that can be drawn. This maximum is exclusive of the marker type .B PEXMarkerDot which is always drawn as the smallest displayable point. .LP .B PEXIDMaxModelClipPlanes (integer) \(em Maximum number of modeling clipping planes may be defined. .LP .B PEXIDMaxNameSetNames (integer) \(em Maximum number of .I names allowed in a name set. .LP .B PEXIDMaxNonAmbientLights (integer) \(em Maximum number of non-ambient light sources that can be enabled at one time. .LP .B PEXIDMaxNURBOrder (integer) \(em Maximum non-uniform rational B-spline order supported. .LP .B PEXIDMaxTrimCurveOrder (integer) \(em Maximum order for trim curves. .LP .B PEXIDMinEdgeWidth (integer) \(em Width (in pixels) of thinnest edge that can be drawn. .LP .B PEXIDMinLineWidth (integer) \(em Width (in pixels) of thinnest line or curve that can be drawn. .LP .B PEXIDMinMarkerSize (integer) \(em Largest dimension (either height or width, in pixels) of smallest marker that can be drawn. This minimum is exclusive of the marker type .B PEXMarkerDot which is always drawn as the smallest displayable point. .LP .B PEXIDNominalEdgeWidth (integer) \(em Width (in pixels) of \fIstandard\fP edge. .LP .B PEXIDNominalLineWidth (integer) \(em Width (in pixels) of \fIstandard\fP line or curve. .LP .B PEXIDNominalMarkerSize (integer) \(em Largest dimension (either height or width, in pixels) of \fIstandard\fP marker. .LP .B PEXIDNumSupportedEdgeWidths (integer) \(em Number of supported edge widths. A value of 0 indicates that all edge widths, including fractional widths, between the minimum and maximum edge width are supported. .LP .B PEXIDNumSupportedLineWidths (integer) \(em Number of supported line or curve widths. A value of 0 indicates that all line widths, including fractional widths, between the minimum and maximum line width are supported. .LP .B PEXIDNumSupportedMarkerSizes (integer) \(em Number of supported marker sizes. A value of 0 indicates that all marker sizes, including fractional values, between the minimum and maximum marker size are supported. .LP .B PEXIDTransparencySupported (integer) \(em Either .SB True if the transmission coefficient is utilized in the reflectance calculations, or .SB False, if the transmission coefficient is not utilized. .LP .B PEXIDChromaticityRedU (flt_point) \(em CIEYUV u chromaticity coefficient for the red channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityRedV (flt_point) \(em CIEYUV v chromaticity coefficient for the red channel of the (properly adjusted) display device. .LP .B PEXIDLuminanceRed (flt_point) \(em CIEYUV luminance value for the red channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityGreenU (flt_point) \(em CIEYUV u chromaticity coefficient for the green channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityGreenV (flt_point) \(em CIEYUV v chromaticity coefficient for the green channel of the (properly adjusted) display device. .LP .B PEXIDLuminanceGreen (flt_point) \(em CIEYUV luminance value for the green channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityBlueU (flt_point) \(em CIEYUV u chromaticity coefficient for the blue channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityBlueV (flt_point) \(em CIEYUV v chromaticity coefficient for the blue channel of the (properly adjusted) display device. .LP .B PEXIDLuminanceBlue (flt_point) \(em CIEYUV luminance value for the blue channel of the (properly adjusted) display device. .LP .B PEXIDChromaticityWhiteU (flt_point) \(em CIEYUV u chromaticity coefficient for the reference white of the (properly adjusted) display device. .LP .B PEXIDChromaticityWhiteV (flt_point) \(em CIEYUV v chromaticity coefficient for the reference white of the (properly adjusted) display device. .LP .B PEXIDLuminanceWhite (flt_point) \(em CIEYUV luminance value for the reference white of the (properly adjusted) display device. .SH DATA STRUCTURES .LP .nf typedef union { unsigned long integer; float flt_point; .br } PEXImpDepConstant; .fi .SH ERRORS .TP .SB BadDrawable The specified drawable resource identifier is invalid. .TP .SB BadMatch The specified drawable is unsupported. .TP .SB BadValue A specified implementation-dependent constant name is invalid.