Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ PEXGetEnumTypeInfo(3) — Open3D 4.96

Media Vault

Software Library

Restoration Projects

Artifacts Sought

PEXGetEnumTypeInfo(3)  —  Subroutines

Name

PEXGetEnumTypeInfo - Get Enumerated Type Information

Synopsis

Status PEXGetEnumTypeInfo(Display ∗display, Drawable drawable, unsigned long count, int ∗enum_types, unsigned long item_mask, unsigned long ∗∗info_count_return, PEXEnumTypeDesc ∗∗enum_info_return)

Arguments

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

drawableThe resource identifier of a drawable. 

countThe number of enumerated types. 

enum_typesA list of enumerated types for which information is to be returned.  (See the Description for valid values.) 

item_maskA mask indicating the data to be returned for each enumerated type.  (See the Description for valid values.) 

info_count_return
Returns an array of counts.  For each enumerated type, there is an entry specifying the number of descriptors in the return value array.

enum_info_return
Returns an array of enumerated type descriptors containing the enumerated type information.

Returns

Zero if unsuccessful; non-zero otherwise. 

Description

PEXGetEnumTypeInfo allows the application to inquire the supported values for each enumerated type. It returns a descriptor for each supported value of each specified enumerated type requested. These values will be valid for all drawables having the same root window and depth as the specified drawable.

The standard PEX enumerated types are:

PEXETATextStyle
PEXETColorApproxModel
PEXETColorApproxType
PEXETColorType
PEXETCurveApproxMethod
PEXETDisplayUpdateMode
PEXETEscape
PEXETFloatFormat
PEXETGDP2D
PEXETGDP
PEXETGSE
PEXETHatchStyle
PEXETHLHSRMode
PEXETInteriorStyle
PEXETLightType
PEXETLineType
PEXETMarkerType
PEXETModelClipOperator
PEXETParaSurfCharacteristics
PEXETPickAllMethod
PEXETPickDeviceType
PEXETPickOneMethod
PEXETPolylineInterpMethod
PEXETPromptEchoType
PEXETReflectionModel
PEXETRenderingColorModel
PEXETSurfaceApproxMethod
PEXETSurfaceEdgeType
PEXETSurfaceInterpMethod
PEXETTrimCurveApproxMethod

Enumerated type descriptors are made up of an index field and a mnemonic field.  The index field contains the numeric value of the supported type, and the mnemonic field contains a string describing the type. 

The item mask specifies which of the fields is returned in each enumerated type descriptor.  Defined values for the item mask are PEXETCounts, PEXETIndex, PEXETMnemonic and PEXETAll. If the item mask is PEXETCounts, no descriptor values are returned; only the counts will be returned. If the item mask is PEXETIndex, the supported index values are returned in addition to the counts. If the item mask is PEXETMnemonic, the mnemonic strings describing the supported values are returned in addition to the counts. If the item mask is PEXETAll, both the supported index values and the mnemonic strings are returned in addition to the counts.

PEXlib allocates memory for the returned array of counts and for the return value array of enumerated type descriptors.  PEXFreeEnumInfo should be called to deallocate this memory.

The following are the standard enumerated type index, mnemonic pairs which may be returned. 

PEXETATextStyle

PEXATextNotConnected, PEXETMATextNotConnected
PEXATextConnected, PEXETMATextConnected

PEXETColorApproxModel

PEXColorApproxRGB, PEXETMColorApproxRGB
PEXColorApproxCIE, PEXETMColorApproxCIE
PEXColorApproxHSV, PEXETMColorApproxHSV
PEXColorApproxHLS, PEXETMColorApproxHLS
PEXColorApproxYIQ, PEXETMColorApproxYIQ

PEXETColorApproxType

PEXColorSpace, PEXETMColorSpace
PEXColorRange, PEXETMColorRange

PEXETColorType

PEXColorTypeIndexed, PEXETMColorTypeIndexed
PEXColorTypeRGB, PEXETMColorTypeRGB
PEXColorTypeCIE, PEXETMColorTypeCIE
PEXColorTypeHSV, PEXETMColorTypeHSV
PEXColorTypeHLS, PEXETMColorTypeHLS
PEXColorTypeRGB8, PEXETMColorTypeRGB8
PEXColorTypeRGB16, PEXETMColorTypeRGB16

