PEXOCCSetSurfaceColor - Set Surface Color (5.0)


Synopsis

 
   void PEXOCCSetSurfaceColor(
        PEXOCC context,
        PEXColor *color
   )
 

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

Arguments

context
An OC context returned by a successful PEXCreateOCC call.

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 surface color.

Returns

None.

Description

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

By setting surface color attribute's ASF to PEXIndividual (see PEXOCCSetIndividualASF), you use the pipeline state's surface color entry to define the surface color type. When you set the pipeline state's surface color attribute's ASF to PEXBundled, the implementation uses the surface color from the interior bundle table. If you do not set the facet distinguish flag to True (see PEXOCCSetFacetDistinguishFlag), then the implementation applies surface color to back-facing as well as front-facing surface interiors. Otherwise the implementation uses the back-facing surface color (see PEXOCCSetBFSurfaceColor).

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

The surface color 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.