PEXOCCSetBFSurfaceColor - Set Back-Facing Surface Color (5.0)


Synopsis

 
     void PEXOCCSetBFSurfaceColor(
          PEXOCC context,
          PEXColor *color
     )

     void PEXSetBFSurfaceColor(
          Display *display,
          XID resource_id,
          PEXOCRequestType req_type,
          int color_type,
          PEXColor *color
     )

Arguments

context
An OC context returned by a successful PEXCreateOCCcall.

display (OCC)
A pointer to a display structure returned by a successful XOpenDisplay call.

resource_id (OCC)
The resource identifier of the renderer or structure.

req_type (OCC)
The request type for the output command (PEXOCRender, PEXOCStore, PEXOCRenderSingle or PEXOCStoreSingle).

color_type (OCC)
The type of color (PEXColorTypeIndexed, PEXColorTypeRGB, PEXColorTypeCIE, PEXColorTypeHSV, PEXColorTypeHLS, PEXColorTypeRGB8, PEXColorTypeRGB16, PEXColorTypeRGBA, PEXColorTypeRGBA8, or PEXColorTypeRGBA16).

color
A pointer to the back-facing surface color.

Returns

None.

Description

Invoke PEXOCCSetBFSurfaceColor to create an attribute output command which sets the back-facing surface color attribute in the renderer's pipeline state according to the value specified by color.

By setting the back-facing surface color attribute's ASF to PEXIndividual (see PEXOCCSetIndividualASF), you use the pipeline state's back-facing surface color entry to select the color for back-facing surfaces. When you set the back-facing surface color attribute's ASF to PEXBundled, the implementation uses the back-facing surface color from the interior bundle table.

To apply the back-facing surface color to the back-facing surfaces of output primitives, you must set the facet distinguish flag to True (see PEXOCCSetFacetDistinguishFlag). If you set the flag to False, then the implementation uses the surface color when applying color to back-facing surfaces (see PEXOCCSetSurfaceColor).

Depending on the color type you specify, this function sets the attribute to either an indexed color or a direct color value. If you specify a color type of PEXColorTypeIndexed, but you specified an undefined index, then the index defaults to color index one. If color index one is not defined, then the back-facing surface color defaults to white. If you specified a color index greater than 65534, then the implementation issues a BadPEXOutputCommand error. If the color type is one of the supported direct color types and you specify an out of range component, then the result is implementation-dependent. If the color type is not supported, then indexed color one is used. Inquire the supported values for color type by invoking the PEXGetEnumTypeInfo function.

This function is a member of the styled and shaded surface attribute set.

Errors

BadPEXOutputCommand
The color type is PEXColorTypeIndexed and the color index value exceeds 65534.

BadPEXRenderer
The specified renderer resource identifier is invalid.

BadPEXStructure
The specified structure resource identifier is invalid.

See Also

For an overview and for a list of output attribute functions, see Output Attribute Functions.