For and overview and
related topics, see Introduction
to PEXlib.
Some vendors may choose to extend the PEX protocol with a
set of specific functionality.
To access the extension from your program easily, the vendor
provides a file containing constant definitions, macros, and
data structures that pertain to the extension functionality.
These include files are found in
<X11/PEX5/extensions> and abide by the
following conventions:
Vendors that implement their own specific escapes,
generalized drawing primitives, or generalized structure
elements should supply a C header file that contains at
least three definitions:
- The 32-bit ID of the Escape, GDP,or GSE - example:
#define PEXACMEEscapeBlink 0x80010005
- The 16-bit enumerated type value - example:
#define PEXACMEETEscapeBlink 0x8105
- The enumerated type mnemonic - example:
#define PEXACMEETMEscapeBlink "ACMEEscapeBlink"
The vendor should also provide data structure definitions,
if the client program needs them to format the data it
supplies for these extensions.
It is good practice for
clients to use both the enumerated type value and the
enumerated type mnemonic when searching for matches in the
output returned from
PEXGetEnumTypeInfo.
This is because it is possible for more than one 32-bit ID
to map to the same 16-bit enumerated type value.
Use the mnemonic to distinguish between like values.
The
standard PEX enumerated types are:
- PEXETAlphaBlendFunction
- PEXETATextStyle
- PEXETColorApproxModel
- PEXETColorApproxType
- PEXETColorType
- PEXETCurveApproxMethod
- PEXETDataMapMethod
- PEXETDestructiveEchoOp
- PEXETDisplayUpdateMode
- PEXETEchoScope
- PEXETEscape
- PEXETExtendedPCAttributes
- PEXETExtendedRendererAttributes
- PEXETFloatFormat
- PEXETGDP2D
- PEXETGDP
- PEXETGSE
- PEXETHatchStyle
- PEXETHighlightMethod
- PEXETHLHSRMode
- PEXETIlluminantType
- PEXETInteriorStyle
- PEXETLightType
- PEXETLineCapStyle
- PEXETLineJoinStyle
- PEXETLineType
- PEXETMarkerType
- PEXETModelClipOperator
- PEXETMultipassStatus
- PEXETParaSurfCharacteristics
- PEXETPickAllMethod
- PEXETPickDeviceType
- PEXETPickOneMethod
- PEXETPolylineInterpMethod
- PEXETPrimitiveAABlendFunction
- PEXETPrimitiveAAMode
- PEXETPromptEchoType
- PEXETReflectionModel
- PEXETReflectionType
- PEXETRenderingColorModel
- PEXETSurfaceApproxMethod
- PEXETSurfaceEdgeType
- PEXETSurfaceInterpMethod
- PEXETTestFunction
- PEXETTransparencyMethod
- PEXETTrimCurveApproxMethod
- PEXETZBufferTests