PEXETCurveApproxMethod

PEXApproxImpDep, implementation-dependent string
PEXApproxConstantBetweenKnots, PEXETMApproxConstantBetweenKnots
PEXApproxWCChordalSize, PEXETMApproxWCChordalSize
PEXApproxNPCChordalSize, PEXETMApproxNPCChordalSize
PEXApproxDCChordalSize, PEXETMApproxDCChordalSize
PEXCurveApproxWCChordalDev, PEXETMCurveApproxWCChordalDev
PEXCurveApproxNPCChordalDev, PEXETMCurveApproxNPCChordalDev
PEXCurveApproxDCChordalDev, PEXETMCurveApproxDCChordalDev
PEXApproxWCRelative, PEXETMApproxWCRelative
PEXApproxNPCRelative, PEXETMApproxNPCRelative
PEXApproxDCRelative, PEXETMApproxDCRelative

PEXETDisplayUpdateMode

PEXVisualizeEach, PEXETMVisualizeEach
PEXVisualizeEasy, PEXETMVisualizeEasy
PEXVisualizeNone, PEXETMVisualizeNone
PEXSimulateSome, PEXETMSimulateSome
PEXVisualizeWhenever, PEXETMVisualizeWhenever

PEXETEscape

PEXEscapeSetEchoColor PEXETMEscapeSetEchoColor

PEXETFloatFormat

PEXIEEE_754_32, PEXETMIEEE_754_32
PEXDEC_F_Floating, PEXETMDEC_F_Floating
PEXIEEE_754_64, PEXETMIEEE_754_64
PEXDEC_D_Floating, PEXETMDEC_D_Floating

PEXETGDP2D

There are currently no standard 2D generalized drawing primitives. 

PEXETGDP

There are currently no standard 3D generalized drawing primitives. 

PEXETGSE

There are currently no standard generalized structure elements. 

PEXETHatchStyle

There are currently no standard hatch styles. 

PEXETHLHSRMode

PEXHLHSROff, PEXETMHLHSROff
PEXHLHSRZBuffer, PEXETMHLHSRZBuffer
PEXHLHSRPainters, PEXETMHLHSRPainters
PEXHLHSRScanline, PEXETMHLHSRScanline
PEXHLHSRHiddenLineOnly, PEXETMHLHSRHiddenLineOnly
PEXHLHSRZBufferID, PEXETMHLHSRZBufferID

PEXETInteriorStyle

PEXInteriorStyleHollow, PEXETMInteriorStyleHollow
PEXInteriorStyleSolid, PEXETMInteriorStyleSolid
PEXInteriorStylePattern, PEXETMInteriorStylePattern
PEXInteriorStyleHatch, PEXETMInteriorStyleHatch
PEXInteriorStyleEmpty, PEXETMInteriorStyleEmpty

PEXETLightType

PEXLightAmbient, PEXETMLightAmbient
PEXLightWCVector, PEXETMLightWCVector
PEXLightWCPoint, PEXETMLightWCPoint
PEXLightWCSpot, PEXETMLightWCSpot

PEXETLineType

PEXLineTypeSolid, PEXETMLineTypeSolid
PEXLineTypeDashed, PEXETMLineTypeDashed
PEXLineTypeDotted, PEXETMLineTypeDotted
PEXLineTypeDashDot, PEXETMLineTypeDashDot

PEXETMarkerType

PEXMarkerDot, PEXETMMarkerDot
PEXMarkerCross, PEXETMMarkerCross
PEXMarkerAsterisk, PEXETMMarkerAsterisk
PEXMarkerCircle, PEXETMMarkerCircle
PEXMarkerX, PEXETMMarkerX

PEXETModelClipOperator

PEXModelClipReplace, PEXETMModelClipReplace
PEXModelClipIntersection, PEXETMModelClipIntersection

PEXETParaSurfCharacteristics

