PEXAccumulateState - Accumulate Rendering Pipeline State (5.1)


Synopsis

 
   void PEXAccumulateState(
        Display *display,
        PEXRenderer renderer,
        unsigned long count,
        PEXElementRef *elements
   )
 

Arguments

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

renderer
The resource identifier of a renderer resource.

count
The number of elements in the structure element reference path.

elements
A pointer to the structure element reference path.

Returns

None.

Description

Invoke PEXAccumulateState to accumulate the pipeline state that would be in effect if a traversal were done to the element specified in the path.

If the renderer state is PEXRendering or PEXPicking, this function traverses to the structure element at the end of the list in elements and modifies only the pipeline state according to the output commands in that path. No primitives are rendered. The initial pipeline state is the one in effect at the time this function is invoked.

During the traversal, the offset member of the last entry in the renderer's current path is incremented by one for each structure element traversed, including those that have no effect on the pipeline state. No structure member of the current path is changed. No action beyond incrementing the current path offset is taken when Execute Structure, Conditional Execute Structure, or Conditional Return elements are traversed.

As with all paths, the non-leaf elements in the path must contain offsets that refer to structure referencing output commands. If the structure referenced by the leaf node is locked, then the offset must refer to element position 0 or a structure referencing output command.

If the renderer state is PEXIdle, then this function has no effect.

Errors

BadPEXPath
The specified path is invalid.

BadPEXRenderer
The specified renderer resource identifier is invalid.

BadPEXRendererState
The renderer's state is PEXMultipassRendering.

BadPEXStructurePermission
The specified path includes an invalid position in a locked structure.

See Also

For a list of all Renderer functions and related topics, see Rendering.