/* $Xorg: PEX.h,v 1.3 2000/08/17 19:47:18 cpqbld Exp $ */ /*********************************************************** Copyright 1989, 1990, 1991, 1998 The Open Group All Rights Reserved. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of The Open Group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. Copyright 1989, 1990, 1991 by Sun Microsystems, Inc. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Sun Microsystems, not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ #ifndef PEX_H #define PEX_H #ifdef LOCAL_PEX_NAME #define PEX_NAME_STRING LOCAL_PEX_NAME #else #define PEX_NAME_STRING "X3D-PEX" #endif /* Matches revision 5.1C */ #define PEX_PROTO_MAJOR 5 /* current protocol version */ #define PEX_PROTO_MINOR 1 /* current minor version */ /* Events */ #define PEXMaxHitsReached 0 #define PEXNumberEvents 1 /* Subsets */ #define PEXCompleteImplementation 0 #define PEXImmediateModeOnly 1 #define PEXPhigsWksOnly 2 #define PEXStructureModeOnly 4 /* Resources */ #define PEXAlreadyFreed 1 /* Asf Attributes */ /* Masks for setting Asf's */ #define PEXMarkerTypeAsf (1L<<0) #define PEXMarkerScaleAsf (1L<<1) #define PEXMarkerColourAsf (1L<<2) #define PEXTextFontIndexAsf (1L<<3) #define PEXTextPrecAsf (1L<<4) #define PEXCharExpansionAsf (1L<<5) #define PEXCharSpacingAsf (1L<<6) #define PEXTextColourAsf (1L<<7) #define PEXLineTypeAsf (1L<<8) #define PEXLineWidthAsf (1L<<9) #define PEXLineColourAsf (1L<<10) #define PEXCurveApproxAsf (1L<<11) #define PEXPolylineInterpAsf (1L<<12) #define PEXInteriorStyleAsf (1L<<13) #define PEXInteriorStyleIndexAsf (1L<<14) #define PEXSurfaceColourAsf (1L<<15) #define PEXSurfaceInterpAsf (1L<<16) #define PEXReflectionModelAsf (1L<<17) #define PEXReflectionAttrAsf (1L<<18) #define PEXBfInteriorStyleAsf (1L<<19) #define PEXBfInteriorStyleIndexAsf (1L<<20) #define PEXBfSurfaceColourAsf (1L<<21) #define PEXBfSurfaceInterpAsf (1L<<22) #define PEXBfReflectionModelAsf (1L<<23) #define PEXBfReflectionAttrAsf (1L<<24) #define PEXSurfaceApproxAsf (1L<<25) #define PEXSurfaceEdgesAsf (1L<<26) #define PEXSurfaceEdgeTypeAsf (1L<<27) #define PEXSurfaceEdgeWidthAsf (1L<<28) #define PEXSurfaceEdgeColourAsf (1L<<29) #define PEXMaxAsfShift 29 /* Asf Values */ #define PEXBundled 0 #define PEXIndividual 1 /* Composition */ #define PEXPreConcatenate 0 #define PEXPostConcatenate 1 #define PEXReplace 2 /* Cull mode */ /* 0 None */ #define PEXBackFaces 1 #define PEXFrontFaces 2 /* Curve Type and Surface Type */ #define PEXRational 0 #define PEXNonRational 1 /* Edit Mode */ #define PEXStructureInsert 0 #define PEXStructureReplace 1 /* Whence values */ #define PEXBeginning 0 #define PEXCurrent 1 #define PEXEnd 2 /* Match Draw Type */ #define PEXDontCare 0 #define PEXWindow 1 #define PEXPixmap 2 #define PEXBuffer 3 /* Pick All State */ #define PEXMoreHits 0 #define PEXNoMoreHits 1 #define PEXMayBeMoreHits 2 /* PickOne Methods */ #define PEXLast 1 #define PEXClosestZ 2 #define PEXVisibleAny 3 #define PEXVisibleClosest 4 /* PickAll Methods */ #define PEXAllPicks 1 #define PEXVisible 2 /* Element Search */ #define PEXNotFound 1 #define PEXFound 2 /* GetEnumeratedType return format */ #define PEXETIndex 1 #define PEXETMnemonic 2 #define PEXETBoth 3 /* Enum Types */ #define PEXETMarkerType 1 #define PEXETATextStyle 2 #define PEXETInteriorStyle 3 #define PEXETHatchStyle 4 #define PEXETLineType 5 #define PEXETSurfaceEdgeType 6 #define PEXETPickDeviceType 7 #define PEXETPolylineInterpMethod 8 #define PEXETCurveApproxMethod 9 #define PEXETReflectionModel 10 #define PEXETSurfaceInterpMethod 11 #define PEXETSurfaceApproxMethod 12 #define PEXETModelClipOperator 13 #define PEXETLightType 14 #define PEXETColourType 15 #define PEXETFloatFormat 16 #define PEXETHlhsrMode 17 #define PEXETPromptEchoType 18 #define PEXETDisplayUpdateMode 19 #define PEXETColourApproxType 20 #define PEXETColourApproxModel 21 #define PEXETGDP 22 #define PEXETGDP3 23 #define PEXETGSE 24 #define PEXETTrimCurveApproxMethod 25 #define PEXETRenderingColourModel 26 #define PEXETParaSurfCharacteristics 27 #define PEXETEscape 28 #define PEXETPickOneMethod 29 #define PEXETPickAllMethod 30 /* Renderer State */ #define PEXIdle 0 #define PEXRendering 1 #define PEXPicking 2 /* Flags (e.g., Switches, Visibility, and Edges) */ #define PEXOff 0 #define PEXOn 1 /* Shape hints */ /* Complex, Nonconvex, Convex, are defined as 0, 1, 2 in X.h */ #define PEXComplex 0 #define PEXNonconvex 1 #define PEXConvex 2 #define PEXUnknownShape 3 /* Contour hints */ #define PEXDisjoint 0 #define PEXNested 1 #define PEXIntersecting 2 #define PEXUnknownContour 3 /* Table Type */ #define PEXLineBundleLUT 1 #define PEXMarkerBundleLUT 2 #define PEXTextBundleLUT 3 #define PEXInteriorBundleLUT 4 #define PEXEdgeBundleLUT 5 #define PEXPatternLUT 6 #define PEXTextFontLUT 7 #define PEXColourLUT 8 #define PEXViewLUT 9 #define PEXLightLUT 10 #define PEXDepthCueLUT 11 #define PEXColourApproxLUT 12 #define PEXMaxTableType 12 /* LUT BitMask Values */ /* Color Table Values */ #define PEXLUTVColor (1L<<0) /* Color Approximation Table Values */ #define PEXLUTVColorApproxMethod (1L<<0) #define PEXLUTVColorModel (2L<<0) #define PEXLUTVMax1 (3L<<0) #define PEXLUTVMax2 (4L<<0) #define PEXLUTVMax3 (5L<<0) #define PEXLUTVDither (6L<<0) #define PEXLUTVMult1 (7L<<0) #define PEXLUTVMult2 (8L<<0) #define PEXLUTVMult3 (9L<<0) #define PEXLUTVWeight1 (10L<<0) #define PEXLUTVWeight2 (11L<<0) #define PEXLUTVWeight3 (12L<<0) #define PEXLUTVBasePixel (13L<<0) /* Data Mapping Table Values */ #define PEXLUTVDataMapMethod (1L<<0) #define PEXLUTVSourceSelectors (2L<<0) /* Depth Cue Table Values */ #define PEXLUTVDepthCueMode (1L<<0) #define PEXLUTVFrontReferencePlane (2L<<0) #define PEXLUTVBackReferencePlane (3L<<0) #define PEXLUTVFrontScalePlane (4L<<0) #define PEXLUTVBackScalePlane (5L<<0) #define PEXLUTVDepthCueColor (6L<<0) /* Edge Bundle Table Values */ #define PEXLUTVSurfaceEdgeFlag (1L<<0) #define PEXLUTVSurfaceEdgeType (2L<<0) #define PEXLUTVSurfaceEdgeWidth (3L<<0) #define PEXLUTVSurfaceEdgeColor (4L<<0) /* Extent Size Table Values */ #define PEXLUTVExtentSize (1L<<0) /* Highlight Table Values */ #define PEXLUTVHighlightMethod (1L<<0) #define PEXLUTVHighlightColor (2L<<0) /* Interior Bundle Table Values */ #define PEXLUTVInteriorStyle (1L<<0) #define PEXLUTVInteriorStyleIndex (2L<<0) #define PEXLUTVInteriorReflectionModel (3L<<0) #define PEXLUTVInteriorInterpMethod (4L<<0) #define PEXLUTVBFInteriorStyle (5L<<0) #define PEXLUTVBFInteriorStyleIndex (6L<<0) #define PEXLUTVBFReflectionModel (7L<<0) #define PEXLUTVBFInterpMethod (8L<<0) #define PEXLUTVSurfaceApprox (9L<<0) #define PEXLUTVSurfaceColor (10L<<0) #define PEXLUTVReflectionAttrs (11L<<0) #define PEXLUTVBFSurfaceColor (12L<<0) #define PEXLUTVBFReflectionAttrs (13L<<0) #define PEXLUTVPSurfChar (14L<<0) /* Light Table Values */ #define PEXLUTVLightType (1L<<0) #define PEXLUTVLightDirection (2L<<0) #define PEXLUTVLightPosition (3L<<0) #define PEXLUTVLightConcentration (4L<<0) #define PEXLUTVLightSpreadAngle (5L<<0) #define PEXLUTVLightConstantAttenFactor (6L<<0) #define PEXLUTVLightLinearAttenFactor (7L<<0) #define PEXLUTVLightColor (8L<<0) #define PEXLUTVLightConcClampRegion (9L<<0) #define PEXLUTVLightQuadraticAttenFactor (10L<<0) /* Line Table Values */ #define PEXLUTVLineType (1L<<0) #define PEXLUTVLineInterpMethod (2L<<0) #define PEXLUTVLineCurveApprox (3L<<0) #define PEXLUTVLineWidth (4L<<0) #define PEXLUTVLineColor (5L<<0) #define PEXLUTVLineCapStyle (6L<<0) #define PEXLUTVLineJoinStyle (7L<<0) /* Marker Bundle Table Values */ #define PEXLUTVMarkerType (1L<<0) #define PEXLUTVMarkerScaleFactor (2L<<0) #define PEXLUTVMarkerColor (3L<<0) /* Marker Glyph Table Values */ #define PEXLUTVMarkerGlyph (1L<<0) /* Pattern Table Values */ #define PEXLUTVPatternData (1L<<0) /* Text Bundle Table Values */ #define PEXLUTVTextFontIndex (1L<<0) #define PEXLUTVTextPrecision (2L<<0) #define PEXLUTVTextCharExpansion (3L<<0) #define PEXLUTVTextCharSpacing (4L<<0) #define PEXLUTVTextColor (5L<<0) /* Text Font Table Values */ #define PEXLUTVTextFontGroup (1L<<0) /* Texture Mapping Table Values */ #define PEXLUTVTMTextureMapID (1L<<0) #define PEXLUTVTMRenderingControl (2L<<0) #define PEXLUTVTMParamMethod (3L<<0) #define PEXLUTVTMFPDataIndex (4L<<0) #define PEXLUTVTMReflectionMatrix (5L<<0) #define PEXLUTVTMOrientationMatrix (6L<<0) #define PEXLUTVTMCompositionMethod (7L<<0) #define PEXLUTVTMChannelNumber (8L<<0) #define PEXLUTVTMEnvironmentColor (9L<<0) #define PEXLUTVTMBackgroundColor (10L<<0) #define PEXLUTVTMSampleMinMag (11L<<0) #define PEXLUTVTMBoundaryConditions (12L<<0) #define PEXLUTVTMClampingMethod (13L<<0) #define PEXLUTVTMClampColor (14L<<0) #define PEXLUTVTMSamplingHints (15L<<0) /* View Table Values */ #define PEXLUTVViewClipFlags (1L<<0) #define PEXLUTVViewClipLimits (1L<<0) #define PEXLUTVViewOrientationMatrix (1L<<0) #define PEXLUTVViewMappingMatrix (1L<<0) #define PEXLUTVViewEyepoint (1L<<0) /* Status in GetTableEntry */ #define PEXDefaultEntry 0 #define PEXDefinedEntry 1 /* ValueType in GetTableEntr{y|ies} */ #define PEXSetValue 0 #define PEXRealizedValue 1 /* Constants for Path and Vertical and Horizontal alignment */ #define PEXPathRight 0 #define PEXPathLeft 1 #define PEXPathUp 2 #define PEXPathDown 3 #define PEXValignNormal 0 #define PEXValignTop 1 #define PEXValignCap 2 #define PEXValignHalf 3 #define PEXValignBase 4 #define PEXValignBottom 5 #define PEXHalignNormal 0 #define PEXHalignLeft 1 #define PEXHalignCenter 2 #define PEXHalignRight 3 /* Text precision */ #define PEXStringPrecision 0 #define PEXCharPrecision 1 #define PEXStrokePrecision 2 /* Character Set Widths */ #define PEXCSByte 0 #define PEXCSShort 1 #define PEXCSLong 2 /* Update State */ #define PEXNotPending 0 #define PEXPending 1 /* Visual State */ #define PEXCorrect 0 #define PEXDeferred 1 #define PEXSimulated 2 /* Display State */ #define PEXEmpty 0 #define PEXNotEmpty 1 /* Buffer Mode */ #define PEXSingleBuffered 0 #define PEXDoubleBuffered 1 /* Dynamic types */ #define PEXIMM 0 #define PEXIRG 1 #define PEXCBS 2 /* Geometric attributes (Vertex, Facet) */ #define PEXGAColour 0x0001 #define PEXGANormal 0x0002 #define PEXGAEdges 0x0004 /* Pick Status */ #define PEXNoPick 0 #define PEXOk 1 #define PEXAborted 2 /* Pick Echo Switch */ #define PEXNoEcho 0 #define PEXEcho 1 #define PEXUnEcho 2 /* Pick Path Order */ #define PEXTopFirst 0 #define PEXBottomFirst 1 /* Items for GetStructureInfo */ #define PEXElementPtr 0x0001 #define PEXNumElements 0x0002 #define PEXLengthStructure 0x0004 #define PEXHasRefs 0x0008 #define PEXEditMode 0x0010 /* Flags for GetStructuresInNetwork */ #define PEXAll 0 #define PEXOrphans 1 /* Path part for GetAncestors */ #define PEXTopPart 0 #define PEXBottomPart 1 /* Direction for ElementSearch */ #define PEXForward 0 #define PEXBackward 1 /* Nameset changes */ #define PEXNSAdd 0 #define PEXNSRemove 1 #define PEXNSReplace 2 /* Priorities */ #define PEXHigher 0 #define PEXLower 1 /* Enumerated Type Descriptors */ /* Marker Type */ #define PEXMarkerDot 1 #define PEXMarkerCross 2 #define PEXMarkerAsterisk 3 #define PEXMarkerCircle 4 #define PEXMarkerX 5 /* ATextStyle */ #define PEXATextNotConnected 1 #define PEXATextConnected 2 /* InteriorStyle */ #define PEXInteriorStyleHollow 1 #define PEXInteriorStyleSolid 2 #define PEXInteriorStylePattern 3 #define PEXInteriorStyleHatch 4 #define PEXInteriorStyleEmpty 5 /* HatchStyle */ /* LineType */ #define PEXLineTypeSolid 1 #define PEXLineTypeDashed 2 #define PEXLineTypeDotted 3 #define PEXLineTypeDashDot 4 /* SurfaceEdgeType */ #define PEXSurfaceEdgeSolid 1 #define PEXSurfaceEdgeDashed 2 #define PEXSurfaceEdgeDotted 3 #define PEXSurfaceEdgeDashDot 4 /* PickDeviceType */ #define PEXPickDeviceDC_HitBox 1 #define PEXPickDeviceNPC_HitVolume 2 /* PolylineInterpMethod */ #define PEXPolylineInterpNone 1 #define PEXPolylineInterpColour 2 /* Curve(and Surface)(and Trim Curve)ApproxMethods */ #define PEXApproxImpDep 1 #define PEXApproxConstantBetweenKnots 2 #define PEXApproxWcsChordalSize 3 #define PEXApproxNpcChordalSize 4 #define PEXApproxDcChordalSize 5 #define PEXCurveApproxWcsChordalDev 6 #define PEXCurveApproxNpcChordalDev 7 #define PEXCurveApproxDcChordalDev 8 #define PEXSurfaceApproxWcsPlanarDev 6 #define PEXSurfaceApproxNpcPlanarDev 7 #define PEXSurfaceApproxDcPlanarDev 8 #define PEXApproxWcsRelative 9 #define PEXApproxNpcRelative 10 #define PEXApproxDcRelative 11 /* ReflectionModel */ #define PEXReflectionNoShading 1 #define PEXReflectionAmbient 2 #define PEXReflectionDiffuse 3 #define PEXReflectionSpecular 4 /* SurfaceInterpMethod */ #define PEXSurfaceInterpNone 1 #define PEXSurfaceInterpColour 2 #define PEXSurfaceInterpDotProduct 3 #define PEXSurfaceInterpNormal 4 /* ModelClipOperator */ #define PEXModelClipReplace 1 #define PEXModelClipIntersection 2 /* LightType */ #define PEXLightAmbient 1 #define PEXLightWcsVector 2 #define PEXLightWcsPoint 3 #define PEXLightWcsSpot 4 /* ColourType */ #define PEXIndexedColour 0 #define PEXRgbFloatColour 1 #define PEXCieFloatColour 2 #define PEXHsvFloatColour 3 #define PEXHlsFloatColour 4 #define PEXRgb8Colour 5 #define PEXRgb16Colour 6 #define PEXMaxColour 6 /* FloatFormat */ #define PEXIeee_754_32 1 #define PEXDEC_F_Floating 2 #define PEXIeee_754_64 3 #define PEXDEC_D_Floating 4 /* HlhsrMode */ #define PEXHlhsrOff 1 #define PEXHlhsrZBuffer 2 #define PEXHlhsrPainters 3 #define PEXHlhsrScanline 4 #define PEXHlhsrHiddenLineOnly 5 #define PEXHlhsrZBufferId 6 /* PromptEchoType */ #define PEXEchoPrimitive 1 #define PEXEchoStructure 2 #define PEXEchoNetwork 3 /* DisplayUpdateMethod */ #define PEXVisualizeEach 1 #define PEXVisualizeEasy 2 #define PEXVisualizeNone 3 #define PEXSimulateSome 4 #define PEXVisualizeWhenever 5 /* ColourApproxType */ #define PEXColourSpace 1 #define PEXColourRange 2 /* ColourApproxMethod */ #define PEXColourApproxRGB 1 #define PEXColourApproxCIE 2 #define PEXColourApproxHSV 3 #define PEXColourApproxHLS 4 #define PEXColourApproxYIQ 5 /* Escape */ #define PEXEscapeSetEchoColour 1 /* RenderingColourModel */ #define PEXRdrColourModelImpDep 0 #define PEXRdrColourModelRGB 1 #define PEXRdrColourModelCIE 2 #define PEXRdrColourModelHSV 3 #define PEXRdrColourModelHLS 4 /* ParametricSurfaceCharacteristics */ #define PEXPSCNone 1 #define PEXPSCImpDep 2 #define PEXPSCIsoCurves 3 #define PEXPSCMcLevelCurves 4 #define PEXPSCWcLevelCurves 5 /* Isoparametric Curves */ #define PEXICUniformPlacement 0 #define PEXICNonuniformPlacement 1 /* Clipping */ #define PEXClipXY 0x0001 #define PEXClipBack 0x0002 #define PEXClipFront 0x0004 #define PEXClip 0 #define PEXNoClip 1 /* Implementation Dependent Constant Names */ #define PEXIDDitheringSupported 1 #define PEXIDMaxEdgeWidth 2 #define PEXIDMaxLineWidth 3 #define PEXIDMaxMarkerSize 4 #define PEXIDMaxModelClipPlanes 5 #define PEXIDMaxNameSetNames 6 #define PEXIDMaxNonAmbientLights 7 #define PEXIDMaxNURBOrder 8 #define PEXIDMaxTrimCurveOrder 9 #define PEXIDMinEdgeWidth 10 #define PEXIDMinLineWidth 11 #define PEXIDMinMarkerSize 12 #define PEXIDNominalEdgeWidth 13 #define PEXIDNominalLineWidth 14 #define PEXIDNominalMarkerSize 15 #define PEXIDNumSupportedEdgeWidths 16 #define PEXIDNumSupportedLineWidths 17 #define PEXIDNumSupportedMarkerSizes 18 #define PEXIDBestColourApproximation 19 #define PEXIDTransparencySupported 20 #define PEXIDDoubleBufferingSupported 21 #define PEXIDChromaticityRedU 22 #define PEXIDChromaticityRedV 23 #define PEXIDLuminanceRed 24 #define PEXIDChromaticityGreenU 25 #define PEXIDChromaticityGreenV 26 #define PEXIDLuminanceGreen 27 #define PEXIDChromaticityBlueU 28 #define PEXIDChromaticityBlueV 29 #define PEXIDLuminanceBlue 30 #define PEXIDChromaticityWhiteU 31 #define PEXIDChromaticityWhiteV 32 #define PEXIDLuminanceWhite 33 /* have to stick this here since others are not in order */ #define PEXIDMaxHitsEventSupported 34 /* Constants for IDRgbBestApproximation */ #define PEXColourApproxAnyValues 0 #define PEXColourApproxPowersOf2 1 /** To convert a bit index to a mask number and a mask value, assuming ** 32 bit wide words. For example, a bitIndex of 5 will return ** maskNum == 0 and maskValue == (1 << 5) = 32, while a bitIndex of 39 ** will return maskNum == 1 and maskValue == (1 << 7) == 128 **/ #define PEX_BITNUM_TO_BITMASK(bitIndex, maskNum, maskValue) \ maskNum = (bitIndex) / 32; \ maskValue = ((unsigned)1L << ((bitIndex) % 32)); #define CHECK_BITMASK_ARRAY(mask,bitIndex) \ if (mask[((bitIndex)/32)] & ((unsigned)1L << ((bitIndex) % 32))) #define PEX_BITMASK(i) ((unsigned)1 << ((i) & 31)) #define PEX_MASKIDX(i) ((i) >> 5) #define PEX_MASKWORD(buf, i) buf[PEX_MASKIDX(i)] #define PEX_BITSET(buf, i) PEX_MASKWORD(buf, i) |= PEX_BITMASK(i) #define PEX_BITCLEAR(buf, i) PEX_MASKWORD(buf, i) &= ~PEX_BITMASK(i) #define PEX_GETBIT(buf, i) (PEX_MASKWORD(buf, i) & PEX_BITMASK(i)) #define PEXMSGetWksInfo 2 #define PEXMSPipeline 3 /* Pipeline Context */ #define PEXPCMarkerType 0 #define PEXPCMarkerScale 1 #define PEXPCMarkerColour 2 #define PEXPCMarkerBundleIndex 3 #define PEXPCTextFont 4 #define PEXPCTextPrecision 5 #define PEXPCCharExpansion 6 #define PEXPCCharSpacing 7 #define PEXPCTextColour 8 #define PEXPCCharHeight 9 #define PEXPCCharUpVector 10 #define PEXPCTextPath 11 #define PEXPCTextAlignment 12 #define PEXPCAtextHeight 13 #define PEXPCAtextUpVector 14 #define PEXPCAtextPath 15 #define PEXPCAtextAlignment 16 #define PEXPCAtextStyle 17 #define PEXPCTextBundleIndex 18 #define PEXPCLineType 19 #define PEXPCLineWidth 20 #define PEXPCLineColour 21 #define PEXPCCurveApproximation 22 #define PEXPCPolylineInterp 23 #define PEXPCLineBundleIndex 24 #define PEXPCInteriorStyle 25 #define PEXPCInteriorStyleIndex 26 #define PEXPCSurfaceColour 27 #define PEXPCSurfaceReflAttr 28 #define PEXPCSurfaceReflModel 29 #define PEXPCSurfaceInterp 30 #define PEXPCBfInteriorStyle 31 #define PEXPCBfInteriorStyleIndex 32 #define PEXPCBfSurfaceColour 33 #define PEXPCBfSurfaceReflAttr 34 #define PEXPCBfSurfaceReflModel 35 #define PEXPCBfSurfaceInterp 36 #define PEXPCSurfaceApproximation 37 #define PEXPCCullingMode 38 #define PEXPCDistinguishFlag 39 #define PEXPCPatternSize 40 #define PEXPCPatternRefPt 41 #define PEXPCPatternRefVec1 42 #define PEXPCPatternRefVec2 43 #define PEXPCInteriorBundleIndex 44 #define PEXPCSurfaceEdgeFlag 45 #define PEXPCSurfaceEdgeType 46 #define PEXPCSurfaceEdgeWidth 47 #define PEXPCSurfaceEdgeColour 48 #define PEXPCEdgeBundleIndex 49 #define PEXPCLocalTransform 50 #define PEXPCGlobalTransform 51 #define PEXPCModelClip 52 #define PEXPCModelClipVolume 53 #define PEXPCViewIndex 54 #define PEXPCLightState 55 #define PEXPCDepthCueIndex 56 #define PEXPCSetAsfValues 57 #define PEXPCPickId 58 #define PEXPCHlhsrIdentifier 59 #define PEXPCNameSet 60 #define PEXPCColourApproxIndex 61 #define PEXPCRenderingColourModel 62 #define PEXPCParaSurfCharacteristics 63 #define PEXMaxPCIndex 63 /* Renderer Bitmasks */ #define PEXRDPipelineContext (1L<<0) #define PEXRDCurrentPath (1L<<1) #define PEXRDMarkerBundle (1L<<2) #define PEXRDTextBundle (1L<<3) #define PEXRDLineBundle (1L<<4) #define PEXRDInteriorBundle (1L<<5) #define PEXRDEdgeBundle (1L<<6) #define PEXRDViewTable (1L<<7) #define PEXRDColourTable (1L<<8) #define PEXRDDepthCueTable (1L<<9) #define PEXRDLightTable (1L<<10) #define PEXRDColourApproxTable (1L<<11) #define PEXRDPatternTable (1L<<12) #define PEXRDTextFontTable (1L<<13) #define PEXRDHighlightIncl (1L<<14) #define PEXRDHighlightExcl (1L<<15) #define PEXRDInvisibilityIncl (1L<<16) #define PEXRDInvisibilityExcl (1L<<17) #define PEXRDRendererState (1L<<18) #define PEXRDHlhsrMode (1L<<19) #define PEXRDNpcSubvolume (1L<<20) #define PEXRDViewport (1L<<21) #define PEXRDClipList (1L<<22) #define PEXRDPickInclusion (1L<<23) #define PEXRDPickExclusion (1L<<24) #define PEXRDPickStartPath (1L<<25) #define PEXRDBackgroundColour (1L<<26) #define PEXRDClearI (1L<<27) #define PEXRDClearZ (1L<<28) #define PEXRDEchoMode (1L<<29) #define PEXMaxRDShift 29 /* Renderer Dynamics Bitmasks */ /* tables */ #define PEXDynMarkerBundle (1L<<0) #define PEXDynTextBundle (1L<<1) #define PEXDynLineBundle (1L<<2) #define PEXDynInteriorBundle (1L<<3) #define PEXDynEdgeBundle (1L<<4) #define PEXDynViewTable (1L<<5) #define PEXDynColourTable (1L<<6) #define PEXDynDepthCueTable (1L<<7) #define PEXDynLightTable (1L<<8) #define PEXDynColourApproxTable (1L<<9) #define PEXDynPatternTable (1L<<10) #define PEXDynTextFontTable (1L<<11) #define PEXDynMarkerBundleContents (1L<<16) #define PEXDynTextBundleContents (1L<<17) #define PEXDynLineBundleContents (1L<<18) #define PEXDynInteriorBundleContents (1L<<19) #define PEXDynEdgeBundleContents (1L<<20) #define PEXDynViewTableContents (1L<<21) #define PEXDynColourTableContents (1L<<22) #define PEXDynDepthCueTableContents (1L<<23) #define PEXDynLightTableContents (1L<<24) #define PEXDynColourApproxContents (1L<<25) #define PEXDynPatternTableContents (1L<<26) #define PEXDynTextFontTableContents (1L<<27) /* namesets */ #define PEXDynHighlightNameset (1L<<0) #define PEXDynInvisibilityNameset (1L<<1) #define PEXDynPickNameset (1L<<2) #define PEXDynHighlightNamesetContents (1L<<16) #define PEXDynInvisibilityNamesetContents (1L<<17) #define PEXDynPickNamesetContents (1L<<18) /* attributes */ #define PEXDynHlhsrMode (1L<<0) #define PEXDynNpcSubvolume (1L<<1) #define PEXDynViewport (1L<<2) #define PEXDynClipList (1L<<3) #define PEXDynEchoMode (1L<<4) #define PEXElementType (1L<<0) #define PEXElementSize (1L<<1) #define PEXElementData (1L<<2) /* Search Context Bitmasks */ #define PEXSCPosition (1L<<0) #define PEXSCDistance (1L<<1) #define PEXSCCeiling (1L<<2) #define PEXSCModelClipFlag (1L<<3) #define PEXSCStartPath (1L<<4) #define PEXSCNormalList (1L<<5) #define PEXSCInvertedList (1L<<6) /* Phigs Workstation Attribute Bitmasks */ #define PEXPWDisplayUpdate 0 #define PEXPWVisualState 1 #define PEXPWDisplaySurface 2 #define PEXPWViewUpdate 3 #define PEXPWDefinedViews 4 #define PEXPWWksUpdate 5 #define PEXPWReqNpcSubvolume 6 #define PEXPWCurNpcSubvolume 7 #define PEXPWReqWksViewport 8 #define PEXPWCurWksViewport 9 #define PEXPWHlhsrUpdate 10 #define PEXPWReqHlhsrMode 11 #define PEXPWCurHlhsrMode 12 #define PEXPWDrawable 13 #define PEXPWMarkerBundle 14 #define PEXPWTextBundle 15 #define PEXPWLineBundle 16 #define PEXPWInteriorBundle 17 #define PEXPWEdgeBundle 18 #define PEXPWColourTable 19 #define PEXPWDepthCueTable 20 #define PEXPWLightTable 21 #define PEXPWColourApproxTable 22 #define PEXPWPatternTable 23 #define PEXPWTextFontTable 24 #define PEXPWHighlightIncl 25 #define PEXPWHighlightExcl 26 #define PEXPWInvisibilityIncl 27 #define PEXPWInvisibilityExcl 28 #define PEXPWPostedStructures 29 #define PEXPWNumPriorities 30 #define PEXPWBufferUpdate 31 #define PEXPWReqBufferMode 32 #define PEXPWCurBufferMode 33 #define PEXMaxPWIndex 33 /* Indices for GetDynamics */ #define PEXPWDViewRep 0 #define PEXPWDMarkerBundle 1 #define PEXPWDTextBundle 2 #define PEXPWDLineBundle 3 #define PEXPWDInteriorBundle 4 #define PEXPWDEdgeBundle 5 #define PEXPWDColourTable 6 #define PEXPWDPatternTable 7 #define PEXPWDWksTransform 8 #define PEXPWDHighlightFilter 9 #define PEXPWDInvisibilityFilter 10 #define PEXPWDHlhsrMode 11 #define PEXPWDStructureModify 12 #define PEXPWDPostStructure 13 #define PEXPWDUnpostStructure 14 #define PEXPWDDeleteStructure 15 #define PEXPWDReferenceModify 16 #define PEXPWDBufferModify 17 #define PEXPWDLightTable 18 #define PEXPWDDepthCueTable 19 #define PEXPWDColourApproxTable 20 /* Pick Device Bitmasks */ #define PEXPDPickStatus (1L<<0) #define PEXPDPickPath (1L<<1) #define PEXPDPickPathOrder (1L<<2) #define PEXPDPickIncl (1L<<3) #define PEXPDPickExcl (1L<<4) #define PEXPDPickDataRec (1L<<5) #define PEXPDPickPromptEchoType (1L<<6) #define PEXPDPickEchoVolume (1L<<7) #define PEXPDPickEchoSwitch (1L<<8) /* Pick Measure Bitmasks */ #define PEXPMStatus (1L<<0) #define PEXPMPath (1L<<1) /* Errors */ #define PEXColourTypeError 0 #define PEXRendererStateError 1 #define PEXFloatingPointFormatError 2 #define PEXLabelError 3 #define PEXLookupTableError 4 #define PEXNameSetError 5 #define PEXPathError 6 #define PEXFontError 7 #define PEXPhigsWksError 8 #define PEXPickMeasureError 9 #define PEXPipelineContextError 10 #define PEXRendererError 11 #define PEXSearchContextError 12 #define PEXStructureError 13 #define PEXOutputCommandError 14 #define PEXMaxError 14 /* Requests */ #define PEX_GetExtensionInfo 1 #define PEX_GetEnumeratedTypeInfo 2 #define PEX_GetImpDepConstants 3 #define PEX_CreateLookupTable 4 #define PEX_CopyLookupTable 5 #define PEX_FreeLookupTable 6 #define PEX_GetTableInfo 7 #define PEX_GetPredefinedEntries 8 #define PEX_GetDefinedIndices 9 #define PEX_GetTableEntry 10 #define PEX_GetTableEntries 11 #define PEX_SetTableEntries 12 #define PEX_DeleteTableEntries 13 #define PEX_CreatePipelineContext 14 #define PEX_CopyPipelineContext 15 #define PEX_FreePipelineContext 16 #define PEX_GetPipelineContext 17 #define PEX_ChangePipelineContext 18 #define PEX_CreateRenderer 19 #define PEX_FreeRenderer 20 #define PEX_ChangeRenderer 21 #define PEX_GetRendererAttributes 22 #define PEX_GetRendererDynamics 23 #define PEX_BeginRendering 24 #define PEX_EndRendering 25 #define PEX_BeginStructure 26 #define PEX_EndStructure 27 #define PEX_RenderOutputCommands 28 #define PEX_RenderNetwork 29 #define PEX_CreateStructure 30 #define PEX_CopyStructure 31 #define PEX_DestroyStructures 32 #define PEX_GetStructureInfo 33 #define PEX_GetElementInfo 34 #define PEX_GetStructuresInNetwork 35 #define PEX_GetAncestors 36 #define PEX_GetDescendants 37 #define PEX_FetchElements 38 #define PEX_SetEditingMode 39 #define PEX_SetElementPointer 40 #define PEX_SetElementPointerAtLabel 41 #define PEX_ElementSearch 42 #define PEX_StoreElements 43 #define PEX_DeleteElements 44 #define PEX_DeleteElementsToLabel 45 #define PEX_DeleteBetweenLabels 46 #define PEX_CopyElements 47 #define PEX_ChangeStructureRefs 48 #define PEX_CreateNameSet 49 #define PEX_CopyNameSet 50 #define PEX_FreeNameSet 51 #define PEX_GetNameSet 52 #define PEX_ChangeNameSet 53 #define PEX_CreateSearchContext 54 #define PEX_CopySearchContext 55 #define PEX_FreeSearchContext 56 #define PEX_GetSearchContext 57 #define PEX_ChangeSearchContext 58 #define PEX_SearchNetwork 59 #define PEX_CreatePhigsWks 60 #define PEX_FreePhigsWks 61 #define PEX_GetWksInfo 62 #define PEX_GetDynamics 63 #define PEX_GetViewRep 64 #define PEX_RedrawAllStructures 65 #define PEX_UpdateWorkstation 66 #define PEX_RedrawClipRegion 67 #define PEX_ExecuteDeferredActions 68 #define PEX_SetViewPriority 69 #define PEX_SetDisplayUpdateMode 70 #define PEX_MapDCtoWC 71 #define PEX_MapWCtoDC 72 #define PEX_SetViewRep 73 #define PEX_SetWksWindow 74 #define PEX_SetWksViewport 75 #define PEX_SetHlhsrMode 76 #define PEX_SetWksBufferMode 77 #define PEX_PostStructure 78 #define PEX_UnpostStructure 79 #define PEX_UnpostAllStructures 80 #define PEX_GetWksPostings 81 #define PEX_GetPickDevice 82 #define PEX_ChangePickDevice 83 #define PEX_CreatePickMeasure 84 #define PEX_FreePickMeasure 85 #define PEX_GetPickMeasure 86 #define PEX_UpdatePickMeasure 87 #define PEX_OpenFont 88 #define PEX_CloseFont 89 #define PEX_QueryFont 90 #define PEX_ListFonts 91 #define PEX_ListFontsWithInfo 92 #define PEX_QueryTextExtents 93 #define PEX_MatchRendererTargets 94 #define PEX_Escape 95 #define PEX_EscapeWithReply 96 #define PEX_RenderElements 97 #define PEX_AccumulateState 98 #define PEX_BeginPickOne 99 #define PEX_EndPickOne 100 #define PEX_PickOne 101 #define PEX_BeginPickAll 102 #define PEX_EndPickAll 103 #define PEX_PickAll 104 #define PEXMaxRequest 104 /* Output Commands */ #define PEXOCAll 0 #define PEXOCMarkerType 1 #define PEXOCMarkerScale 2 #define PEXOCMarkerColourIndex 3 #define PEXOCMarkerColour 4 #define PEXOCMarkerBundleIndex 5 #define PEXOCTextFontIndex 6 #define PEXOCTextPrecision 7 #define PEXOCCharExpansion 8 #define PEXOCCharSpacing 9 #define PEXOCTextColourIndex 10 #define PEXOCTextColour 11 #define PEXOCCharHeight 12 #define PEXOCCharUpVector 13 #define PEXOCTextPath 14 #define PEXOCTextAlignment 15 #define PEXOCAtextHeight 16 #define PEXOCAtextUpVector 17 #define PEXOCAtextPath 18 #define PEXOCAtextAlignment 19 #define PEXOCAtextStyle 20 #define PEXOCTextBundleIndex 21 #define PEXOCLineType 22 #define PEXOCLineWidth 23 #define PEXOCLineColourIndex 24 #define PEXOCLineColour 25 #define PEXOCCurveApproximation 26 #define PEXOCPolylineInterp 27 #define PEXOCLineBundleIndex 28 #define PEXOCInteriorStyle 29 #define PEXOCInteriorStyleIndex 30 #define PEXOCSurfaceColourIndex 31 #define PEXOCSurfaceColour 32 #define PEXOCSurfaceReflAttr 33 #define PEXOCSurfaceReflModel 34 #define PEXOCSurfaceInterp 35 #define PEXOCBfInteriorStyle 36 #define PEXOCBfInteriorStyleIndex 37 #define PEXOCBfSurfaceColourIndex 38 #define PEXOCBfSurfaceColour 39 #define PEXOCBfSurfaceReflAttr 40 #define PEXOCBfSurfaceReflModel 41 #define PEXOCBfSurfaceInterp 42 #define PEXOCSurfaceApproximation 43 #define PEXOCCullingMode 44 #define PEXOCDistinguishFlag 45 #define PEXOCPatternSize 46 #define PEXOCPatternRefPt 47 #define PEXOCPatternAttr 48 #define PEXOCInteriorBundleIndex 49 #define PEXOCSurfaceEdgeFlag 50 #define PEXOCSurfaceEdgeType 51 #define PEXOCSurfaceEdgeWidth 52 #define PEXOCSurfaceEdgeColourIndex 53 #define PEXOCSurfaceEdgeColour 54 #define PEXOCEdgeBundleIndex 55 #define PEXOCSetAsfValues 56 #define PEXOCLocalTransform 57 #define PEXOCLocalTransform2D 58 #define PEXOCGlobalTransform 59 #define PEXOCGlobalTransform2D 60 #define PEXOCModelClip 61 #define PEXOCModelClipVolume 62 #define PEXOCModelClipVolume2D 63 #define PEXOCRestoreModelClip 64 #define PEXOCViewIndex 65 #define PEXOCLightState 66 #define PEXOCDepthCueIndex 67 #define PEXOCPickId 68 #define PEXOCHlhsrIdentifier 69 #define PEXOCColourApproxIndex 70 #define PEXOCRenderingColourModel 71 #define PEXOCParaSurfCharacteristics 72 #define PEXOCAddToNameSet 73 #define PEXOCRemoveFromNameSet 74 #define PEXOCExecuteStructure 75 #define PEXOCLabel 76 #define PEXOCApplicationData 77 #define PEXOCGse 78 #define PEXOCMarker 79 #define PEXOCMarker2D 80 #define PEXOCText 81 #define PEXOCText2D 82 #define PEXOCAnnotationText 83 #define PEXOCAnnotationText2D 84 #define PEXOCPolyline 85 #define PEXOCPolyline2D 86 #define PEXOCPolylineSet 87 #define PEXOCNurbCurve 88 #define PEXOCFillArea 89 #define PEXOCFillArea2D 90 #define PEXOCExtFillArea 91 #define PEXOCFillAreaSet 92 #define PEXOCFillAreaSet2D 93 #define PEXOCExtFillAreaSet 94 #define PEXOCTriangleStrip 95 #define PEXOCQuadrilateralMesh 96 #define PEXOCSOFAS 97 #define PEXOCNurbSurface 98 #define PEXOCCellArray 99 #define PEXOCCellArray2D 100 #define PEXOCExtCellArray 101 #define PEXOCGdp 102 #define PEXOCGdp2D 103 #define PEXOCNoop 104 #define PEXMaxOC 104 #define PEXOCNil 0xffff #endif /* PEX.h */