PEXPSCNone, PEXETMPSCNone
PEXPSCImpDep, implementation-dependent string
PEXPSCIsoCurves, PEXETMPSCIsoCurves
PEXPSCMCLevelCurves, PEXETMPSCMCLevelCurves
PEXPSCWCLevelCurves, PEXETMPSCWCLevelCurves

PEXETPickAllMethod

PEXPickAllAll, PEXETMPickAllAll
PEXPickAllVisible, PEXETMPickAllVisible

PEXETPickDeviceType

PEXPickDeviceDCHitBox, PEXETMPickDeviceDCHitBox
PEXPickDeviceNPCHitVolume, PEXETMPickDeviceNPCHitVolume

PEXETPickOneMethod

PEXPickLast, PEXETMPickLast
PEXPickClosestZ, PEXETMPickClosestZ
PEXPickVisibleAny, PEXETMPickVisibleAny
PEXPickVisibleClosest, PEXETMPickVisibleClosest

PEXETPolylineInterpMethod

PEXPolylineInterpNone, PEXETMPolylineInterpNone
PEXPolylineInterpColor, PEXETMPolylineInterpColor

PEXETPromptEchoType

PEXEchoPrimitive, PEXETMEchoPrimitive
PEXEchoStructure, PEXETMEchoStructure
PEXEchoNetwork, PEXETMEchoNetwork

PEXETReflectionModel

PEXReflectionNone, PEXETMReflectionNone
PEXReflectionAmbient, PEXETMReflectionAmbient
PEXReflectionDiffuse, PEXETMReflectionDiffuse
PEXReflectionSpecular, PEXETMReflectionSpecular

PEXETRenderingColorModel

PEXRenderingColorModelImpDep, implementation-dependent string
PEXRenderingColorModelRGB, PEXETMRenderingColorModelRGB
PEXRenderingColorModelCIE, PEXETMRenderingColorModelCIE
PEXRenderingColorModelHSV, PEXETMRenderingColorModelHSV
PEXRenderingColorModelHLS, PEXETMRenderingColorModelHLS

PEXETSurfaceApproxMethod

PEXApproxImpDep, implementation-dependent string
PEXApproxConstantBetweenKnots, PEXETMApproxConstantBetweenKnots
PEXApproxWCChordalSize, PEXETMApproxWCChordalSize
PEXApproxNPCChordalSize, PEXETMApproxNPCChordalSize
PEXApproxDCChordalSize, PEXETMApproxDCChordalSize
PEXSurfaceApproxWCPlanarDev, PEXETMSurfaceApproxWCPlanarDev
PEXSurfaceApproxNPCPlanarDev, PEXETMSurfaceApproxNPCPlanarDev
PEXSurfaceApproxDCPlanarDev, PEXETMSurfaceApproxDCPlanarDev
PEXApproxWCRelative, PEXETMApproxWCRelative
PEXApproxNPCRelative, PEXETMApproxNPCRelative
PEXApproxDCRelative, PEXETMApproxDCRelative

PEXETSurfaceEdgeType

PEXSurfaceEdgeSolid, PEXETMSurfaceEdgeSolid
PEXSurfaceEdgeDashed, PEXETMSurfaceEdgeDashed
PEXSurfaceEdgeDotted, PEXETMSurfaceEdgeDotted
PEXSurfaceEdgeDashDot, PEXETMSurfaceEdgeDashDot

PEXETSurfaceInterpMethod

PEXSurfaceInterpNone, PEXETMSurfaceInterpNone
PEXSurfaceInterpColor, PEXETMSurfaceInterpColor
PEXSurfaceInterpDotProduct, PEXETMSurfaceInterpDotProduct
PEXSurfaceInterpNormal, PEXETMSurfaceInterpNormal

PEXETTrimCurveApproxMethod

PEXApproxImpDep, implementation-dependent string
PEXApproxConstantBetweenKnots, PEXETMApproxConstantBetweenKnots

Data Structures

typedef struct {
    PEXEnumTypeIndex    index;
    char                ∗descriptor;
} PEXEnumTypeDesc;

Errors

BadDrawableThe specified drawable resource identifier is invalid. 

BadMatchThe specified drawable is unsupported. 

BadValueA specified enumerated type is invalid. 

See Also

PEXFreeEnumInfo

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026