home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-bin / x11r6.1 / include / x11 / pex5 / pexlib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-17  |  108.6 KB  |  4,427 lines

  1. #ifndef _PEXLIB_H_
  2. #define _PEXLIB_H_
  3.  
  4. /* $XConsortium: PEXlib.h,v 1.11 94/04/01 18:46:54 rws Exp $ */
  5.  
  6. /******************************************************************************/
  7. /*  Copyright 1987,1991 by Digital Equipment Corporation, Maynard, Mass.      */
  8. /*                                                                            */
  9. /*  (c) Copyright Hewlett-Packard Company, 1992,  Fort Collins, Colorado      */
  10. /*                                                                            */
  11. /*                            All Rights Reserved                             */
  12. /*                                                                            */
  13. /*  Permission to use, copy, modify, and distribute this software and its     */
  14. /*  documentation for any purpose and without fee is hereby granted,          */
  15. /*  provided that the above copyright notices appear in all copies and that   */
  16. /*  both the copyright notices and this permission notice appear in           */
  17. /*  supporting documentation, and that the names of Digital or                */
  18. /*  Hewlett-Packard not be used in advertising or publicity pertaining to     */
  19. /*  distribution of the software without specific, written prior permission.  */
  20. /*                                                                            */
  21. /*  DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING  */
  22. /*  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL  */
  23. /*  DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR   */
  24. /*  ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,       */
  25. /*  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,    */
  26. /*  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS       */
  27. /*  SOFTWARE.                                                                 */
  28. /*                                                                            */
  29. /*  HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS         */
  30. /*  SOFTWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF        */
  31. /*  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  Hewlett-Packard    */
  32. /*  shall not be liable for errors contained herein or direct, indirect,      */
  33. /*  special, incidental or consequential damages in connection with the       */
  34. /*  furnishing, performance or use of this software.                          */
  35. /*                                                                            */
  36. /******************************************************************************/
  37.  
  38. #include <X11/Xlib.h>
  39. #include <X11/PEX5/PEX.h>
  40. #include <X11/Xfuncproto.h>
  41.  
  42. /*
  43.  * floating point min and max values
  44.  */
  45. #define PEXMinFloatIeee_754_32  1.40129846432481707e-45
  46. #define PEXMaxFloatIeee_754_32  3.40282346638528860e+38
  47. #define PEXMinFloatIeee_754_64  4.94065645841246544e-324
  48. #define PEXMaxFloatIeee_754_64  1.797693134862315708e+308
  49.  
  50. /*
  51.  * constants for PEXInitiliaze - failure return values and error string length
  52.  */
  53. #define PEXBadExtension         1
  54. #define PEXBadProtocolVersion   2
  55. #define PEXBadFloatConversion   3
  56. #define PEXBadLocalAlloc        4
  57.  
  58. #define PEXErrorStringLength    80
  59.  
  60.  
  61. /*
  62.  * type definitions
  63.  */
  64. typedef XID             PEXFont;
  65. typedef XID             PEXLookupTable;
  66. typedef XID             PEXNameSet;
  67. typedef XID             PEXPickMeasure;
  68. typedef XID             PEXPipelineContext;
  69. typedef XID             PEXRenderer;
  70. typedef XID             PEXSearchContext;
  71. typedef XID             PEXStructure;
  72. typedef XID             PEXWorkstation;
  73.  
  74. typedef unsigned long   PEXBitmask;
  75. typedef unsigned short  PEXBitmaskShort;
  76. typedef short           PEXColorType;
  77. typedef unsigned char   PEXContourHint;
  78. typedef unsigned short  PEXCoordType;
  79. typedef short           PEXComposition;
  80. typedef unsigned short  PEXCullMode;
  81. typedef unsigned char   PEXDynamicType;
  82. typedef short           PEXEnumTypeIndex;
  83. typedef float           PEXMatrix[4][4];
  84. typedef float           PEXMatrix3x3[3][3];
  85. typedef unsigned long   PEXName;
  86. typedef int             PEXOCRequestType;
  87. typedef unsigned short  PEXShapeHint;
  88. typedef unsigned char   PEXSwitch;
  89. typedef unsigned short  PEXTableIndex;
  90. typedef unsigned short  PEXTypeOrTableIndex;
  91.  
  92. #if NeedFunctionPrototypes
  93. typedef void *PEXPointer;
  94. #else
  95. typedef char *PEXPointer;
  96. #endif
  97.  
  98.  
  99. /*
  100.  * PEX extension information
  101.  */
  102. typedef struct {
  103.     unsigned short      major_version;
  104.     unsigned short      minor_version;
  105.     unsigned long       release;
  106.     unsigned long       subset_info;
  107.     char                *vendor_name;
  108.     int                 major_opcode;
  109.     int                 first_event;
  110.     int                 first_error;
  111. } PEXExtensionInfo;
  112.  
  113. /*
  114.  * enumerated type information
  115.  */
  116. typedef struct {
  117.     PEXEnumTypeIndex    index;
  118.     char                *descriptor;            /* null terminated string */
  119. } PEXEnumTypeDesc;
  120.  
  121. /*
  122.  * implementation dependent constants
  123.  */
  124. typedef union {
  125.     unsigned long       integer;
  126.     float               flt_point;
  127. } PEXImpDepConstant;
  128.  
  129. /*
  130.  * match rendering targets
  131.  */
  132. typedef struct {
  133.     int                 depth;
  134.     int                 type;
  135.     Visual              *visual;
  136. } PEXRenderingTarget;
  137.  
  138.  
  139. /*
  140.  * output primitive and attribute
  141.  */
  142.  
  143. /* output command request types */
  144. #define PEXOCRender             0
  145. #define PEXOCStore              1
  146. #define PEXOCRenderSingle       2
  147. #define PEXOCStoreSingle        3
  148.  
  149. /* coordinates */
  150. typedef struct {
  151.     float               x;
  152.     float               y;
  153.     float               z;
  154. } PEXCoord;
  155.  
  156. typedef struct {
  157.     float               x;
  158.     float               y;
  159. } PEXCoord2D;
  160.  
  161. typedef struct {
  162.     float               x;
  163.     float               y;
  164.     float               z;
  165.     float               w;
  166. } PEXCoord4D;
  167.  
  168. /* coordinate lists without data */
  169. typedef struct {
  170.     unsigned long       count;                  /* number of points */
  171.     PEXCoord2D          *points;
  172. } PEXListOfCoord2D;     /* Pointer to an array of 2D points */
  173.  
  174. typedef struct {
  175.     unsigned long       count;                  /* number of points */
  176.     PEXCoord            *points;
  177. } PEXListOfCoord;       /* Pointer to an array of 3D points */
  178.  
  179. typedef struct {
  180.     unsigned long       count;                  /* number of points */
  181.     PEXCoord4D          *points;
  182. } PEXListOfCoord4D;     /* Pointer to an array of 4D points */
  183.  
  184. typedef union {
  185.     PEXCoord2D          *point_2d;
  186.     PEXCoord            *point;
  187.     PEXCoord4D          *point_4d;
  188. } PEXArrayOfCoord;      /* Pointer to array of points */
  189.  
  190. /* colors */
  191. typedef struct {
  192.     float               red;
  193.     float               green;
  194.     float               blue;
  195. } PEXColorRGB;
  196.  
  197. typedef struct {
  198.     float               hue;
  199.     float               saturation;
  200.     float               value;
  201. } PEXColorHSV;
  202.  
  203. typedef struct {
  204.     float               hue;
  205.     float               lightness;
  206.     float               saturation;
  207. } PEXColorHLS;
  208.  
  209. typedef struct {
  210.     float               x;
  211.     float               y;
  212.     float               z;
  213. } PEXColorCIE;
  214.  
  215. typedef struct {
  216.     unsigned char       red;
  217.     unsigned char       green;
  218.     unsigned char       blue;
  219.     unsigned char       reserved;
  220. } PEXColorRGB8;
  221.  
  222. typedef struct {
  223.     unsigned short      red;
  224.     unsigned short      green;
  225.     unsigned short      blue;
  226.     unsigned short      reserved;
  227. } PEXColorRGB16;
  228.  
  229. typedef struct {
  230.     PEXTableIndex       index;
  231.     unsigned short      reserved;
  232. } PEXColorIndexed;
  233.  
  234. typedef union {
  235.     PEXColorIndexed     indexed;
  236.     PEXColorRGB         rgb;
  237.     PEXColorHSV         hsv;
  238.     PEXColorHLS         hls;
  239.     PEXColorCIE         cie;
  240.     PEXColorRGB8        rgb8;
  241.     PEXColorRGB16       rgb16;
  242. } PEXColor;
  243.  
  244. typedef union {
  245.     PEXColorIndexed     *indexed;
  246.     PEXColorRGB         *rgb;
  247.     PEXColorHSV         *hsv;
  248.     PEXColorHLS         *hls;
  249.     PEXColorCIE         *cie;
  250.     PEXColorRGB8        *rgb8;
  251.     PEXColorRGB16       *rgb16;
  252. } PEXArrayOfColor;
  253.  
  254. /* vectors */
  255. typedef struct {
  256.     float               x;
  257.     float               y;
  258.     float               z;
  259. } PEXVector;
  260.  
  261. typedef struct {
  262.     float               x;
  263.     float               y;
  264. } PEXVector2D;
  265.  
  266. /* facet data */
  267. typedef struct {
  268.     PEXColorIndexed     index;
  269.     PEXVector           normal;
  270. } PEXColorIndexedNormal;
  271.  
  272. typedef struct {
  273.     PEXColorRGB         rgb;
  274.     PEXVector           normal;
  275. } PEXColorRGBNormal;
  276.  
  277. typedef struct {
  278.     PEXColorCIE         cie;
  279.     PEXVector           normal;
  280. } PEXColorCIENormal;
  281.  
  282. typedef struct {
  283.     PEXColorHSV         hsv;
  284.     PEXVector           normal;
  285. } PEXColorHSVNormal;
  286.  
  287. typedef struct {
  288.     PEXColorHLS         hls;
  289.     PEXVector           normal;
  290. } PEXColorHLSNormal;
  291.  
  292. typedef struct {
  293.     PEXColorRGB8        rgb8;
  294.     PEXVector           normal;
  295. } PEXColorRGB8Normal;
  296.  
  297. typedef struct {
  298.     PEXColorRGB16       rgb16;
  299.     PEXVector           normal;
  300. } PEXColorRGB16Normal;
  301.  
  302. typedef union {
  303.     PEXColorIndexed     index;
  304.     PEXColorRGB         rgb;
  305.     PEXColorHSV         hsv;
  306.     PEXColorHLS         hls;
  307.     PEXColorCIE         cie;
  308.     PEXColorRGB8        rgb8;
  309.     PEXColorRGB16       rgb16;
  310.     PEXVector           normal;
  311.     PEXColorIndexedNormal index_normal;
  312.     PEXColorRGBNormal   rgb_normal;
  313.     PEXColorHSVNormal   hsv_normal;
  314.     PEXColorHLSNormal   hls_normal;
  315.     PEXColorCIENormal   cie_normal;
  316.     PEXColorRGB8Normal  rgb8_normal;
  317.     PEXColorRGB16Normal rgb16_normal;
  318. } PEXFacetData;
  319.  
  320. typedef union {
  321.     PEXColorIndexed     *index;
  322.     PEXColorRGB         *rgb;
  323.     PEXColorHSV         *hsv;
  324.     PEXColorHLS         *hls;
  325.     PEXColorCIE         *cie;
  326.     PEXColorRGB8        *rgb8;
  327.     PEXColorRGB16       *rgb16;
  328.     PEXVector           *normal;
  329.     PEXColorIndexedNormal *index_normal;
  330.     PEXColorRGBNormal   *rgb_normal;
  331.     PEXColorCIENormal   *cie_normal;
  332.     PEXColorHSVNormal   *hsv_normal;
  333.     PEXColorHLSNormal   *hls_normal;
  334.     PEXColorRGB8Normal  *rgb8_normal;
  335.     PEXColorRGB16Normal *rgb16_normal;
  336. } PEXArrayOfFacetData;
  337.  
  338. /* vertex data */
  339. typedef struct {
  340.     PEXCoord            point;
  341.     PEXColorIndexed     index;
  342. } PEXVertexIndexed;
  343.  
  344. typedef struct {
  345.     PEXCoord            point;
  346.     PEXColorRGB         rgb;
  347. } PEXVertexRGB;
  348.  
  349. typedef struct {
  350.     PEXCoord            point;
  351.     PEXColorHSV         hsv;
  352. } PEXVertexHSV;
  353.  
  354. typedef struct {
  355.     PEXCoord            point;
  356.     PEXColorHLS         hls;
  357. } PEXVertexHLS;
  358.  
  359. typedef struct {
  360.     PEXCoord            point;
  361.     PEXColorCIE         cie;
  362. } PEXVertexCIE;
  363.  
  364. typedef struct {
  365.     PEXCoord            point;
  366.     PEXColorRGB8        rgb8;
  367. } PEXVertexRGB8;
  368.  
  369. typedef struct {
  370.     PEXCoord            point;
  371.     PEXColorRGB16       rgb16;
  372. } PEXVertexRGB16;
  373.  
  374. typedef struct {
  375.     PEXCoord            point;
  376.     PEXVector           normal;
  377. } PEXVertexNormal;
  378.  
  379. typedef struct {
  380.     PEXCoord            point;
  381.     unsigned int        edge;
  382. } PEXVertexEdge;
  383.  
  384. typedef struct {
  385.     PEXCoord            point;
  386.     PEXColorIndexed     index;
  387.     PEXVector           normal;
  388. } PEXVertexIndexedNormal;
  389.  
  390. typedef struct {
  391.     PEXCoord            point;
  392.     PEXColorRGB         rgb;
  393.     PEXVector           normal;
  394. } PEXVertexRGBNormal;
  395.  
  396. typedef struct {
  397.     PEXCoord            point;
  398.     PEXColorHSV         hsv;
  399.     PEXVector           normal;
  400. } PEXVertexHSVNormal;
  401.  
  402. typedef struct {
  403.     PEXCoord            point;
  404.     PEXColorHLS         hls;
  405.     PEXVector           normal;
  406. } PEXVertexHLSNormal;
  407.  
  408. typedef struct {
  409.     PEXCoord            point;
  410.     PEXColorCIE         cie;
  411.     PEXVector           normal;
  412. } PEXVertexCIENormal;
  413.  
  414. typedef struct {
  415.     PEXCoord            point;
  416.     PEXColorRGB8        rgb8;
  417.     PEXVector           normal;
  418. } PEXVertexRGB8Normal;
  419.  
  420. typedef struct {
  421.     PEXCoord            point;
  422.     PEXColorRGB16       rgb16;
  423.     PEXVector           normal;
  424. } PEXVertexRGB16Normal;
  425.  
  426. typedef struct {
  427.     PEXCoord            point;
  428.     PEXColorIndexed     index;
  429.     unsigned int        edge;
  430. } PEXVertexIndexedEdge;
  431.  
  432. typedef struct {
  433.     PEXCoord            point;
  434.     PEXColorRGB         rgb;
  435.     unsigned int        edge;
  436. } PEXVertexRGBEdge;
  437.  
  438. typedef struct {
  439.     PEXCoord            point;
  440.     PEXColorHSV         hsv;
  441.     unsigned int        edge;
  442. } PEXVertexHSVEdge;
  443.  
  444. typedef struct {
  445.     PEXCoord            point;
  446.     PEXColorHLS         hls;
  447.     unsigned int        edge;
  448. } PEXVertexHLSEdge;
  449.  
  450. typedef struct {
  451.     PEXCoord            point;
  452.     PEXColorCIE         cie;
  453.     unsigned int        edge;
  454. } PEXVertexCIEEdge;
  455.  
  456. typedef struct {
  457.     PEXCoord            point;
  458.     PEXColorRGB8        rgb8;
  459.     unsigned int        edge;
  460. } PEXVertexRGB8Edge;
  461.  
  462. typedef struct {
  463.     PEXCoord            point;
  464.     PEXColorRGB16       rgb16;
  465.     unsigned int        edge;
  466. } PEXVertexRGB16Edge;
  467.  
  468. typedef struct {
  469.     PEXCoord            point;
  470.     PEXVector           normal;
  471.     unsigned int        edge;
  472. } PEXVertexNormalEdge;
  473.  
  474. typedef struct {
  475.     PEXCoord            point;
  476.     PEXColorIndexed     index;
  477.     PEXVector           normal;
  478.     unsigned int        edge;
  479. } PEXVertexIndexedNormalEdge;
  480.  
  481. typedef struct {
  482.     PEXCoord            point;
  483.     PEXColorRGB         rgb;
  484.     PEXVector           normal;
  485.     unsigned int        edge;
  486. } PEXVertexRGBNormalEdge;
  487.  
  488. typedef struct {
  489.     PEXCoord            point;
  490.     PEXColorHSV         hsv;
  491.     PEXVector           normal;
  492.     unsigned int        edge;
  493. } PEXVertexHSVNormalEdge;
  494.  
  495. typedef struct {
  496.     PEXCoord            point;
  497.     PEXColorHLS         hls;
  498.     PEXVector           normal;
  499.     unsigned int        edge;
  500. } PEXVertexHLSNormalEdge;
  501.  
  502. typedef struct {
  503.     PEXCoord            point;
  504.     PEXColorCIE         cie;
  505.     PEXVector           normal;
  506.     unsigned int        edge;
  507. } PEXVertexCIENormalEdge;
  508.  
  509. typedef struct {
  510.     PEXCoord            point;
  511.     PEXColorRGB8        rgb8;
  512.     PEXVector           normal;
  513.     unsigned int        edge;
  514. } PEXVertexRGB8NormalEdge;
  515.  
  516. typedef struct {
  517.     PEXCoord            point;
  518.     PEXColorRGB16       rgb16;
  519.     PEXVector           normal;
  520.     unsigned int        edge;
  521. } PEXVertexRGB16NormalEdge;
  522.  
  523. typedef union {
  524.     PEXCoord                    *no_data;
  525.     PEXVertexIndexed            *index;
  526.     PEXVertexRGB                *rgb;
  527.     PEXVertexHSV                *hsv;
  528.     PEXVertexHLS                *hls;
  529.     PEXVertexCIE                *cie;
  530.     PEXVertexRGB8               *rgb8;
  531.     PEXVertexRGB16              *rgb16;
  532.     PEXVertexNormal             *normal;
  533.     PEXVertexEdge               *edge;
  534.     PEXVertexIndexedNormal      *index_normal;
  535.     PEXVertexRGBNormal          *rgb_normal;
  536.     PEXVertexHSVNormal          *hsv_normal;
  537.     PEXVertexHLSNormal          *hls_normal;
  538.     PEXVertexCIENormal          *cie_normal;
  539.     PEXVertexRGB8Normal         *rgb8_normal;
  540.     PEXVertexRGB16Normal        *rgb16_normal;
  541.     PEXVertexIndexedEdge        *index_edge;
  542.     PEXVertexRGBEdge            *rgb_edge;
  543.     PEXVertexHSVEdge            *hsv_edge;
  544.     PEXVertexHLSEdge            *hls_edge;
  545.     PEXVertexCIEEdge            *cie_edge;
  546.     PEXVertexRGB8Edge           *rgb8_edge;
  547.     PEXVertexRGB16Edge          *rgb16_edge;
  548.     PEXVertexNormalEdge         *normal_edge;
  549.     PEXVertexIndexedNormalEdge  *index_normal_edge;
  550.     PEXVertexRGBNormalEdge      *rgb_normal_edge;
  551.     PEXVertexHSVNormalEdge      *hsv_normal_edge;
  552.     PEXVertexHLSNormalEdge      *hls_normal_edge;
  553.     PEXVertexCIENormalEdge      *cie_normal_edge;
  554.     PEXVertexRGB8NormalEdge     *rgb8_normal_edge;
  555.     PEXVertexRGB16NormalEdge    *rgb16_normal_edge;
  556. } PEXArrayOfVertex;
  557.  
  558. typedef struct {
  559.     unsigned long       count;                  /* number of vertices */
  560.     PEXArrayOfVertex    vertices;               /* pointer to vertices */
  561. } PEXListOfVertex;
  562.  
  563. /* connectivity list for set of fill area sets */
  564. typedef struct {
  565.     unsigned short      count;                  /* number of shorts */
  566.     unsigned short      *shorts;
  567. } PEXListOfUShort;
  568.  
  569. typedef struct {
  570.     unsigned short      count;                  /* number of lists */
  571.     PEXListOfUShort     *lists;
  572. } PEXConnectivityData;
  573.  
  574. /* encoded text */
  575. typedef struct {
  576.     unsigned short      character_set;
  577.     unsigned char       character_set_width;
  578.     unsigned char       encoding_state;
  579.     unsigned short      reserved;
  580.     unsigned short      length;
  581.     char                *ch;
  582. } PEXEncodedTextData;
  583.  
  584. typedef struct {
  585.     unsigned short      count;                  /* number of encodings */
  586.     PEXEncodedTextData  *encoded_text;
  587. } PEXListOfEncodedText;
  588.  
  589. /* trimming curves */
  590. typedef struct {
  591.     unsigned short      count;                  /* number of floats */
  592.     float               *floats;
  593. } PEXListOfFloat;
  594.  
  595. typedef struct {
  596.     PEXSwitch           visibility;
  597.     unsigned char       reserved;
  598.     unsigned short      order;
  599.     PEXCoordType        rationality;
  600.     PEXEnumTypeIndex    approx_method;
  601.     float               tolerance;
  602.     float               tmin, tmax;
  603.     PEXListOfFloat      knots;
  604.     unsigned short      count;                  /* number of control points */
  605.     PEXArrayOfCoord     control_points;
  606. } PEXTrimCurve;
  607.  
  608. typedef struct {
  609.     unsigned short      count;                  /* number of curves */
  610.     PEXTrimCurve        *curves;
  611. } PEXListOfTrimCurve;
  612.  
  613. /* half spaces */
  614. typedef struct {
  615.     PEXCoord            point;
  616.     PEXVector           vector;
  617. } PEXHalfSpace;
  618.  
  619. typedef struct {
  620.     PEXCoord2D          point;
  621.     PEXVector2D         vector;
  622. } PEXHalfSpace2D;
  623.  
  624. /* parametric surface characteristics */
  625. typedef struct {
  626.     unsigned short      placement_type;
  627.     unsigned short      reserved;
  628.     unsigned short      u_count;
  629.     unsigned short      v_count;
  630. } PEXPSCIsoparametricCurves;
  631.  
  632. typedef struct {
  633.     PEXCoord            origin;
  634.     PEXVector           direction;
  635.     unsigned short      count;                  /* number of parameters */
  636.     unsigned short      reserved;
  637.     float               *parameters;
  638. } PEXPSCLevelCurves;
  639.  
  640. typedef struct {
  641.     unsigned short      length;
  642.     char                *data;
  643. } PEXPSCImpDepData;
  644.  
  645. typedef union {
  646.     PEXPSCIsoparametricCurves iso_curves;
  647.     PEXPSCLevelCurves       level_curves;
  648.     PEXPSCImpDepData        imp_dep;
  649. } PEXPSCData;
  650.  
  651.  
  652. /*
  653.  * pipeline context
  654.  */
  655. typedef struct {
  656.     PEXColorType        type;
  657.     unsigned short      reserved;
  658.     PEXColor            value;
  659. } PEXColorSpecifier;
  660.  
  661. typedef struct {
  662.     unsigned short      vertical;
  663.     unsigned short      horizontal;
  664. } PEXTextAlignment;
  665.  
  666. typedef struct {
  667.     PEXEnumTypeIndex    method;
  668.     unsigned short      reserved;
  669.     float               tolerance;
  670. } PEXCurveApprox;
  671.  
  672. typedef struct {
  673.     float               ambient;
  674.     float               diffuse;
  675.     float               specular;
  676.     float               specular_conc;
  677.     float               transmission;
  678.     PEXColorSpecifier   specular_color;
  679. } PEXReflectionAttributes;
  680.  
  681. typedef struct {
  682.     PEXEnumTypeIndex    method;
  683.     unsigned short      reserved;
  684.     float               u_tolerance;
  685.     float               v_tolerance;
  686. } PEXSurfaceApprox;
  687.  
  688. typedef struct {
  689.     unsigned short      count;                  /* number of half spaces */
  690.     PEXHalfSpace        *half_spaces;
  691. } PEXModelClipVolume;
  692.  
  693. typedef struct {
  694.     unsigned short      count;                  /* number of lights */
  695.     PEXTableIndex       *indices;
  696. } PEXListOfLight;
  697.  
  698. typedef struct {
  699.     short               type;
  700.     PEXPSCData          psc;
  701. } PEXPSCSpecifier;
  702.  
  703. typedef struct {
  704.     PEXEnumTypeIndex    marker_type;
  705.     float               marker_scale;
  706.     PEXColorSpecifier   marker_color;
  707.     PEXTableIndex       marker_bundle_index;
  708.     PEXTableIndex       text_font;
  709.     unsigned short      text_precision;
  710.     float               char_expansion;
  711.     float               char_spacing;
  712.     PEXColorSpecifier   text_color;
  713.     float               char_height;
  714.     PEXVector2D         char_up_vector;
  715.     unsigned short      text_path;
  716.     PEXTextAlignment    text_alignment;
  717.     float               atext_height;
  718.     PEXVector2D         atext_up_vector;
  719.     unsigned short      atext_path;
  720.     PEXTextAlignment    atext_alignment;
  721.     PEXEnumTypeIndex    atext_style;
  722.     PEXTableIndex       text_bundle_index;
  723.     PEXEnumTypeIndex    line_type;
  724.     float               line_width;
  725.     PEXColorSpecifier   line_color;
  726.     PEXCurveApprox      curve_approx;
  727.     PEXEnumTypeIndex    polyline_interp;
  728.     PEXTableIndex       line_bundle_index;
  729.     PEXEnumTypeIndex    interior_style;
  730.     PEXTypeOrTableIndex interior_style_index;
  731.     PEXColorSpecifier   surface_color;
  732.     PEXReflectionAttributes   reflection_attr;
  733.     PEXEnumTypeIndex    reflection_model;
  734.     PEXEnumTypeIndex    surface_interp;
  735.     PEXEnumTypeIndex    bf_interior_style;
  736.     PEXTypeOrTableIndex bf_interior_style_index;
  737.     PEXColorSpecifier   bf_surface_color;
  738.     PEXReflectionAttributes   bf_reflection_attr;
  739.     PEXEnumTypeIndex    bf_reflection_model;
  740.     PEXEnumTypeIndex    bf_surface_interp;
  741.     PEXSurfaceApprox    surface_approx;
  742.     unsigned short      culling_mode;
  743.     Bool                distinguish;
  744.     PEXCoord2D          pattern_size;
  745.     PEXCoord            pattern_ref_point;
  746.     PEXVector           pattern_ref_vec1;
  747.     PEXVector           pattern_ref_vec2;
  748.     PEXTableIndex       interior_bundle_index;
  749.     PEXSwitch           surface_edges;
  750.     PEXEnumTypeIndex    surface_edge_type;
  751.     float               surface_edge_width;
  752.     PEXColorSpecifier   surface_edge_color;
  753.     PEXTableIndex       edge_bundle_index;
  754.     PEXMatrix           local_transform;
  755.     PEXMatrix           global_transform;
  756.     unsigned short      model_clip;
  757.     PEXModelClipVolume  model_clip_volume;
  758.     PEXTableIndex       view_index;
  759.     PEXListOfLight      light_state;
  760.     PEXTableIndex       depth_cue_index;
  761.     PEXBitmask          asf_enables;
  762.     PEXBitmask          asf_values;
  763.     long                pick_id;
  764.     unsigned long       hlhsr_id;
  765.     PEXNameSet          name_set;
  766.     PEXTableIndex       color_approx_index;
  767.     PEXEnumTypeIndex    rendering_color_model;
  768.     PEXPSCSpecifier     para_surf_char;
  769. } PEXPCAttributes;
  770.  
  771. /* macros for setting bits in a PC attribute bitmask */
  772.  
  773. #define PEXSetPCAttributeMask(mask, attr) \
  774.     mask[((attr)) >> 5] |= (unsigned long) 1 << ( ((attr)) & 0x1f)
  775.  
  776. #define PEXSetPCAttributeMaskAll(mask) \
  777.     mask[0] = 0xffffffff;              \
  778.     mask[1] = 0xffffffff;              \
  779.     mask[2] = 0x0
  780.  
  781.  
  782. /*
  783.  * renderer
  784.  */
  785. typedef struct {
  786.     short               xmin;
  787.     short               ymin;
  788.     short               xmax;
  789.     short               ymax;
  790. } PEXDeviceRect;
  791.  
  792. typedef struct {
  793.     unsigned short      count;          /* number of device rectangles */
  794.     PEXDeviceRect       *rectangles;
  795. } PEXListOfClipRect;
  796.  
  797. typedef struct {
  798.     PEXCoord            min;
  799.     PEXCoord            max;
  800. } PEXNPCSubVolume;
  801.  
  802. typedef struct {
  803.     short               x;
  804.     short               y;
  805.     float               z;
  806. } PEXDeviceCoord;
  807.  
  808. typedef struct {
  809.     short               x;
  810.     short               y;
  811. } PEXDeviceCoord2D;
  812.  
  813. typedef struct {
  814.     PEXDeviceCoord      min;
  815.     PEXDeviceCoord      max;
  816.     PEXSwitch           use_drawable;
  817.     unsigned char       reserved[3];
  818. } PEXViewport;
  819.  
  820. typedef struct {
  821.     PEXStructure        structure;
  822.     unsigned long       offset;
  823. } PEXElementRef;
  824.  
  825. typedef struct {
  826.     unsigned long       count;                  /* number of elements */
  827.     PEXElementRef       *elements;
  828. } PEXStructurePath;
  829.  
  830. typedef struct {
  831.     PEXStructure        sid;
  832.     unsigned long       offset;
  833.     unsigned long       pick_id;
  834. } PEXPickElementRef;
  835.  
  836. typedef struct {
  837.     unsigned long       count;                  /* number of elements */
  838.     PEXPickElementRef   *elements;
  839. } PEXPickPath;
  840.  
  841. typedef struct {
  842.     PEXPipelineContext  pipeline_context;
  843.     PEXStructurePath    current_path;
  844.     PEXLookupTable      marker_bundle;
  845.     PEXLookupTable      text_bundle;
  846.     PEXLookupTable      line_bundle;
  847.     PEXLookupTable      interior_bundle;
  848.     PEXLookupTable      edge_bundle;
  849.     PEXLookupTable      view_table;
  850.     PEXLookupTable      color_table;
  851.     PEXLookupTable      depth_cue_table;
  852.     PEXLookupTable      light_table;
  853.     PEXLookupTable      color_approx_table;
  854.     PEXLookupTable      pattern_table;
  855.     PEXLookupTable      text_font_table;
  856.     PEXNameSet          highlight_incl;
  857.     PEXNameSet          highlight_excl;
  858.     PEXNameSet          invisibility_incl;
  859.     PEXNameSet          invisibility_excl;
  860.     int                 renderer_state;
  861.     PEXEnumTypeIndex    hlhsr_mode;
  862.     PEXNPCSubVolume     npc_subvolume;
  863.     PEXViewport         viewport;
  864.     PEXListOfClipRect   clip_list;
  865.     PEXNameSet          pick_incl;
  866.     PEXNameSet          pick_excl;
  867.     PEXStructurePath    pick_start_path;
  868.     PEXColorSpecifier   background_color;
  869.     Bool                clear_image;
  870.     Bool                clear_z;
  871.     int                 echo_mode;
  872. } PEXRendererAttributes;
  873.  
  874. /* renderer picking */
  875. typedef PEXNPCSubVolume PEXPDNPCHitVolume;
  876.  
  877. typedef struct {
  878.     PEXDeviceCoord2D    position;
  879.     float               distance;
  880. } PEXPDDCHitBox;
  881.  
  882. typedef struct {
  883.     unsigned short      length;                 /* number of bytes in record */
  884.     char                *record;
  885. } PEXPickDataRecord;
  886.  
  887. typedef union {
  888.     PEXPDNPCHitVolume       volume;
  889.     PEXPDDCHitBox           box;
  890.     PEXPickDataRecord       data;
  891. } PEXPickRecord;
  892.  
  893.  
  894. /*
  895.  * name set
  896.  */
  897. typedef struct {
  898.     PEXNameSet          inclusion;
  899.     PEXNameSet          exclusion;
  900. } PEXNameSetPair;
  901.  
  902. typedef struct {
  903.     unsigned short      count;                  /* number of pairs */
  904.     PEXNameSetPair      *pairs;
  905. } PEXListOfNameSetPair;
  906.  
  907.  
  908. /*
  909.  * font
  910.  */
  911. typedef struct {
  912.     Atom                name;
  913.     unsigned long       value;
  914. } PEXFontProp;
  915.  
  916. typedef struct {
  917.     unsigned long       first_glyph;
  918.     unsigned long       last_glyph;
  919.     unsigned long       default_glyph;
  920.     Bool                all_exist;
  921.     Bool                stroke;
  922.     unsigned short      count;                  /* number of properties */
  923.     PEXFontProp         *props;
  924. } PEXFontInfo;
  925.  
  926. typedef struct {
  927.     unsigned short      length;
  928.     char                *ch;
  929. } PEXStringData;
  930.  
  931. typedef struct {
  932.     PEXCoord2D          lower_left;
  933.     PEXCoord2D          upper_right;
  934.     PEXCoord2D          concat_point;
  935. } PEXTextExtent;
  936.  
  937.  
  938. /*
  939.  * look up table
  940.  */
  941. typedef struct {
  942.     unsigned short      definable_entries;
  943.     unsigned short      predefined_count;
  944.     unsigned short      predefined_min;
  945.     unsigned short      predefined_max;
  946. } PEXTableInfo;
  947.  
  948. typedef struct {
  949.     PEXEnumTypeIndex    type;
  950.     PEXEnumTypeIndex    interp_method;
  951.     PEXCurveApprox      curve_approx;
  952.     float               width;
  953.     PEXColorSpecifier   color;
  954. } PEXLineBundleEntry;
  955.  
  956. typedef struct {
  957.     PEXEnumTypeIndex    type;
  958.     short               reserved;
  959.     float               scale;
  960.     PEXColorSpecifier   color;
  961. } PEXMarkerBundleEntry;
  962.  
  963. typedef struct {
  964.     PEXTableIndex       font_index;
  965.     PEXEnumTypeIndex    precision;
  966.     float               char_expansion;
  967.     float               char_spacing;
  968.     PEXColorSpecifier   color;
  969. } PEXTextBundleEntry;
  970.  
  971. typedef struct {
  972.     PEXEnumTypeIndex    style;
  973.     PEXTypeOrTableIndex style_index;
  974.     PEXEnumTypeIndex    reflection_model;
  975.     PEXEnumTypeIndex    interp_method;
  976.     PEXEnumTypeIndex    bf_style;
  977.     PEXTypeOrTableIndex bf_style_index;
  978.     PEXEnumTypeIndex    bf_reflection_model;
  979.     PEXEnumTypeIndex    bf_interp_method;
  980.     PEXSurfaceApprox    surface_approx;
  981.     PEXColorSpecifier   color;
  982.     PEXReflectionAttributes   reflection_attr;
  983.     PEXColorSpecifier   bf_color;
  984.     PEXReflectionAttributes   bf_reflection_attr;
  985. } PEXInteriorBundleEntry;
  986.  
  987. typedef struct {
  988.     PEXSwitch           edge_flag;
  989.     unsigned char       reserved;
  990.     PEXEnumTypeIndex    type;
  991.     float               width;
  992.     PEXColorSpecifier   color;
  993. } PEXEdgeBundleEntry;
  994.  
  995. typedef struct {
  996.     PEXColorType        color_type;
  997.     unsigned short      row_count;
  998.     unsigned short      col_count;
  999.     PEXArrayOfColor     colors;  /* pointer to 2D array of colors */
  1000. } PEXPatternEntry;
  1001.  
  1002. typedef PEXColorSpecifier       PEXColorEntry;
  1003.  
  1004. typedef struct {
  1005.     unsigned short      count;          /* number of fonts */
  1006.     PEXFont             *fonts;
  1007. } PEXTextFontEntry;
  1008.  
  1009. typedef struct {
  1010.     PEXEnumTypeIndex    type;
  1011.     unsigned short      reserved;
  1012.     PEXVector           direction;
  1013.     PEXCoord            point;
  1014.     float               concentration;
  1015.     float               spread_angle;
  1016.     float               attenuation1;
  1017.     float               attenuation2;
  1018.     PEXColorSpecifier   color;
  1019. } PEXLightEntry;
  1020.  
  1021. typedef struct {
  1022.     PEXSwitch           mode;
  1023.     unsigned char       reserved[3];
  1024.     float               front_plane;
  1025.     float               back_plane;
  1026.     float               front_scaling;
  1027.     float               back_scaling;
  1028.     PEXColorSpecifier   color;
  1029. } PEXDepthCueEntry;
  1030.  
  1031. typedef struct {
  1032.     PEXEnumTypeIndex    type;
  1033.     PEXEnumTypeIndex    model;
  1034.     unsigned short      max1;
  1035.     unsigned short      max2;
  1036.     unsigned short      max3;
  1037.     PEXSwitch           dither;
  1038.     unsigned char       reserved;
  1039.     unsigned long       mult1;
  1040.     unsigned long       mult2;
  1041.     unsigned long       mult3;
  1042.     float               weight1;
  1043.     float               weight2;
  1044.     float               weight3;
  1045.     unsigned long       base_pixel;
  1046. } PEXColorApproxEntry;
  1047.  
  1048. typedef struct { 
  1049.     unsigned short      clip_flags;
  1050.     unsigned short      reserved;
  1051.     PEXNPCSubVolume     clip_limits;
  1052.     PEXMatrix           orientation;
  1053.     PEXMatrix           mapping;
  1054. } PEXViewEntry;
  1055.  
  1056.  
  1057. /*
  1058.  * structure
  1059.  */
  1060. typedef struct {
  1061.     unsigned long       element_count;
  1062.     unsigned long       size;
  1063.     Bool                has_refs;
  1064.     unsigned short      edit_mode;
  1065.     unsigned long       element_pointer;
  1066. } PEXStructureInfo;
  1067.  
  1068. typedef struct {
  1069.     unsigned short      type;
  1070.     unsigned short      length;
  1071. } PEXElementInfo;
  1072.  
  1073.  
  1074. /*
  1075.  * search context
  1076.  */
  1077. typedef struct {
  1078.     PEXCoord            position;
  1079.     float               distance;
  1080.     unsigned short      ceiling;
  1081.     Bool                model_clip_flag;
  1082.     PEXStructurePath    start_path;
  1083.     PEXListOfNameSetPair normal;
  1084.     PEXListOfNameSetPair inverted;
  1085. } PEXSCAttributes;
  1086.  
  1087.  
  1088. /*
  1089.  * PHIGS workstation
  1090.  */
  1091. typedef struct {
  1092.     PEXTableIndex       index;
  1093.     unsigned short      reserved;
  1094.     PEXViewEntry        view;
  1095. } PEXViewRep;
  1096.  
  1097. typedef struct {
  1098.     unsigned short      count;                  /* number of views */
  1099.     PEXTableIndex       *views;
  1100. } PEXListOfView;
  1101.  
  1102. typedef struct {
  1103.     PEXStructure        sid;
  1104.     float               priority;
  1105. } PEXPostedStructure;
  1106.  
  1107. typedef struct {
  1108.     unsigned long       count;                  /* number of posted structures*/
  1109.     PEXPostedStructure  *structures;
  1110. } PEXListOfPostedStructure;
  1111.  
  1112. typedef struct {
  1113.     short               drawable_update;
  1114.     int                 visual_state;
  1115.     int                 drawable_surface;
  1116.     int                 view_update;
  1117.     PEXListOfView       defined_views;
  1118.     int                 wks_update;
  1119.     PEXNPCSubVolume     req_npc_subvolume;
  1120.     PEXNPCSubVolume     cur_npc_subvolume;
  1121.     PEXViewport         req_workstation_viewport;
  1122.     PEXViewport         cur_workstation_viewport;
  1123.     int                 hlhsr_update;
  1124.     PEXEnumTypeIndex    req_hlhsr_mode;
  1125.     PEXEnumTypeIndex    cur_hlhsr_mode;
  1126.     Drawable            drawable;
  1127.     PEXLookupTable      marker_bundle;
  1128.     PEXLookupTable      text_bundle;
  1129.     PEXLookupTable      line_bundle;
  1130.     PEXLookupTable      interior_bundle;
  1131.     PEXLookupTable      edge_bundle;
  1132.     PEXLookupTable      color_table;
  1133.     PEXLookupTable      depth_cue_table;
  1134.     PEXLookupTable      light_table;
  1135.     PEXLookupTable      color_approx_table;
  1136.     PEXLookupTable      pattern_table;
  1137.     PEXLookupTable      text_font_table;
  1138.     PEXNameSet          highlight_incl;
  1139.     PEXNameSet          highlight_excl;
  1140.     PEXNameSet          invisibility_incl;
  1141.     PEXNameSet          invisibility_excl;
  1142.     PEXListOfPostedStructure posted_structures;
  1143.     unsigned long       count_priorities;
  1144.     int                 buffer_update;
  1145.     int                 req_buffer_mode;
  1146.     int                 cur_buffer_mode;
  1147. } PEXWorkstationAttributes;
  1148.  
  1149. /* macros for setting bits in a workstation attribute bitmask */
  1150.  
  1151. #define PEXSetPWAttributeMask(mask, attr) \
  1152.     mask[((attr)) >> 5] |= (unsigned long) 1 << ( ((attr)) & 0x1f)
  1153.  
  1154. #define PEXSetPWAttributeMaskAll(mask) \
  1155.     mask[0] = 0xffffffff;              \
  1156.     mask[1] = 0x00000003
  1157.  
  1158. typedef struct {
  1159.     unsigned char       view_rep;
  1160.     unsigned char       marker_bundle;
  1161.     unsigned char       text_bundle;
  1162.     unsigned char       line_bundle;
  1163.     unsigned char       interior_bundle;
  1164.     unsigned char       edge_bundle;
  1165.     unsigned char       color_table;
  1166.     unsigned char       pattern_table;
  1167.     unsigned char       wks_transform;
  1168.     unsigned char       highlight_filter;
  1169.     unsigned char       invisibility_filter;
  1170.     unsigned char       hlhsr_mode;
  1171.     unsigned char       structure_modify;
  1172.     unsigned char       post_structure;
  1173.     unsigned char       unpost_structure;
  1174.     unsigned char       delete_structure;
  1175.     unsigned char       reference_modify;
  1176.     unsigned char       buffer_modify;
  1177.     unsigned char       light_table;
  1178.     unsigned char       depth_cue_table;
  1179.     unsigned char       color_approx_table;
  1180. } PEXWorkstationDynamics;
  1181.  
  1182.  
  1183. /*
  1184.  * workstation picking
  1185.  */
  1186. typedef struct {
  1187.     unsigned short      status;
  1188.     PEXPickPath         pick_path;
  1189. } PEXPMAttributes;
  1190.  
  1191. typedef struct {
  1192.     unsigned short      status;
  1193.     PEXPickPath         path;
  1194.     int                 path_order;
  1195.     PEXNameSet          inclusion;
  1196.     PEXNameSet          exclusion;
  1197.     PEXPickRecord       pick_record;
  1198.     PEXEnumTypeIndex    prompt_echo_type;
  1199.     PEXViewport         echo_volume;
  1200.     int                 echo_switch;
  1201. } PEXPDAttributes;
  1202.  
  1203.  
  1204. /*
  1205.  * errors
  1206.  */
  1207. /* similar to XErrorEvent - use to access additional info in OC error */
  1208. typedef struct {
  1209.     int             type;
  1210.     Display         *display;      /* Display the event was read from */
  1211.     XID             resourceid;    /* resource id of renderer or structure */
  1212.     unsigned long   serial;        /* serial number of failed request */
  1213.     unsigned char   error_code;    /* error code of failed request */
  1214.     unsigned char   request_code;  /* Major op-code of failed request */
  1215.     unsigned char   minor_code;    /* Minor op-code of failed request */
  1216.     unsigned short  op_code;       /* op-code of failed output command */
  1217.     unsigned short  count;         /* number of output commands successfully */
  1218.                                    /* executed before error */
  1219. } PEXOCErrorEvent;
  1220.  
  1221.  
  1222. /*
  1223.  * events
  1224.  */
  1225. typedef struct {
  1226.     int             type;
  1227.     unsigned long   serial;     /* # of last request processed by server */
  1228.     Bool            send_event; /* true if this came from a SendEvent request */
  1229.     Display         *display;   /* Display the event was read from */
  1230.     PEXRenderer     renderer;
  1231. } PEXMaxHitsReachedEvent;
  1232.  
  1233.  
  1234. /*
  1235.  * encode and decode
  1236.  */
  1237. typedef struct {
  1238.     unsigned short oc_type;
  1239.     union {
  1240.         struct {
  1241.             unsigned long count;
  1242.             PEXName *names;
  1243.         } AddToNameSet;
  1244.         struct {
  1245.             int length;
  1246.             char *data;
  1247.         } ApplicationData;
  1248.         struct {
  1249.             PEXCoord point1;
  1250.             PEXCoord point2;
  1251.             PEXCoord point3;
  1252.             unsigned int col_count;
  1253.             unsigned int row_count;
  1254.             PEXTableIndex *color_indices;
  1255.         } CellArray;
  1256.         struct {
  1257.             PEXCoord2D point1;
  1258.             PEXCoord2D point2;
  1259.             unsigned int col_count;
  1260.             unsigned int row_count;
  1261.             PEXTableIndex *color_indices;
  1262.         } CellArray2D;
  1263.         struct {
  1264.             PEXCoord origin;
  1265.             PEXCoord offset;
  1266.             unsigned int count;
  1267.             PEXEncodedTextData *encoded_text;
  1268.         } EncodedAnnoText;
  1269.         struct {
  1270.             PEXCoord2D origin;
  1271.             PEXCoord2D offset;
  1272.             unsigned int count;
  1273.             PEXEncodedTextData *encoded_text;
  1274.         } EncodedAnnoText2D;
  1275.         struct {
  1276.             PEXCoord origin;
  1277.             PEXVector vector1;
  1278.             PEXVector vector2;
  1279.             unsigned int count;
  1280.             PEXEncodedTextData *encoded_text;
  1281.         } EncodedText;
  1282.         struct {
  1283.             PEXCoord2D origin;
  1284.             unsigned int count;
  1285.             PEXEncodedTextData *encoded_text;
  1286.         } EncodedText2D;
  1287.         struct {
  1288.             PEXStructure structure;
  1289.         } ExecuteStructure;
  1290.         struct {
  1291.             PEXCoord point1;
  1292.             PEXCoord point2;
  1293.             PEXCoord point3;
  1294.             unsigned int col_count;
  1295.             unsigned int row_count;
  1296.             int color_type;
  1297.             PEXArrayOfColor colors;
  1298.         } ExtendedCellArray;
  1299.         struct {
  1300.             int shape_hint;
  1301.             int ignore_edges;
  1302.             unsigned int count;
  1303.             PEXCoord *points;
  1304.         } FillArea;
  1305.         struct {
  1306.             int shape_hint;
  1307.             int ignore_edges;
  1308.             unsigned int count;
  1309.             PEXCoord2D *points;
  1310.         } FillArea2D;
  1311.         struct {
  1312.             int shape_hint;
  1313.             int ignore_edges;
  1314.             int contour_hint;
  1315.             unsigned int count;
  1316.             PEXListOfCoord *point_lists;
  1317.         } FillAreaSet;
  1318.         struct {
  1319.             int shape_hint;
  1320.             int ignore_edges;
  1321.             int contour_hint;
  1322.             unsigned int count;
  1323.             PEXListOfCoord2D *point_lists;
  1324.         } FillAreaSet2D;
  1325.         struct {
  1326.             int shape_hint;
  1327.             int ignore_edges;
  1328.             int contour_hint;
  1329.             unsigned int facet_attributes;
  1330.             unsigned int vertex_attributes;
  1331.             int color_type;
  1332.             unsigned int count;
  1333.             PEXFacetData facet_data;
  1334.             PEXListOfVertex *vertex_lists;
  1335.         } FillAreaSetWithData;
  1336.         struct {
  1337.             int shape_hint;
  1338.             int ignore_edges;
  1339.             unsigned int facet_attributes;
  1340.             unsigned int vertex_attributes;
  1341.             int color_type;
  1342.             PEXFacetData facet_data;
  1343.             unsigned int count;
  1344.             PEXArrayOfVertex vertices;
  1345.         } FillAreaWithData;
  1346.         struct {
  1347.             long gdp_id;
  1348.             unsigned int count;
  1349.             PEXCoord *points;
  1350.             unsigned long length;
  1351.             char *data;
  1352.         } GDP;
  1353.         struct {
  1354.             long gdp_id;
  1355.             unsigned int count;
  1356.             PEXCoord2D *points;
  1357.             unsigned long length;
  1358.             char *data;
  1359.         } GDP2D;
  1360.         struct {
  1361.             long id;
  1362.             int length;
  1363.             char *data;
  1364.         } GSE;
  1365.         struct {
  1366.             long label;
  1367.         } Label;
  1368.         struct {
  1369.             unsigned int count;
  1370.             PEXCoord *points;
  1371.         } Markers;
  1372.         struct {
  1373.             unsigned int count;
  1374.             PEXCoord2D *points;
  1375.         } Markers2D;
  1376.         struct {
  1377.             int rationality;
  1378.             int order;
  1379.             float *knots;
  1380.             unsigned int count;
  1381.             PEXArrayOfCoord points;
  1382.             double tmin;
  1383.             double tmax;
  1384.         } NURBCurve;
  1385.         struct {
  1386.             int rationality;
  1387.             int uorder;
  1388.             int vorder;
  1389.             float *uknots;
  1390.             float *vknots;
  1391.             unsigned int col_count;
  1392.             unsigned int row_count;
  1393.             PEXArrayOfCoord points;
  1394.             unsigned int curve_count;
  1395.             PEXListOfTrimCurve *trim_curves;
  1396.         } NURBSurface;
  1397.         struct {
  1398.             unsigned int count;
  1399.             PEXCoord *points;
  1400.         } Polyline;
  1401.         struct {
  1402.             unsigned int count;
  1403.             PEXCoord2D *points;
  1404.         } Polyline2D;
  1405.         struct {
  1406.             unsigned int vertex_attributes;
  1407.             int color_type;
  1408.             unsigned int count;
  1409.             PEXListOfVertex *vertex_lists;
  1410.         } PolylineSetWithData;
  1411.         struct {
  1412.             int shape_hint;
  1413.             unsigned int facet_attributes;
  1414.             unsigned int vertex_attributes;
  1415.             int color_type;
  1416.             PEXArrayOfFacetData facet_data;
  1417.             unsigned int col_count;
  1418.             unsigned int row_count;
  1419.             PEXArrayOfVertex vertices;
  1420.         } QuadrilateralMesh;
  1421.         struct {
  1422.             unsigned long count;
  1423.             PEXName *names;
  1424.         } RemoveFromNameSet;
  1425.         struct {
  1426.             int halignment;
  1427.             int valignment;
  1428.         } SetATextAlignment;
  1429.         struct {
  1430.             double height;
  1431.         } SetATextHeight;
  1432.         struct {
  1433.             int path;
  1434.         } SetATextPath;
  1435.         struct {
  1436.             int style;
  1437.         } SetATextStyle;
  1438.         struct {
  1439.             PEXVector2D vector;
  1440.         } SetATextUpVector;
  1441.         struct {
  1442.             int style;
  1443.         } SetBFInteriorStyle;
  1444.         struct {
  1445.             int index;
  1446.         } SetBFInteriorStyleIndex;
  1447.         struct {
  1448.             PEXReflectionAttributes attributes;
  1449.         } SetBFReflectionAttributes;
  1450.         struct {
  1451.             int model;
  1452.         } SetBFReflectionModel;
  1453.         struct {
  1454.             int color_type;
  1455.             PEXColor color;
  1456.         } SetBFSurfaceColor;
  1457.         struct {
  1458.             unsigned int index;
  1459.         } SetBFSurfaceColorIndex;
  1460.         struct {
  1461.             int method;
  1462.         } SetBFSurfaceInterpMethod;
  1463.         struct {
  1464.             double expansion;
  1465.         } SetCharExpansion;
  1466.         struct {
  1467.             double height;
  1468.         } SetCharHeight;
  1469.         struct {
  1470.             double spacing;
  1471.         } SetCharSpacing;
  1472.         struct {
  1473.             PEXVector2D vector;
  1474.         } SetCharUpVector;
  1475.         struct {
  1476.             unsigned int index;
  1477.         } SetColorApproxIndex;
  1478.         struct {
  1479.             int method;
  1480.             double tolerance;
  1481.         } SetCurveApprox;
  1482.         struct {
  1483.             unsigned int index;
  1484.         } SetDepthCueIndex;
  1485.         struct {
  1486.             unsigned int index;
  1487.         } SetEdgeBundleIndex;
  1488.         struct {
  1489.             int mode;
  1490.         } SetFacetCullingMode;
  1491.         struct {
  1492.             int flag;
  1493.         } SetFacetDistinguishFlag;
  1494.         struct {
  1495.             PEXMatrix transform;
  1496.         } SetGlobalTransform;
  1497.         struct {
  1498.             PEXMatrix3x3 transform;
  1499.         } SetGlobalTransform2D;
  1500.         struct {
  1501.             unsigned long hlhsr_id;
  1502.         } SetHLHSRID;
  1503.         struct {
  1504.             unsigned long attribute;
  1505.             int asf;
  1506.         } SetIndividualASF;
  1507.         struct {
  1508.             unsigned int index;
  1509.         } SetInteriorBundleIndex;
  1510.         struct {
  1511.             int style;
  1512.         } SetInteriorStyle;
  1513.         struct {
  1514.             int index;
  1515.         } SetInteriorStyleIndex;
  1516.         struct {
  1517.             unsigned int enable_count;
  1518.             PEXTableIndex *enable;
  1519.             unsigned int disable_count;
  1520.             PEXTableIndex *disable;
  1521.         } SetLightSourceState;
  1522.         struct {
  1523.             unsigned int index;
  1524.         } SetLineBundleIndex;
  1525.         struct {
  1526.             int color_type;
  1527.             PEXColor color;
  1528.         } SetLineColor;
  1529.         struct {
  1530.             unsigned int index;
  1531.         } SetLineColorIndex;
  1532.         struct {
  1533.             int line_type;
  1534.         } SetLineType;
  1535.         struct {
  1536.             double width;
  1537.         } SetLineWidth;
  1538.         struct {
  1539.             int composition;
  1540.             PEXMatrix transform;
  1541.         } SetLocalTransform;
  1542.         struct {
  1543.             int composition;
  1544.             PEXMatrix3x3 transform;
  1545.         } SetLocalTransform2D;
  1546.         struct {
  1547.             unsigned int index;
  1548.         } SetMarkerBundleIndex;
  1549.         struct {
  1550.             int color_type;
  1551.             PEXColor color;
  1552.         } SetMarkerColor;
  1553.         struct {
  1554.             unsigned int index;
  1555.         } SetMarkerColorIndex;
  1556.         struct {
  1557.             double scale;
  1558.         } SetMarkerScale;
  1559.         struct {
  1560.             int marker_type;
  1561.         } SetMarkerType;
  1562.         struct {
  1563.             int flag;
  1564.         } SetModelClipFlag;
  1565.         struct {
  1566.             int op;
  1567.             unsigned int count;
  1568.             PEXHalfSpace *half_spaces;
  1569.         } SetModelClipVolume;
  1570.         struct {
  1571.             int op;
  1572.             unsigned int count;
  1573.             PEXHalfSpace2D *half_spaces;
  1574.         } SetModelClipVolume2D;
  1575.         struct {
  1576.             int shape_hint;
  1577.             unsigned int facet_attributes;
  1578.             unsigned int vertex_attributes;
  1579.             unsigned int edge_attributes;
  1580.             int contour_hint;
  1581.             int contours_all_one;
  1582.             int color_type;
  1583.             unsigned int set_count;
  1584.             PEXArrayOfFacetData facet_data;
  1585.             unsigned int vertex_count;
  1586.             PEXArrayOfVertex vertices;
  1587.             unsigned int index_count;
  1588.             PEXSwitch *edge_flags;
  1589.             PEXConnectivityData *connectivity;
  1590.         } SetOfFillAreaSets;
  1591.         struct {
  1592.             int psc_type;
  1593.             PEXPSCData characteristics;
  1594.         } SetParaSurfCharacteristics;
  1595.         struct {
  1596.             PEXCoord ref_point;
  1597.             PEXVector vector1;
  1598.             PEXVector vector2;
  1599.         } SetPatternAttributes;
  1600.         struct {
  1601.             PEXCoord2D ref_point;
  1602.         } SetPatternAttributes2D;
  1603.         struct {
  1604.             double width;
  1605.             double height;
  1606.         } SetPatternSize;
  1607.         struct {
  1608.             unsigned long pick_id;
  1609.         } SetPickID;
  1610.         struct {
  1611.             int method;
  1612.         } SetPolylineInterpMethod;
  1613.         struct {
  1614.             PEXReflectionAttributes attributes;
  1615.         } SetReflectionAttributes;
  1616.         struct {
  1617.             int model;
  1618.         } SetReflectionModel;
  1619.         struct {
  1620.             int model;
  1621.         } SetRenderingColorModel;
  1622.         struct {
  1623.             int method;
  1624.             double utolerance;
  1625.             double vtolerance;
  1626.         } SetSurfaceApprox;
  1627.         struct {
  1628.             int color_type;
  1629.             PEXColor color;
  1630.         } SetSurfaceColor;
  1631.         struct {
  1632.             unsigned int index;
  1633.         } SetSurfaceColorIndex;
  1634.         struct {
  1635.             int color_type;
  1636.             PEXColor color;
  1637.         } SetSurfaceEdgeColor;
  1638.         struct {
  1639.             unsigned int index;
  1640.         } SetSurfaceEdgeColorIndex;
  1641.         struct {
  1642.             int flag;
  1643.         } SetSurfaceEdgeFlag;
  1644.         struct {
  1645.             int edge_type;
  1646.         } SetSurfaceEdgeType;
  1647.         struct {
  1648.             double width;
  1649.         } SetSurfaceEdgeWidth;
  1650.         struct {
  1651.             int method;
  1652.         } SetSurfaceInterpMethod;
  1653.         struct {
  1654.             int halignment;
  1655.             int valignment;
  1656.         } SetTextAlignment;
  1657.         struct {
  1658.             unsigned int index;
  1659.         } SetTextBundleIndex;
  1660.         struct {
  1661.             int color_type;
  1662.             PEXColor color;
  1663.         } SetTextColor;
  1664.         struct {
  1665.             unsigned int index;
  1666.         } SetTextColorIndex;
  1667.         struct {
  1668.             unsigned int index;
  1669.         } SetTextFontIndex;
  1670.         struct {
  1671.             int path;
  1672.         } SetTextPath;
  1673.         struct {
  1674.             int precision;
  1675.         } SetTextPrecision;
  1676.         struct {
  1677.             unsigned int index;
  1678.         } SetViewIndex;
  1679.         struct {
  1680.             unsigned int facet_attributes;
  1681.             unsigned int vertex_attributes;
  1682.             int color_type;
  1683.             PEXArrayOfFacetData facet_data;
  1684.             unsigned int count;
  1685.             PEXArrayOfVertex vertices;
  1686.         } TriangleStrip;
  1687.     } data;
  1688. } PEXOCData;
  1689.  
  1690.  
  1691. /*
  1692.  * encoded output commands
  1693.  */
  1694.  
  1695. /* macro for inquiring max length for PEXGetOCAddr */
  1696.  
  1697. #define PEXGetOCAddrMaxSize(_display) \
  1698.     ((_display)->bufmax - (_display)->buffer)   /* this macro returns the     */
  1699.                                                 /* maximum allowable size (in */
  1700.                                                 /* bytes) for PEXGetOCAddr    */
  1701.                                                 /* individual implementations */
  1702.                                                 /* can modify the value, but  */
  1703.                                                 /* the minimum allowed is 1024*/
  1704.  
  1705.  
  1706. /*
  1707.  * constants for utilities
  1708.  */
  1709.  
  1710. /* constants for PEXRotate */
  1711. #define PEXXAxis                1
  1712. #define PEXYAxis                2
  1713. #define PEXZAxis                3
  1714.  
  1715. /* constants for utilities error return status */
  1716. #define PEXBadVector            1
  1717. #define PEXBadVectors           2
  1718. #define PEXBadLimits            3
  1719. #define PEXBadViewport          4
  1720. #define PEXBadPlanes            5
  1721. #define PEXBadPRP               6
  1722. #define PEXBadMatrix            7
  1723. #define PEXBadPrimitive         8
  1724. #define PEXBadDistance          9
  1725. #define PEXBadAxis              10
  1726. #define PEXBadHomoCoord         11
  1727. #define PEXBadSubVolume         12
  1728.  
  1729. _XFUNCPROTOBEGIN
  1730.  
  1731. /*
  1732.  * function declarations
  1733.  */
  1734.  
  1735. extern void PEXAccumulateState(
  1736. #if NeedFunctionPrototypes
  1737.     Display *        /* display */,
  1738.     PEXRenderer         /* renderer */,
  1739.     unsigned long         /* count */,
  1740.     PEXElementRef *        /* elements */
  1741. #endif
  1742. );
  1743.  
  1744. extern void PEXAddToNameSet(
  1745. #if NeedFunctionPrototypes
  1746.     Display *        /* display */,
  1747.     XID         /* resource_id */,
  1748.     PEXOCRequestType         /* req_type */,
  1749.     unsigned long         /* count */,
  1750.     PEXName *        /* names */
  1751. #endif
  1752. );
  1753.  
  1754. extern void PEXAnnotationText(
  1755. #if NeedFunctionPrototypes
  1756.     Display *        /* display */,
  1757.     XID         /* resource_id */,
  1758.     PEXOCRequestType         /* req_type */,
  1759.     PEXCoord *        /* origin */,
  1760.     PEXCoord *        /* offset */,
  1761.     int         /* length */,
  1762.     char *        /* string */
  1763. #endif
  1764. );
  1765.  
  1766. extern void PEXAnnotationText2D(
  1767. #if NeedFunctionPrototypes
  1768.     Display *        /* display */,
  1769.     XID         /* resource_id */,
  1770.     PEXOCRequestType         /* req_type */,
  1771.     PEXCoord2D *        /* origin */,
  1772.     PEXCoord2D *        /* offset */,
  1773.     int         /* length */,
  1774.     char *        /* string */
  1775. #endif
  1776. );
  1777.  
  1778. extern void PEXApplicationData(
  1779. #if NeedFunctionPrototypes
  1780.     Display *        /* display */,
  1781.     XID         /* resource_id */,
  1782.     PEXOCRequestType         /* req_type */,
  1783.     int         /* length */,
  1784.     char *        /* data */
  1785. #endif
  1786. );
  1787.  
  1788. extern void PEXBeginPickAll(
  1789. #if NeedFunctionPrototypes
  1790.     Display *        /* display */,
  1791.     Drawable         /* drawable */,
  1792.     PEXRenderer         /* renderer */,
  1793.     long         /* structure_id */,
  1794.     int         /* method */,
  1795.     int         /* send_event */,
  1796.     int         /* max_hits */,
  1797.     int         /* pick_device_type */,
  1798.     PEXPickRecord *        /* pick_record */
  1799. #endif
  1800. );
  1801.  
  1802. extern void PEXBeginPickOne(
  1803. #if NeedFunctionPrototypes
  1804.     Display *        /* display */,
  1805.     Drawable         /* drawable */,
  1806.     PEXRenderer         /* renderer */,
  1807.     long         /* structure_id */,
  1808.     int         /* method */,
  1809.     int         /* pick_device_type */,
  1810.     PEXPickRecord *        /* pick_record */
  1811. #endif
  1812. );
  1813.  
  1814. extern void PEXBeginRendering(
  1815. #if NeedFunctionPrototypes
  1816.     Display *        /* display */,
  1817.     Drawable         /* drawable */,
  1818.     PEXRenderer         /* renderer */
  1819. #endif
  1820. );
  1821.  
  1822. extern void PEXBeginStructure(
  1823. #if NeedFunctionPrototypes
  1824.     Display *        /* display */,
  1825.     PEXRenderer         /* renderer */,
  1826.     long         /* structure_id */
  1827. #endif
  1828. );
  1829.  
  1830. extern void PEXBuildTransform(
  1831. #if NeedFunctionPrototypes
  1832.     PEXCoord *        /* fixed_point */,
  1833.     PEXVector *        /* trans_vector */,
  1834.     double         /* angle_x */,
  1835.     double         /* angle_y */,
  1836.     double         /* angle_z */,
  1837.     PEXVector *        /* scale_vector */,
  1838.     PEXMatrix         /* matrix_return */
  1839. #endif
  1840. );
  1841.  
  1842. extern void PEXBuildTransform2D(
  1843. #if NeedFunctionPrototypes
  1844.     PEXCoord2D *        /* fixed_point */,
  1845.     PEXVector2D *        /* trans_vector */,
  1846.     double         /* angle_z */,
  1847.     PEXVector2D *        /* scale_vector */,
  1848.     PEXMatrix3x3         /* matrix_return */
  1849. #endif
  1850. );
  1851.  
  1852. extern void PEXCellArray(
  1853. #if NeedFunctionPrototypes
  1854.     Display *        /* display */,
  1855.     XID         /* resource_id */,
  1856.     PEXOCRequestType         /* req_type */,
  1857.     PEXCoord *        /* point1 */,
  1858.     PEXCoord *        /* point2 */,
  1859.     PEXCoord *        /* point3 */,
  1860.     unsigned int         /* col_count */,
  1861.     unsigned int         /* row_count */,
  1862.     PEXTableIndex *        /* color_indices */
  1863. #endif
  1864. );
  1865.  
  1866. extern void PEXCellArray2D(
  1867. #if NeedFunctionPrototypes
  1868.     Display *        /* display */,
  1869.     XID         /* resource_id */,
  1870.     PEXOCRequestType         /* req_type */,
  1871.     PEXCoord2D *        /* point1 */,
  1872.     PEXCoord2D *        /* point2 */,
  1873.     unsigned int         /* col_count */,
  1874.     unsigned int         /* row_count */,
  1875.     PEXTableIndex *        /* color_indices */
  1876. #endif
  1877. );
  1878.  
  1879. extern void PEXChangeNameSet(
  1880. #if NeedFunctionPrototypes
  1881.     Display *        /* display */,
  1882.     PEXNameSet         /* nameset */,
  1883.     int         /* action */,
  1884.     unsigned long         /* count */,
  1885.     PEXName *        /* names */
  1886. #endif
  1887. );
  1888.  
  1889. extern void PEXChangePickDevice(
  1890. #if NeedFunctionPrototypes
  1891.     Display *        /* display */,
  1892.     PEXWorkstation         /* workstation */,
  1893.     int         /* pick_device_type */,
  1894.     unsigned long         /* value_mask */,
  1895.     PEXPDAttributes *        /* values */
  1896. #endif
  1897. );
  1898.  
  1899. extern void PEXChangePipelineContext(
  1900. #if NeedFunctionPrototypes
  1901.     Display *        /* display */,
  1902.     PEXPipelineContext         /* context */,
  1903.     unsigned long *        /* value_mask */,
  1904.     PEXPCAttributes *        /* values */
  1905. #endif
  1906. );
  1907.  
  1908. extern void PEXChangeRenderer(
  1909. #if NeedFunctionPrototypes
  1910.     Display *        /* display */,
  1911.     PEXRenderer         /* renderer */,
  1912.     unsigned long         /* value_mask */,
  1913.     PEXRendererAttributes *        /* values */
  1914. #endif
  1915. );
  1916.  
  1917. extern void PEXChangeSearchContext(
  1918. #if NeedFunctionPrototypes
  1919.     Display *        /* display */,
  1920.     PEXSearchContext         /* context */,
  1921.     unsigned long         /* value_mask */,
  1922.     PEXSCAttributes *        /* values */
  1923. #endif
  1924. );
  1925.  
  1926. extern void PEXChangeStructureRefs(
  1927. #if NeedFunctionPrototypes
  1928.     Display *        /* display */,
  1929.     PEXStructure         /* old_structure */,
  1930.     PEXStructure         /* new_structure */
  1931. #endif
  1932. );
  1933.  
  1934. extern void PEXCopyBytesToOC(
  1935. #if NeedFunctionPrototypes
  1936.     Display *        /* display */,
  1937.     int         /* length */,
  1938.     char *        /* data */
  1939. #endif
  1940. );
  1941.  
  1942. extern void PEXCopyElements(
  1943. #if NeedFunctionPrototypes
  1944.     Display *        /* display */,
  1945.     PEXStructure         /* src_structure */,
  1946.     int         /* src_whence1 */,
  1947.     long         /* src_offset1 */,
  1948.     int         /* src_whence2 */,
  1949.     long         /* src_offset2 */,
  1950.     PEXStructure         /* dst_structure */,
  1951.     int         /* dst_whence */,
  1952.     long         /* dst_offset */
  1953. #endif
  1954. );
  1955.  
  1956. extern void PEXCopyLookupTable(
  1957. #if NeedFunctionPrototypes
  1958.     Display *        /* display */,
  1959.     PEXLookupTable         /* src_table */,
  1960.     PEXLookupTable         /* dst_table */
  1961. #endif
  1962. );
  1963.  
  1964. extern void PEXCopyNameSet(
  1965. #if NeedFunctionPrototypes
  1966.     Display *        /* display */,
  1967.     PEXNameSet         /* src_nameset */,
  1968.     PEXNameSet         /* dst_nameset */
  1969. #endif
  1970. );
  1971.  
  1972. extern void PEXCopyPipelineContext(
  1973. #if NeedFunctionPrototypes
  1974.     Display *        /* display */,
  1975.     unsigned long *        /* value_mask */,
  1976.     PEXPipelineContext         /* src_context */,
  1977.     PEXPipelineContext         /* dst_context */
  1978. #endif
  1979. );
  1980.  
  1981. extern void PEXCopySearchContext(
  1982. #if NeedFunctionPrototypes
  1983.     Display *        /* display */,
  1984.     unsigned long         /* value_mask */,
  1985.     PEXSearchContext         /* src_context */,
  1986.     PEXSearchContext         /* dst_context */
  1987. #endif
  1988. );
  1989.  
  1990. extern void PEXCopyStructure(
  1991. #if NeedFunctionPrototypes
  1992.     Display *        /* display */,
  1993.     PEXStructure         /* src_structure */,
  1994.     PEXStructure         /* dst_structure */
  1995. #endif
  1996. );
  1997.  
  1998. extern PEXLookupTable PEXCreateLookupTable(
  1999. #if NeedFunctionPrototypes
  2000.     Display *        /* display */,
  2001.     Drawable         /* drawable */,
  2002.     int         /* table_type */
  2003. #endif
  2004. );
  2005.  
  2006. extern PEXNameSet PEXCreateNameSet(
  2007. #if NeedFunctionPrototypes
  2008.     Display *        /* display */
  2009. #endif
  2010. );
  2011.  
  2012. extern PEXPickMeasure PEXCreatePickMeasure(
  2013. #if NeedFunctionPrototypes
  2014.     Display *        /* display */,
  2015.     PEXWorkstation         /* workstation */,
  2016.     int         /* pick_device_type */
  2017. #endif
  2018. );
  2019.  
  2020. extern PEXPipelineContext PEXCreatePipelineContext(
  2021. #if NeedFunctionPrototypes
  2022.     Display *        /* display */,
  2023.     unsigned long *        /* value_mask */,
  2024.     PEXPCAttributes *        /* values */
  2025. #endif
  2026. );
  2027.  
  2028. extern PEXRenderer PEXCreateRenderer(
  2029. #if NeedFunctionPrototypes
  2030.     Display *        /* display */,
  2031.     Drawable         /* drawable */,
  2032.     unsigned long         /* value_mask */,
  2033.     PEXRendererAttributes *        /* values */
  2034. #endif
  2035. );
  2036.  
  2037. extern PEXSearchContext PEXCreateSearchContext(
  2038. #if NeedFunctionPrototypes
  2039.     Display *        /* display */,
  2040.     unsigned long         /* value_mask */,
  2041.     PEXSCAttributes *        /* values */
  2042. #endif
  2043. );
  2044.  
  2045. extern PEXStructure PEXCreateStructure(
  2046. #if NeedFunctionPrototypes
  2047.     Display *        /* display */
  2048. #endif
  2049. );
  2050.  
  2051. extern PEXWorkstation PEXCreateWorkstation(
  2052. #if NeedFunctionPrototypes
  2053.     Display *        /* display */,
  2054.     Drawable         /* drawable */,
  2055.     PEXLookupTable         /* line_bundle */,
  2056.     PEXLookupTable         /* marker_bundle */,
  2057.     PEXLookupTable         /* text_bundle */,
  2058.     PEXLookupTable         /* interior_bundle */,
  2059.     PEXLookupTable         /* edge_bundle */,
  2060.     PEXLookupTable         /* color_table */,
  2061.     PEXLookupTable         /* pattern_table */,
  2062.     PEXLookupTable         /* font_table */,
  2063.     PEXLookupTable         /* depth_cue_table */,
  2064.     PEXLookupTable         /* light_table */,
  2065.     PEXLookupTable         /* color_approx_table */,
  2066.     PEXNameSet         /* highlight_incl */,
  2067.     PEXNameSet         /* highlight_excl */,
  2068.     PEXNameSet         /* invisibility_incl */,
  2069.     PEXNameSet         /* invisibility_excl */,
  2070.     int         /* buffer_mode */
  2071. #endif
  2072. );
  2073.  
  2074. extern PEXOCData *PEXDecodeOCs(
  2075. #if NeedFunctionPrototypes
  2076.     int         /* float_format */,
  2077.     unsigned long         /* oc_count */,
  2078.     unsigned long         /* length */,
  2079.     char *        /* encoded_ocs */
  2080. #endif
  2081. );
  2082.  
  2083. extern void PEXDeleteBetweenLabels(
  2084. #if NeedFunctionPrototypes
  2085.     Display *        /* display */,
  2086.     PEXStructure         /* structure */,
  2087.     long         /* label1 */,
  2088.     long         /* label2 */
  2089. #endif
  2090. );
  2091.  
  2092. extern void PEXDeleteElements(
  2093. #if NeedFunctionPrototypes
  2094.     Display *        /* display */,
  2095.     PEXStructure         /* structure */,
  2096.     int         /* whence1 */,
  2097.     long         /* offset1 */,
  2098.     int         /* whence2 */,
  2099.     long         /* offset2 */
  2100. #endif
  2101. );
  2102.  
  2103. extern void PEXDeleteTableEntries(
  2104. #if NeedFunctionPrototypes
  2105.     Display *        /* display */,
  2106.     PEXLookupTable         /* table */,
  2107.     unsigned int         /* start */,
  2108.     unsigned int         /* count */
  2109. #endif
  2110. );
  2111.  
  2112. extern void PEXDeleteToLabel(
  2113. #if NeedFunctionPrototypes
  2114.     Display *        /* display */,
  2115.     PEXStructure         /* structure */,
  2116.     int         /* whence */,
  2117.     long         /* offset */,
  2118.     long         /* label */
  2119. #endif
  2120. );
  2121.  
  2122. extern void PEXDestroyStructures(
  2123. #if NeedFunctionPrototypes
  2124.     Display *        /* display */,
  2125.     unsigned long         /* count */,
  2126.     PEXStructure *        /* structures */
  2127. #endif
  2128. );
  2129.  
  2130. extern Status PEXElementSearch(
  2131. #if NeedFunctionPrototypes
  2132.     Display *        /* display */,
  2133.     PEXStructure         /* structure */,
  2134.     int         /* whence */,
  2135.     long         /* offset */,
  2136.     int         /* direction */,
  2137.     unsigned long         /* incl_count */,
  2138.     unsigned short *        /* incl_list */,
  2139.     unsigned long         /* excl_count */,
  2140.     unsigned short *        /* excl_list */,
  2141.     unsigned long *        /* elem_offset_return */
  2142. #endif
  2143. );
  2144.  
  2145. extern char *PEXEncodeOCs(
  2146. #if NeedFunctionPrototypes
  2147.     int         /* float_format */,
  2148.     unsigned long         /* oc_count */,
  2149.     PEXOCData *        /* oc_data */,
  2150.     unsigned long *        /* length_return */
  2151. #endif
  2152. );
  2153.  
  2154. extern void PEXEncodedAnnoText(
  2155. #if NeedFunctionPrototypes
  2156.     Display *        /* display */,
  2157.     XID         /* resource_id */,
  2158.     PEXOCRequestType         /* req_type */,
  2159.     PEXCoord *        /* origin */,
  2160.     PEXCoord *        /* offset */,
  2161.     unsigned int         /* count */,
  2162.     PEXEncodedTextData *        /* encoded_text */
  2163. #endif
  2164. );
  2165.  
  2166. extern void PEXEncodedAnnoText2D(
  2167. #if NeedFunctionPrototypes
  2168.     Display *        /* display */,
  2169.     XID         /* resource_id */,
  2170.     PEXOCRequestType         /* req_type */,
  2171.     PEXCoord2D *        /* origin */,
  2172.     PEXCoord2D *        /* offset */,
  2173.     unsigned int         /* count */,
  2174.     PEXEncodedTextData *        /* encoded_text */
  2175. #endif
  2176. );
  2177.  
  2178. extern void PEXEncodedText(
  2179. #if NeedFunctionPrototypes
  2180.     Display *        /* display */,
  2181.     XID         /* resource_id */,
  2182.     PEXOCRequestType         /* req_type */,
  2183.     PEXCoord *        /* origin */,
  2184.     PEXVector *        /* vector1 */,
  2185.     PEXVector *        /* vector2 */,
  2186.     unsigned int         /* count */,
  2187.     PEXEncodedTextData *        /* encoded_text */
  2188. #endif
  2189. );
  2190.  
  2191. extern void PEXEncodedText2D(
  2192. #if NeedFunctionPrototypes
  2193.     Display *        /* display */,
  2194.     XID         /* resource_id */,
  2195.     PEXOCRequestType         /* req_type */,
  2196.     PEXCoord2D *        /* origin */,
  2197.     unsigned int         /* count */,
  2198.     PEXEncodedTextData *        /* encoded_text */
  2199. #endif
  2200. );
  2201.  
  2202. extern PEXPickPath *PEXEndPickAll(
  2203. #if NeedFunctionPrototypes
  2204.     Display *        /* display */,
  2205.     PEXRenderer         /* renderer */,
  2206.     int *        /* status_return */,
  2207.     int *        /* more_return */,
  2208.     unsigned long *        /* count_return */
  2209. #endif
  2210. );
  2211.  
  2212. extern PEXPickPath *PEXEndPickOne(
  2213. #if NeedFunctionPrototypes
  2214.     Display *        /* display */,
  2215.     PEXRenderer         /* renderer */,
  2216.     int *        /* status_return */,
  2217.     int *        /* undetectable_return */
  2218. #endif
  2219. );
  2220.  
  2221. extern void PEXEndRendering(
  2222. #if NeedFunctionPrototypes
  2223.     Display *        /* display */,
  2224.     PEXRenderer         /* renderer */,
  2225.     int         /* flush */
  2226. #endif
  2227. );
  2228.  
  2229. extern void PEXEndStructure(
  2230. #if NeedFunctionPrototypes
  2231.     Display *        /* display */,
  2232.     PEXRenderer         /* renderer */
  2233. #endif
  2234. );
  2235.  
  2236. extern void PEXEscape(
  2237. #if NeedFunctionPrototypes
  2238.     Display *        /* display */,
  2239.     unsigned long         /* escape_id */,
  2240.     int         /* length */,
  2241.     char *        /* escape_data */
  2242. #endif
  2243. );
  2244.  
  2245. extern char *PEXEscapeWithReply(
  2246. #if NeedFunctionPrototypes
  2247.     Display *        /* display */,
  2248.     unsigned long         /* escape_id */,
  2249.     int         /* length */,
  2250.     char *        /* escape_data */,
  2251.     unsigned long *        /* reply_length_return */
  2252. #endif
  2253. );
  2254.  
  2255. extern void PEXExecuteDeferredActions(
  2256. #if NeedFunctionPrototypes
  2257.     Display *        /* display */,
  2258.     PEXWorkstation         /* workstation */
  2259. #endif
  2260. );
  2261.  
  2262. extern void PEXExecuteStructure(
  2263. #if NeedFunctionPrototypes
  2264.     Display *        /* display */,
  2265.     XID         /* resource_id */,
  2266.     PEXOCRequestType         /* req_type */,
  2267.     PEXStructure         /* structure */
  2268. #endif
  2269. );
  2270.  
  2271. extern void PEXExtendedCellArray(
  2272. #if NeedFunctionPrototypes
  2273.     Display *        /* display */,
  2274.     XID         /* resource_id */,
  2275.     PEXOCRequestType         /* req_type */,
  2276.     PEXCoord *        /* point1 */,
  2277.     PEXCoord *        /* point2 */,
  2278.     PEXCoord *        /* point3 */,
  2279.     unsigned int         /* col_count */,
  2280.     unsigned int         /* row_count */,
  2281.     int         /* color_type */,
  2282.     PEXArrayOfColor         /* colors */
  2283. #endif
  2284. );
  2285.  
  2286. extern Status PEXFetchElements(
  2287. #if NeedFunctionPrototypes
  2288.     Display *        /* display */,
  2289.     PEXStructure         /* structure */,
  2290.     int         /* whence1 */,
  2291.     long         /* offset1 */,
  2292.     int         /* whence2 */,
  2293.     long         /* offset2 */,
  2294.     int         /* float_format */,
  2295.     unsigned long *        /* count_return */,
  2296.     unsigned long *        /* length_return */,
  2297.     char **        /* ocs_return */
  2298. #endif
  2299. );
  2300.  
  2301. extern Status PEXFetchElementsAndSend(
  2302. #if NeedFunctionPrototypes
  2303.     Display *        /* src_display */,
  2304.     PEXStructure         /* structure */,
  2305.     int         /* whence1 */,
  2306.     long         /* offset1 */,
  2307.     int         /* whence2 */,
  2308.     long         /* offset2 */,
  2309.     Display *        /* dst_display */,
  2310.     XID         /* resource_id */,
  2311.     PEXOCRequestType         /* req_type */
  2312. #endif
  2313. );
  2314.  
  2315. extern void PEXFillArea(
  2316. #if NeedFunctionPrototypes
  2317.     Display *        /* display */,
  2318.     XID         /* resource_id */,
  2319.     PEXOCRequestType         /* req_type */,
  2320.     int         /* shape_hint */,
  2321.     int         /* ignore_edges */,
  2322.     unsigned int         /* count */,
  2323.     PEXCoord *        /* points */
  2324. #endif
  2325. );
  2326.  
  2327. extern void PEXFillArea2D(
  2328. #if NeedFunctionPrototypes
  2329.     Display *        /* display */,
  2330.     XID         /* resource_id */,
  2331.     PEXOCRequestType         /* req_type */,
  2332.     int         /* shape_hint */,
  2333.     int         /* ignore_edges */,
  2334.     unsigned int         /* count */,
  2335.     PEXCoord2D *        /* points */
  2336. #endif
  2337. );
  2338.  
  2339. extern void PEXFillAreaSet(
  2340. #if NeedFunctionPrototypes
  2341.     Display *        /* display */,
  2342.     XID         /* resource_id */,
  2343.     PEXOCRequestType         /* req_type */,
  2344.     int         /* shape_hint */,
  2345.     int         /* ignore_edges */,
  2346.     int         /* contour_hint */,
  2347.     unsigned int         /* count */,
  2348.     PEXListOfCoord *        /* point_lists */
  2349. #endif
  2350. );
  2351.  
  2352. extern void PEXFillAreaSet2D(
  2353. #if NeedFunctionPrototypes
  2354.     Display *        /* display */,
  2355.     XID         /* resource_id */,
  2356.     PEXOCRequestType         /* req_type */,
  2357.     int         /* shape_hint */,
  2358.     int         /* ignore_edges */,
  2359.     int         /* contour_hint */,
  2360.     unsigned int         /* count */,
  2361.     PEXListOfCoord2D *        /* point_lists */
  2362. #endif
  2363. );
  2364.  
  2365. extern void PEXFillAreaSetWithData(
  2366. #if NeedFunctionPrototypes
  2367.     Display *        /* display */,
  2368.     XID         /* resource_id */,
  2369.     PEXOCRequestType         /* req_type */,
  2370.     int         /* shape_hint */,
  2371.     int         /* ignore_edges */,
  2372.     int         /* contour_hint */,
  2373.     unsigned int         /* facet_attributes */,
  2374.     unsigned int         /* vertex_attributes */,
  2375.     int         /* color_type */,
  2376.     unsigned int         /* count */,
  2377.     PEXFacetData *        /* facet_data */,
  2378.     PEXListOfVertex *        /* vertex_lists */
  2379. #endif
  2380. );
  2381.  
  2382. extern void PEXFillAreaWithData(
  2383. #if NeedFunctionPrototypes
  2384.     Display *        /* display */,
  2385.     XID         /* resource_id */,
  2386.     PEXOCRequestType         /* req_type */,
  2387.     int         /* shape_hint */,
  2388.     int         /* ignore_edges */,
  2389.     unsigned int         /* facet_attributes */,
  2390.     unsigned int         /* vertex_attributes */,
  2391.     int         /* color_type */,
  2392.     PEXFacetData *        /* facet_data */,
  2393.     unsigned int         /* count */,
  2394.     PEXArrayOfVertex         /* vertices */
  2395. #endif
  2396. );
  2397.  
  2398. extern void PEXFinishOCs(
  2399. #if NeedFunctionPrototypes
  2400.     Display *        /* display */
  2401. #endif
  2402. );
  2403.  
  2404. extern void PEXFreeEnumInfo(
  2405. #if NeedFunctionPrototypes
  2406.     unsigned long         /* count */,
  2407.     unsigned long *        /* info_count */,
  2408.     PEXEnumTypeDesc *        /* enum_info */
  2409. #endif
  2410. );
  2411.  
  2412. extern void PEXFreeFontInfo(
  2413. #if NeedFunctionPrototypes
  2414.     unsigned long         /* count */,
  2415.     PEXFontInfo *        /* font_info */
  2416. #endif
  2417. );
  2418.  
  2419. extern void PEXFreeFontNames(
  2420. #if NeedFunctionPrototypes
  2421.     unsigned long         /* count */,
  2422.     char **        /* font_names */
  2423. #endif
  2424. );
  2425.  
  2426. extern void PEXFreeLookupTable(
  2427. #if NeedFunctionPrototypes
  2428.     Display *        /* display */,
  2429.     PEXLookupTable         /* table */
  2430. #endif
  2431. );
  2432.  
  2433. extern void PEXFreeNameSet(
  2434. #if NeedFunctionPrototypes
  2435.     Display *        /* display */,
  2436.     PEXNameSet         /* nameset */
  2437. #endif
  2438. );
  2439.  
  2440. extern void PEXFreeOCData(
  2441. #if NeedFunctionPrototypes
  2442.     unsigned long         /* count */,
  2443.     PEXOCData *        /* oc_data */
  2444. #endif
  2445. );
  2446.  
  2447. extern void PEXFreePCAttributes(
  2448. #if NeedFunctionPrototypes
  2449.     PEXPCAttributes *        /* values */
  2450. #endif
  2451. );
  2452.  
  2453. extern void PEXFreePDAttributes(
  2454. #if NeedFunctionPrototypes
  2455.     PEXPDAttributes *        /* values */
  2456. #endif
  2457. );
  2458.  
  2459. extern void PEXFreePMAttributes(
  2460. #if NeedFunctionPrototypes
  2461.     PEXPMAttributes *        /* values */
  2462. #endif
  2463. );
  2464.  
  2465. extern void PEXFreePickMeasure(
  2466. #if NeedFunctionPrototypes
  2467.     Display *        /* display */,
  2468.     PEXPickMeasure         /* pick_measure */
  2469. #endif
  2470. );
  2471.  
  2472. extern void PEXFreePickPaths(
  2473. #if NeedFunctionPrototypes
  2474.     unsigned long         /* count */,
  2475.     PEXPickPath *        /* pick_paths */
  2476. #endif
  2477. );
  2478.  
  2479. extern void PEXFreePipelineContext(
  2480. #if NeedFunctionPrototypes
  2481.     Display *        /* display */,
  2482.     PEXPipelineContext         /* context */
  2483. #endif
  2484. );
  2485.  
  2486. extern void PEXFreeRenderer(
  2487. #if NeedFunctionPrototypes
  2488.     Display *        /* display */,
  2489.     PEXRenderer         /* renderer */
  2490. #endif
  2491. );
  2492.  
  2493. extern void PEXFreeRendererAttributes(
  2494. #if NeedFunctionPrototypes
  2495.     PEXRendererAttributes *        /* values */
  2496. #endif
  2497. );
  2498.  
  2499. extern void PEXFreeSCAttributes(
  2500. #if NeedFunctionPrototypes
  2501.     PEXSCAttributes *        /* values */
  2502. #endif
  2503. );
  2504.  
  2505. extern void PEXFreeSearchContext(
  2506. #if NeedFunctionPrototypes
  2507.     Display *        /* display */,
  2508.     PEXSearchContext         /* context */
  2509. #endif
  2510. );
  2511.  
  2512. extern void PEXFreeStructurePaths(
  2513. #if NeedFunctionPrototypes
  2514.     unsigned long         /* count */,
  2515.     PEXStructurePath *        /* paths */
  2516. #endif
  2517. );
  2518.  
  2519. extern void PEXFreeTableEntries(
  2520. #if NeedFunctionPrototypes
  2521.     int         /* table_type */,
  2522.     unsigned int         /* count */,
  2523.     PEXPointer         /* entries */
  2524. #endif
  2525. );
  2526.  
  2527. extern void PEXFreeWorkstation(
  2528. #if NeedFunctionPrototypes
  2529.     Display *        /* display */,
  2530.     PEXWorkstation         /* workstation */
  2531. #endif
  2532. );
  2533.  
  2534. extern void PEXFreeWorkstationAttributes(
  2535. #if NeedFunctionPrototypes
  2536.     PEXWorkstationAttributes *        /* values */
  2537. #endif
  2538. );
  2539.  
  2540. extern void PEXGDP(
  2541. #if NeedFunctionPrototypes
  2542.     Display *        /* display */,
  2543.     XID         /* resource_id */,
  2544.     PEXOCRequestType         /* req_type */,
  2545.     long         /* gdp_id */,
  2546.     unsigned int         /* count */,
  2547.     PEXCoord *        /* points */,
  2548.     unsigned long         /* length */,
  2549.     char *        /* data */
  2550. #endif
  2551. );
  2552.  
  2553. extern void PEXGDP2D(
  2554. #if NeedFunctionPrototypes
  2555.     Display *        /* display */,
  2556.     XID         /* resource_id */,
  2557.     PEXOCRequestType         /* req_type */,
  2558.     long         /* gdp_id */,
  2559.     unsigned int         /* count */,
  2560.     PEXCoord2D *        /* points */,
  2561.     unsigned long         /* length */,
  2562.     char *        /* data */
  2563. #endif
  2564. );
  2565.  
  2566. extern void PEXGSE(
  2567. #if NeedFunctionPrototypes
  2568.     Display *        /* display */,
  2569.     XID         /* resource_id */,
  2570.     PEXOCRequestType         /* req_type */,
  2571.     long         /* id */,
  2572.     int         /* length */,
  2573.     char *        /* data */
  2574. #endif
  2575. );
  2576.  
  2577. extern int PEXGeoNormFillArea(
  2578. #if NeedFunctionPrototypes
  2579.     unsigned int         /* facet_attributes */,
  2580.     unsigned int         /* vertex_attributes */,
  2581.     int         /* color_type */,
  2582.     PEXFacetData *        /* facet_data */,
  2583.     unsigned int         /* count */,
  2584.     PEXArrayOfVertex         /* vertices */
  2585. #endif
  2586. );
  2587.  
  2588. extern int PEXGeoNormFillAreaSet(
  2589. #if NeedFunctionPrototypes
  2590.     unsigned int         /* facet_attributes */,
  2591.     unsigned int         /* vertex_attributes */,
  2592.     int         /* color_type */,
  2593.     unsigned int         /* count */,
  2594.     PEXFacetData *        /* facet_data */,
  2595.     PEXListOfVertex *        /* vertex_lists */
  2596. #endif
  2597. );
  2598.  
  2599. extern int PEXGeoNormQuadrilateralMesh(
  2600. #if NeedFunctionPrototypes
  2601.     unsigned int         /* facet_attributes */,
  2602.     unsigned int         /* vertex_attributes */,
  2603.     int         /* color_type */,
  2604.     PEXArrayOfFacetData         /* facet_data */,
  2605.     unsigned int         /* col_count */,
  2606.     unsigned int         /* row_count */,
  2607.     PEXArrayOfVertex         /* vertices */
  2608. #endif
  2609. );
  2610.  
  2611. extern int PEXGeoNormSetOfFillAreaSets(
  2612. #if NeedFunctionPrototypes
  2613.     unsigned int         /* facet_attributes */,
  2614.     unsigned int         /* vertex_attributes */,
  2615.     int         /* color_type */,
  2616.     unsigned int         /* set_count */,
  2617.     PEXArrayOfFacetData         /* facet_data */,
  2618.     unsigned int         /* vertex_count */,
  2619.     PEXArrayOfVertex         /* vertices */,
  2620.     unsigned int         /* index_count */,
  2621.     PEXConnectivityData *        /* connectivity */
  2622. #endif
  2623. );
  2624.  
  2625. extern int PEXGeoNormTriangleStrip(
  2626. #if NeedFunctionPrototypes
  2627.     unsigned int         /* facet_attributes */,
  2628.     unsigned int         /* vertex_attributes */,
  2629.     int         /* color_type */,
  2630.     PEXArrayOfFacetData         /* facet_data */,
  2631.     unsigned int         /* count */,
  2632.     PEXArrayOfVertex         /* vertices */
  2633. #endif
  2634. );
  2635.  
  2636. extern PEXStructurePath *PEXGetAncestors(
  2637. #if NeedFunctionPrototypes
  2638.     Display *        /* display */,
  2639.     PEXStructure         /* structure */,
  2640.     int         /* path_part */,
  2641.     unsigned long         /* path_depth */,
  2642.     unsigned long *        /* count_return */
  2643. #endif
  2644. );
  2645.  
  2646. extern Status PEXGetDefinedIndices(
  2647. #if NeedFunctionPrototypes
  2648.     Display *        /* display */,
  2649.     PEXLookupTable         /* table */,
  2650.     unsigned long *        /* count_return */,
  2651.     PEXTableIndex **        /* indices_return */
  2652. #endif
  2653. );
  2654.  
  2655. extern PEXStructurePath *PEXGetDescendants(
  2656. #if NeedFunctionPrototypes
  2657.     Display *        /* display */,
  2658.     PEXStructure         /* structure */,
  2659.     int         /* path_part */,
  2660.     unsigned long         /* path_depth */,
  2661.     unsigned long *        /* count_return */
  2662. #endif
  2663. );
  2664.  
  2665. extern Status PEXGetElementInfo(
  2666. #if NeedFunctionPrototypes
  2667.     Display *        /* display */,
  2668.     PEXStructure         /* structure */,
  2669.     int         /* whence1 */,
  2670.     long         /* offset1 */,
  2671.     int         /* whence2 */,
  2672.     long         /* offset2 */,
  2673.     int         /* float_format */,
  2674.     unsigned long *        /* count_return */,
  2675.     PEXElementInfo **        /* info_return */
  2676. #endif
  2677. );
  2678.  
  2679. extern Status PEXGetEnumTypeInfo(
  2680. #if NeedFunctionPrototypes
  2681.     Display *        /* display */,
  2682.     Drawable         /* drawable */,
  2683.     unsigned long         /* count */,
  2684.     int *        /* enum_types */,
  2685.     unsigned long         /* item_mask */,
  2686.     unsigned long **        /* info_count_return */,
  2687.     PEXEnumTypeDesc **        /* enum_info_return */
  2688. #endif
  2689. );
  2690.  
  2691. extern PEXExtensionInfo *PEXGetExtensionInfo(
  2692. #if NeedFunctionPrototypes
  2693.     Display *        /* display */
  2694. #endif
  2695. );
  2696.  
  2697. extern Status PEXGetImpDepConstants(
  2698. #if NeedFunctionPrototypes
  2699.     Display *        /* display */,
  2700.     Drawable         /* drawable */,
  2701.     unsigned long         /* count */,
  2702.     unsigned short *        /* names */,
  2703.     PEXImpDepConstant **        /* constants_return */
  2704. #endif
  2705. );
  2706.  
  2707. extern Status PEXGetNameSet(
  2708. #if NeedFunctionPrototypes
  2709.     Display *        /* display */,
  2710.     PEXNameSet         /* nameset */,
  2711.     unsigned long *        /* count_return */,
  2712.     PEXName **        /* names_return */
  2713. #endif
  2714. );
  2715.  
  2716. extern char *PEXGetOCAddr(
  2717. #if NeedFunctionPrototypes
  2718.     Display *        /* display */,
  2719.     int         /* length */
  2720. #endif
  2721. );
  2722.  
  2723. extern PEXPDAttributes *PEXGetPickDevice(
  2724. #if NeedFunctionPrototypes
  2725.     Display *        /* display */,
  2726.     PEXWorkstation         /* workstation */,
  2727.     int         /* pick_device_type */,
  2728.     unsigned long         /* value_mask */
  2729. #endif
  2730. );
  2731.  
  2732. extern PEXPMAttributes *PEXGetPickMeasure(
  2733. #if NeedFunctionPrototypes
  2734.     Display *        /* display */,
  2735.     PEXPickMeasure         /* pick_measure */,
  2736.     unsigned long         /* value_mask */
  2737. #endif
  2738. );
  2739.  
  2740. extern PEXPCAttributes *PEXGetPipelineContext(
  2741. #if NeedFunctionPrototypes
  2742.     Display *        /* display */,
  2743.     PEXPipelineContext         /* context */,
  2744.     unsigned long *        /* value_mask */
  2745. #endif
  2746. );
  2747.  
  2748. extern Status PEXGetPredefinedEntries(
  2749. #if NeedFunctionPrototypes
  2750.     Display *        /* display */,
  2751.     Drawable         /* drawable */,
  2752.     int         /* table_type */,
  2753.     unsigned int         /* start */,
  2754.     unsigned int         /* count */,
  2755.     PEXPointer *        /* entries_return */
  2756. #endif
  2757. );
  2758.  
  2759. extern int PEXGetProtocolFloatFormat(
  2760. #if NeedFunctionPrototypes
  2761.     Display *        /* display */
  2762. #endif
  2763. );
  2764.  
  2765. extern PEXRendererAttributes *PEXGetRendererAttributes(
  2766. #if NeedFunctionPrototypes
  2767.     Display *        /* display */,
  2768.     PEXRenderer         /* renderer */,
  2769.     unsigned long         /* value_mask */
  2770. #endif
  2771. );
  2772.  
  2773. extern Status PEXGetRendererDynamics(
  2774. #if NeedFunctionPrototypes
  2775.     Display *        /* display */,
  2776.     PEXRenderer         /* renderer */,
  2777.     unsigned long *        /* tables_return */,
  2778.     unsigned long *        /* name_sets_return */,
  2779.     unsigned long *        /* attributes_return */
  2780. #endif
  2781. );
  2782.  
  2783. extern PEXSCAttributes *PEXGetSearchContext(
  2784. #if NeedFunctionPrototypes
  2785.     Display *        /* display */,
  2786.     PEXSearchContext         /* context */,
  2787.     unsigned long         /* value_mask */
  2788. #endif
  2789. );
  2790.  
  2791. extern int PEXGetSizeOCs(
  2792. #if NeedFunctionPrototypes
  2793.     int         /* float_format */,
  2794.     int         /* oc_count */,
  2795.     PEXOCData *        /* oc_data */
  2796. #endif
  2797. );
  2798.  
  2799. extern Status PEXGetStructureInfo(
  2800. #if NeedFunctionPrototypes
  2801.     Display *        /* display */,
  2802.     PEXStructure         /* structure */,
  2803.     int         /* float_format */,
  2804.     unsigned long         /* value_mask */,
  2805.     PEXStructureInfo *        /* info_return */
  2806. #endif
  2807. );
  2808.  
  2809. extern PEXStructure *PEXGetStructuresInNetwork(
  2810. #if NeedFunctionPrototypes
  2811.     Display *        /* display */,
  2812.     PEXStructure         /* structure */,
  2813.     int         /* which */,
  2814.     unsigned long *        /* count_return */
  2815. #endif
  2816. );
  2817.  
  2818. extern Status PEXGetTableEntries(
  2819. #if NeedFunctionPrototypes
  2820.     Display *        /* display */,
  2821.     PEXLookupTable         /* table */,
  2822.     unsigned int         /* start */,
  2823.     unsigned int         /* count */,
  2824.     int         /* value_type */,
  2825.     int *        /* table_type_return */,
  2826.     PEXPointer *        /* entries_return */
  2827. #endif
  2828. );
  2829.  
  2830. extern PEXPointer PEXGetTableEntry(
  2831. #if NeedFunctionPrototypes
  2832.     Display *        /* display */,
  2833.     PEXLookupTable         /* table */,
  2834.     unsigned int         /* index */,
  2835.     int         /* value_type */,
  2836.     int *        /* status_return */,
  2837.     int *        /* table_type_return */
  2838. #endif
  2839. );
  2840.  
  2841. extern Status PEXGetTableInfo(
  2842. #if NeedFunctionPrototypes
  2843.     Display *        /* display */,
  2844.     Drawable         /* drawable */,
  2845.     int         /* table_type */,
  2846.     PEXTableInfo *        /* info_return */
  2847. #endif
  2848. );
  2849.  
  2850. extern PEXWorkstationAttributes *PEXGetWorkstationAttributes(
  2851. #if NeedFunctionPrototypes
  2852.     Display *        /* display */,
  2853.     PEXWorkstation         /* workstation */,
  2854.     unsigned long *        /* value_mask */
  2855. #endif
  2856. );
  2857.  
  2858. extern Status PEXGetWorkstationDynamics(
  2859. #if NeedFunctionPrototypes
  2860.     Display *        /* display */,
  2861.     Drawable         /* drawable */,
  2862.     PEXWorkstationDynamics *        /* dynamics_return */
  2863. #endif
  2864. );
  2865.  
  2866. extern Status PEXGetWorkstationPostings(
  2867. #if NeedFunctionPrototypes
  2868.     Display *        /* display */,
  2869.     PEXStructure         /* structure */,
  2870.     unsigned long *        /* count_return */,
  2871.     PEXWorkstation **        /* postings_return */
  2872. #endif
  2873. );
  2874.  
  2875. extern Status PEXGetWorkstationViewRep(
  2876. #if NeedFunctionPrototypes
  2877.     Display *        /* display */,
  2878.     PEXWorkstation         /* workstation */,
  2879.     unsigned int         /* index */,
  2880.     int *        /* update_return */,
  2881.     PEXViewRep *        /* req_view_return */,
  2882.     PEXViewRep *        /* cur_view_return */
  2883. #endif
  2884. );
  2885.  
  2886. extern void PEXIdentityMatrix(
  2887. #if NeedFunctionPrototypes
  2888.     PEXMatrix         /* transform_return */
  2889. #endif
  2890. );
  2891.  
  2892. extern void PEXIdentityMatrix2D(
  2893. #if NeedFunctionPrototypes
  2894.     PEXMatrix3x3         /* transform_return */
  2895. #endif
  2896. );
  2897.  
  2898. extern int PEXInitialize(
  2899. #if NeedFunctionPrototypes
  2900.     Display *        /* display */,
  2901.     PEXExtensionInfo **        /* info_return */,
  2902.     int         /* length */,
  2903.     char *        /* error_string */
  2904. #endif
  2905. );
  2906.  
  2907. extern int PEXInvertMatrix(
  2908. #if NeedFunctionPrototypes
  2909.     PEXMatrix         /* transform */,
  2910.     PEXMatrix         /* transform_return */
  2911. #endif
  2912. );
  2913.  
  2914. extern int PEXInvertMatrix2D(
  2915. #if NeedFunctionPrototypes
  2916.     PEXMatrix3x3         /* transform */,
  2917.     PEXMatrix3x3         /* transform_return */
  2918. #endif
  2919. );
  2920.  
  2921. extern void PEXLabel(
  2922. #if NeedFunctionPrototypes
  2923.     Display *        /* display */,
  2924.     XID         /* resource_id */,
  2925.     PEXOCRequestType         /* req_type */,
  2926.     long         /* label */
  2927. #endif
  2928. );
  2929.  
  2930. extern char **PEXListFonts(
  2931. #if NeedFunctionPrototypes
  2932.     Display *        /* display */,
  2933.     char *        /* pattern */,
  2934.     unsigned int         /* max_names */,
  2935.     unsigned long *        /* count_return */
  2936. #endif
  2937. );
  2938.  
  2939. extern char **PEXListFontsWithInfo(
  2940. #if NeedFunctionPrototypes
  2941.     Display *        /* display */,
  2942.     char *        /* pattern */,
  2943.     unsigned int         /* max_names */,
  2944.     unsigned long *        /* count_return */,
  2945.     PEXFontInfo **        /* info_return */
  2946. #endif
  2947. );
  2948.  
  2949. extern PEXFont PEXLoadFont(
  2950. #if NeedFunctionPrototypes
  2951.     Display *        /* display */,
  2952.     char *        /* font_name */
  2953. #endif
  2954. );
  2955.  
  2956. extern int PEXLookAtViewMatrix(
  2957. #if NeedFunctionPrototypes
  2958.     PEXCoord *        /* from */,
  2959.     PEXCoord *        /* to */,
  2960.     PEXVector *        /* up */,
  2961.     PEXMatrix         /* matrix_return */
  2962. #endif
  2963. );
  2964.  
  2965. extern Status PEXMapDCToWC(
  2966. #if NeedFunctionPrototypes
  2967.     Display *        /* display */,
  2968.     PEXWorkstation         /* workstation */,
  2969.     unsigned long         /* dc_count */,
  2970.     PEXDeviceCoord *        /* dc_points */,
  2971.     unsigned int *        /* view_index_return */,
  2972.     unsigned long *        /* wc_count_return */,
  2973.     PEXCoord **        /* wc_points_return */
  2974. #endif
  2975. );
  2976.  
  2977. extern Status PEXMapWCToDC(
  2978. #if NeedFunctionPrototypes
  2979.     Display *        /* display */,
  2980.     PEXWorkstation         /* workstation */,
  2981.     unsigned long         /* wc_count */,
  2982.     PEXCoord *        /* wc_points */,
  2983.     unsigned int         /* view_index */,
  2984.     unsigned long *        /* dc_count_return */,
  2985.     PEXDeviceCoord **        /* dc_points_return */
  2986. #endif
  2987. );
  2988.  
  2989. extern int PEXMapXCToNPC(
  2990. #if NeedFunctionPrototypes
  2991.     int         /* point_count */,
  2992.     PEXDeviceCoord2D *        /* points */,
  2993.     unsigned int         /* window_height */,
  2994.     double         /* z_dc */,
  2995.     PEXDeviceCoord *        /* viewport */,
  2996.     PEXNPCSubVolume *        /* npc_sub_volume */,
  2997.     int         /* view_count */,
  2998.     PEXViewEntry *        /* views */,
  2999.     int *        /* view_return */,
  3000.     int *        /* count_return */,
  3001.     PEXCoord *        /* points_return */
  3002. #endif
  3003. );
  3004.  
  3005. extern int PEXMapXCToNPC2D(
  3006. #if NeedFunctionPrototypes
  3007.     int         /* point_count */,
  3008.     PEXDeviceCoord2D *        /* points */,
  3009.     unsigned int         /* window_height */,
  3010.     PEXDeviceCoord2D *        /* viewport */,
  3011.     PEXNPCSubVolume *        /* npc_sub_volume */,
  3012.     int         /* view_count */,
  3013.     PEXViewEntry *        /* views */,
  3014.     int *        /* view_return */,
  3015.     int *        /* count_return */,
  3016.     PEXCoord2D *        /* points_return */
  3017. #endif
  3018. );
  3019.  
  3020. extern void PEXMarkers(
  3021. #if NeedFunctionPrototypes
  3022.     Display *        /* display */,
  3023.     XID         /* resource_id */,
  3024.     PEXOCRequestType         /* req_type */,
  3025.     unsigned int         /* count */,
  3026.     PEXCoord *        /* points */
  3027. #endif
  3028. );
  3029.  
  3030. extern void PEXMarkers2D(
  3031. #if NeedFunctionPrototypes
  3032.     Display *        /* display */,
  3033.     XID         /* resource_id */,
  3034.     PEXOCRequestType         /* req_type */,
  3035.     unsigned int         /* count */,
  3036.     PEXCoord2D *        /* points */
  3037. #endif
  3038. );
  3039.  
  3040. extern Status PEXMatchRenderingTargets(
  3041. #if NeedFunctionPrototypes
  3042.     Display *        /* display */,
  3043.     Drawable         /* drawable */,
  3044.     int         /* depth */,
  3045.     int         /* type */,
  3046.     Visual *        /* visual */,
  3047.     unsigned long         /* max_targets */,
  3048.     unsigned long *        /* count_return */,
  3049.     PEXRenderingTarget **        /* targets_return */
  3050. #endif
  3051. );
  3052.  
  3053. extern void PEXMatrixMult(
  3054. #if NeedFunctionPrototypes
  3055.     PEXMatrix         /* matrix1 */,
  3056.     PEXMatrix         /* matrix2 */,
  3057.     PEXMatrix         /* matrix_return */
  3058. #endif
  3059. );
  3060.  
  3061. extern void PEXMatrixMult2D(
  3062. #if NeedFunctionPrototypes
  3063.     PEXMatrix3x3         /* matrix1 */,
  3064.     PEXMatrix3x3         /* matrix2 */,
  3065.     PEXMatrix3x3         /* matrix_return */
  3066. #endif
  3067. );
  3068.  
  3069. extern int PEXNPCToXCTransform(
  3070. #if NeedFunctionPrototypes
  3071.     PEXNPCSubVolume *        /* npc_sub_volume */,
  3072.     PEXDeviceCoord *        /* viewport */,
  3073.     unsigned int         /* window_height */,
  3074.     PEXMatrix         /* transform_return */
  3075. #endif
  3076. );
  3077.  
  3078. extern int PEXNPCToXCTransform2D(
  3079. #if NeedFunctionPrototypes
  3080.     PEXNPCSubVolume *        /* npc_sub_volume */,
  3081.     PEXDeviceCoord2D *        /* viewport */,
  3082.     unsigned int         /* window_height */,
  3083.     PEXMatrix3x3         /* transform_return */
  3084. #endif
  3085. );
  3086.  
  3087. extern void PEXNURBCurve(
  3088. #if NeedFunctionPrototypes
  3089.     Display *        /* display */,
  3090.     XID         /* resource_id */,
  3091.     PEXOCRequestType         /* req_type */,
  3092.     int         /* rationality */,
  3093.     int         /* order */,
  3094.     float *        /* knots */,
  3095.     unsigned int         /* count */,
  3096.     PEXArrayOfCoord         /* points */,
  3097.     double         /* tmin */,
  3098.     double         /* tmax */
  3099. #endif
  3100. );
  3101.  
  3102. extern void PEXNURBSurface(
  3103. #if NeedFunctionPrototypes
  3104.     Display *        /* display */,
  3105.     XID         /* resource_id */,
  3106.     PEXOCRequestType         /* req_type */,
  3107.     int         /* rationality */,
  3108.     int         /* uorder */,
  3109.     int         /* vorder */,
  3110.     float *        /* uknots */,
  3111.     float *        /* vknots */,
  3112.     unsigned int         /* col_count */,
  3113.     unsigned int         /* row_count */,
  3114.     PEXArrayOfCoord         /* points */,
  3115.     unsigned int         /* curve_count */,
  3116.     PEXListOfTrimCurve *        /* trim_curves */
  3117. #endif
  3118. );
  3119.  
  3120. extern void PEXNoop(
  3121. #if NeedFunctionPrototypes
  3122.     Display *        /* display */,
  3123.     XID         /* resource_id */,
  3124.     PEXOCRequestType         /* req_type */
  3125. #endif
  3126. );
  3127.  
  3128. extern int PEXNormalizeVectors(
  3129. #if NeedFunctionPrototypes
  3130.     int         /* count */,
  3131.     PEXVector *        /* vectors */,
  3132.     PEXVector *        /* vectors_return */
  3133. #endif
  3134. );
  3135.  
  3136. extern int PEXNormalizeVectors2D(
  3137. #if NeedFunctionPrototypes
  3138.     int         /* count */,
  3139.     PEXVector2D *        /* vectors */,
  3140.     PEXVector2D *        /* vectors_return */
  3141. #endif
  3142. );
  3143.  
  3144. extern int PEXOrthoProjMatrix(
  3145. #if NeedFunctionPrototypes
  3146.     double         /* height */,
  3147.     double         /* aspect */,
  3148.     double         /* near */,
  3149.     double         /* far */,
  3150.     PEXMatrix         /* matrix_return */
  3151. #endif
  3152. );
  3153.  
  3154. extern int PEXPerspProjMatrix(
  3155. #if NeedFunctionPrototypes
  3156.     double         /* fovy */,
  3157.     double         /* distance */,
  3158.     double         /* aspect */,
  3159.     double         /* near */,
  3160.     double         /* far */,
  3161.     PEXMatrix         /* matrix_return */
  3162. #endif
  3163. );
  3164.  
  3165. extern PEXPickPath *PEXPickAll(
  3166. #if NeedFunctionPrototypes
  3167.     Display *        /* display */,
  3168.     Drawable         /* drawable */,
  3169.     PEXRenderer         /* renderer */,
  3170.     int         /* method */,
  3171.     int         /* max_hits */,
  3172.     int         /* pick_device_type */,
  3173.     PEXPickRecord *        /* pick_record */,
  3174.     int *        /* status_return */,
  3175.     int *        /* more_return */,
  3176.     unsigned long *        /* count_return */
  3177. #endif
  3178. );
  3179.  
  3180. extern PEXPickPath *PEXPickOne(
  3181. #if NeedFunctionPrototypes
  3182.     Display *        /* display */,
  3183.     Drawable         /* drawable */,
  3184.     PEXRenderer         /* renderer */,
  3185.     PEXStructure         /* structure */,
  3186.     int         /* method */,
  3187.     int         /* pick_device_type */,
  3188.     PEXPickRecord *        /* pick_record */,
  3189.     int *        /* status_return */,
  3190.     int *        /* undetectable_return */
  3191. #endif
  3192. );
  3193.  
  3194. extern int PEXPolarViewMatrix(
  3195. #if NeedFunctionPrototypes
  3196.     PEXCoord *        /* from */,
  3197.     double         /* distance */,
  3198.     double         /* azimuth */,
  3199.     double         /* altitude */,
  3200.     double         /* twist */,
  3201.     PEXMatrix         /* matrix_return */
  3202. #endif
  3203. );
  3204.  
  3205. extern void PEXPolyline(
  3206. #if NeedFunctionPrototypes
  3207.     Display *        /* display */,
  3208.     XID         /* resource_id */,
  3209.     PEXOCRequestType         /* req_type */,
  3210.     unsigned int         /* count */,
  3211.     PEXCoord *        /* points */
  3212. #endif
  3213. );
  3214.  
  3215. extern void PEXPolyline2D(
  3216. #if NeedFunctionPrototypes
  3217.     Display *        /* display */,
  3218.     XID         /* resource_id */,
  3219.     PEXOCRequestType         /* req_type */,
  3220.     unsigned int         /* count */,
  3221.     PEXCoord2D *        /* points */
  3222. #endif
  3223. );
  3224.  
  3225. extern void PEXPolylineSetWithData(
  3226. #if NeedFunctionPrototypes
  3227.     Display *        /* display */,
  3228.     XID         /* resource_id */,
  3229.     PEXOCRequestType         /* req_type */,
  3230.     unsigned int         /* vertex_attributes */,
  3231.     int         /* color_type */,
  3232.     unsigned int         /* count */,
  3233.     PEXListOfVertex *        /* vertex_lists */
  3234. #endif
  3235. );
  3236.  
  3237. extern void PEXPostStructure(
  3238. #if NeedFunctionPrototypes
  3239.     Display *        /* display */,
  3240.     PEXWorkstation         /* workstation */,
  3241.     PEXStructure         /* structure */,
  3242.     double         /* priority */
  3243. #endif
  3244. );
  3245.  
  3246. extern void PEXQuadrilateralMesh(
  3247. #if NeedFunctionPrototypes
  3248.     Display *        /* display */,
  3249.     XID         /* resource_id */,
  3250.     PEXOCRequestType         /* req_type */,
  3251.     int         /* shape_hint */,
  3252.     unsigned int         /* facet_attributes */,
  3253.     unsigned int         /* vertex_attributes */,
  3254.     int         /* color_type */,
  3255.     PEXArrayOfFacetData         /* facet_data */,
  3256.     unsigned int         /* col_count */,
  3257.     unsigned int         /* row_count */,
  3258.     PEXArrayOfVertex         /* vertices */
  3259. #endif
  3260. );
  3261.  
  3262. extern PEXTextExtent *PEXQueryEncodedTextExtents(
  3263. #if NeedFunctionPrototypes
  3264.     Display *        /* display */,
  3265.     XID         /* resource_id */,
  3266.     unsigned int         /* font_table_index */,
  3267.     int         /* path */,
  3268.     double         /* expansion */,
  3269.     double         /* spacing */,
  3270.     double         /* height */,
  3271.     int         /* halign */,
  3272.     int         /* valign */,
  3273.     unsigned long         /* count */,
  3274.     PEXListOfEncodedText *        /* encoded_text */
  3275. #endif
  3276. );
  3277.  
  3278. extern PEXFontInfo *PEXQueryFont(
  3279. #if NeedFunctionPrototypes
  3280.     Display *        /* display */,
  3281.     PEXFont         /* font */
  3282. #endif
  3283. );
  3284.  
  3285. extern PEXTextExtent *PEXQueryTextExtents(
  3286. #if NeedFunctionPrototypes
  3287.     Display *        /* display */,
  3288.     XID         /* resource_id */,
  3289.     unsigned int         /* font_table_index */,
  3290.     int         /* path */,
  3291.     double         /* expansion */,
  3292.     double         /* spacing */,
  3293.     double         /* height */,
  3294.     int         /* halign */,
  3295.     int         /* valign */,
  3296.     unsigned long         /* count */,
  3297.     PEXStringData *        /* text */
  3298. #endif
  3299. );
  3300.  
  3301. extern void PEXRedrawAllStructures(
  3302. #if NeedFunctionPrototypes
  3303.     Display *        /* display */,
  3304.     PEXWorkstation         /* workstation */
  3305. #endif
  3306. );
  3307.  
  3308. extern void PEXRedrawClipRegion(
  3309. #if NeedFunctionPrototypes
  3310.     Display *        /* display */,
  3311.     PEXWorkstation         /* workstation */,
  3312.     unsigned long         /* count */,
  3313.     PEXDeviceRect *        /* clip_rectangles */
  3314. #endif
  3315. );
  3316.  
  3317. extern void PEXRemoveFromNameSet(
  3318. #if NeedFunctionPrototypes
  3319.     Display *        /* display */,
  3320.     XID         /* resource_id */,
  3321.     PEXOCRequestType         /* req_type */,
  3322.     unsigned long         /* count */,
  3323.     PEXName *        /* names */
  3324. #endif
  3325. );
  3326.  
  3327. extern void PEXRenderElements(
  3328. #if NeedFunctionPrototypes
  3329.     Display *        /* display */,
  3330.     PEXRenderer         /* renderer */,
  3331.     PEXStructure         /* structure */,
  3332.     int         /* whence1 */,
  3333.     long         /* offset1 */,
  3334.     int         /* whence2 */,
  3335.     long         /* offset2 */
  3336. #endif
  3337. );
  3338.  
  3339. extern void PEXRenderNetwork(
  3340. #if NeedFunctionPrototypes
  3341.     Display *        /* display */,
  3342.     Drawable         /* drawable */,
  3343.     PEXRenderer         /* renderer */,
  3344.     PEXStructure         /* structure */
  3345. #endif
  3346. );
  3347.  
  3348. extern void PEXRestoreModelClipVolume(
  3349. #if NeedFunctionPrototypes
  3350.     Display *        /* display */,
  3351.     XID         /* resource_id */,
  3352.     PEXOCRequestType         /* req_type */
  3353. #endif
  3354. );
  3355.  
  3356. extern int PEXRotate(
  3357. #if NeedFunctionPrototypes
  3358.     int         /* axis */,
  3359.     double         /* angle */,
  3360.     PEXMatrix         /* matrix_return */
  3361. #endif
  3362. );
  3363.  
  3364. extern void PEXRotate2D(
  3365. #if NeedFunctionPrototypes
  3366.     double         /* angle */,
  3367.     PEXMatrix3x3         /* matrix_return */
  3368. #endif
  3369. );
  3370.  
  3371. extern int PEXRotateGeneral(
  3372. #if NeedFunctionPrototypes
  3373.     PEXCoord *        /* point1 */,
  3374.     PEXCoord *        /* point2 */,
  3375.     double         /* angle */,
  3376.     PEXMatrix         /* matrix_return */
  3377. #endif
  3378. );
  3379.  
  3380. extern void PEXScale(
  3381. #if NeedFunctionPrototypes
  3382.     PEXVector *        /* scale_vector */,
  3383.     PEXMatrix         /* matrix_return */
  3384. #endif
  3385. );
  3386.  
  3387. extern void PEXScale2D(
  3388. #if NeedFunctionPrototypes
  3389.     PEXVector2D *        /* scale_vector */,
  3390.     PEXMatrix3x3         /* matrix_return */
  3391. #endif
  3392. );
  3393.  
  3394. extern Status PEXSearchNetwork(
  3395. #if NeedFunctionPrototypes
  3396.     Display *        /* display */,
  3397.     PEXSearchContext         /* context */,
  3398.     PEXStructurePath **        /* path_return */
  3399. #endif
  3400. );
  3401.  
  3402. extern void PEXSendOCs(
  3403. #if NeedFunctionPrototypes
  3404.     Display *        /* display */,
  3405.     XID         /* resource_id */,
  3406.     PEXOCRequestType         /* req_type */,
  3407.     int         /* float_format */,
  3408.     unsigned long         /* oc_count */,
  3409.     unsigned int         /* length */,
  3410.     char *        /* encoded_ocs */
  3411. #endif
  3412. );
  3413.  
  3414. extern void PEXSetATextAlignment(
  3415. #if NeedFunctionPrototypes
  3416.     Display *        /* display */,
  3417.     XID         /* resource_id */,
  3418.     PEXOCRequestType         /* req_type */,
  3419.     int         /* halignment */,
  3420.     int         /* valignment */
  3421. #endif
  3422. );
  3423.  
  3424. extern void PEXSetATextHeight(
  3425. #if NeedFunctionPrototypes
  3426.     Display *        /* display */,
  3427.     XID         /* resource_id */,
  3428.     PEXOCRequestType         /* req_type */,
  3429.     double         /* height */
  3430. #endif
  3431. );
  3432.  
  3433. extern void PEXSetATextPath(
  3434. #if NeedFunctionPrototypes
  3435.     Display *        /* display */,
  3436.     XID         /* resource_id */,
  3437.     PEXOCRequestType         /* req_type */,
  3438.     int         /* path */
  3439. #endif
  3440. );
  3441.  
  3442. extern void PEXSetATextStyle(
  3443. #if NeedFunctionPrototypes
  3444.     Display *        /* display */,
  3445.     XID         /* resource_id */,
  3446.     PEXOCRequestType         /* req_type */,
  3447.     int         /* style */
  3448. #endif
  3449. );
  3450.  
  3451. extern void PEXSetATextUpVector(
  3452. #if NeedFunctionPrototypes
  3453.     Display *        /* display */,
  3454.     XID         /* resource_id */,
  3455.     PEXOCRequestType         /* req_type */,
  3456.     PEXVector2D *        /* vector */
  3457. #endif
  3458. );
  3459.  
  3460. extern void PEXSetBFInteriorStyle(
  3461. #if NeedFunctionPrototypes
  3462.     Display *        /* display */,
  3463.     XID         /* resource_id */,
  3464.     PEXOCRequestType         /* req_type */,
  3465.     int         /* style */
  3466. #endif
  3467. );
  3468.  
  3469. extern void PEXSetBFInteriorStyleIndex(
  3470. #if NeedFunctionPrototypes
  3471.     Display *        /* display */,
  3472.     XID         /* resource_id */,
  3473.     PEXOCRequestType         /* req_type */,
  3474.     int         /* index */
  3475. #endif
  3476. );
  3477.  
  3478. extern void PEXSetBFReflectionAttributes(
  3479. #if NeedFunctionPrototypes
  3480.     Display *        /* display */,
  3481.     XID         /* resource_id */,
  3482.     PEXOCRequestType         /* req_type */,
  3483.     PEXReflectionAttributes *        /* attributes */
  3484. #endif
  3485. );
  3486.  
  3487. extern void PEXSetBFReflectionModel(
  3488. #if NeedFunctionPrototypes
  3489.     Display *        /* display */,
  3490.     XID         /* resource_id */,
  3491.     PEXOCRequestType         /* req_type */,
  3492.     int         /* model */
  3493. #endif
  3494. );
  3495.  
  3496. extern void PEXSetBFSurfaceColor(
  3497. #if NeedFunctionPrototypes
  3498.     Display *        /* display */,
  3499.     XID         /* resource_id */,
  3500.     PEXOCRequestType         /* req_type */,
  3501.     int         /* color_type */,
  3502.     PEXColor *        /* color */
  3503. #endif
  3504. );
  3505.  
  3506. extern void PEXSetBFSurfaceColorIndex(
  3507. #if NeedFunctionPrototypes
  3508.     Display *        /* display */,
  3509.     XID         /* resource_id */,
  3510.     PEXOCRequestType         /* req_type */,
  3511.     unsigned int         /* index */
  3512. #endif
  3513. );
  3514.  
  3515. extern void PEXSetBFSurfaceInterpMethod(
  3516. #if NeedFunctionPrototypes
  3517.     Display *        /* display */,
  3518.     XID         /* resource_id */,
  3519.     PEXOCRequestType         /* req_type */,
  3520.     int         /* method */
  3521. #endif
  3522. );
  3523.  
  3524. extern void PEXSetCharExpansion(
  3525. #if NeedFunctionPrototypes
  3526.     Display *        /* display */,
  3527.     XID         /* resource_id */,
  3528.     PEXOCRequestType         /* req_type */,
  3529.     double         /* expansion */
  3530. #endif
  3531. );
  3532.  
  3533. extern void PEXSetCharHeight(
  3534. #if NeedFunctionPrototypes
  3535.     Display *        /* display */,
  3536.     XID         /* resource_id */,
  3537.     PEXOCRequestType         /* req_type */,
  3538.     double         /* height */
  3539. #endif
  3540. );
  3541.  
  3542. extern void PEXSetCharSpacing(
  3543. #if NeedFunctionPrototypes
  3544.     Display *        /* display */,
  3545.     XID         /* resource_id */,
  3546.     PEXOCRequestType         /* req_type */,
  3547.     double         /* spacing */
  3548. #endif
  3549. );
  3550.  
  3551. extern void PEXSetCharUpVector(
  3552. #if NeedFunctionPrototypes
  3553.     Display *        /* display */,
  3554.     XID         /* resource_id */,
  3555.     PEXOCRequestType         /* req_type */,
  3556.     PEXVector2D *        /* vector */
  3557. #endif
  3558. );
  3559.  
  3560. extern void PEXSetColorApproxIndex(
  3561. #if NeedFunctionPrototypes
  3562.     Display *        /* display */,
  3563.     XID         /* resource_id */,
  3564.     PEXOCRequestType         /* req_type */,
  3565.     unsigned int         /* index */
  3566. #endif
  3567. );
  3568.  
  3569. extern void PEXSetCurveApprox(
  3570. #if NeedFunctionPrototypes
  3571.     Display *        /* display */,
  3572.     XID         /* resource_id */,
  3573.     PEXOCRequestType         /* req_type */,
  3574.     int         /* method */,
  3575.     double         /* tolerance */
  3576. #endif
  3577. );
  3578.  
  3579. extern void PEXSetDepthCueIndex(
  3580. #if NeedFunctionPrototypes
  3581.     Display *        /* display */,
  3582.     XID         /* resource_id */,
  3583.     PEXOCRequestType         /* req_type */,
  3584.     unsigned int         /* index */
  3585. #endif
  3586. );
  3587.  
  3588. extern void PEXSetEchoColor(
  3589. #if NeedFunctionPrototypes
  3590.     Display *        /* display */,
  3591.     PEXRenderer         /* renderer */,
  3592.     int         /* color_type */,
  3593.     PEXColor *        /* color */
  3594. #endif
  3595. );
  3596.  
  3597. extern void PEXSetEdgeBundleIndex(
  3598. #if NeedFunctionPrototypes
  3599.     Display *        /* display */,
  3600.     XID         /* resource_id */,
  3601.     PEXOCRequestType         /* req_type */,
  3602.     unsigned int         /* index */
  3603. #endif
  3604. );
  3605.  
  3606. extern void PEXSetEditingMode(
  3607. #if NeedFunctionPrototypes
  3608.     Display *        /* display */,
  3609.     PEXStructure         /* structure */,
  3610.     int         /* mode */
  3611. #endif
  3612. );
  3613.  
  3614. extern void PEXSetElementPtr(
  3615. #if NeedFunctionPrototypes
  3616.     Display *        /* display */,
  3617.     PEXStructure         /* structure */,
  3618.     int         /* whence */,
  3619.     long         /* offset */
  3620. #endif
  3621. );
  3622.  
  3623. extern void PEXSetElementPtrAtLabel(
  3624. #if NeedFunctionPrototypes
  3625.     Display *        /* display */,
  3626.     PEXStructure         /* structure */,
  3627.     long         /* label */,
  3628.     long         /* offset */
  3629. #endif
  3630. );
  3631.  
  3632. extern void PEXSetFacetCullingMode(
  3633. #if NeedFunctionPrototypes
  3634.     Display *        /* display */,
  3635.     XID         /* resource_id */,
  3636.     PEXOCRequestType         /* req_type */,
  3637.     int         /* mode */
  3638. #endif
  3639. );
  3640.  
  3641. extern void PEXSetFacetDistinguishFlag(
  3642. #if NeedFunctionPrototypes
  3643.     Display *        /* display */,
  3644.     XID         /* resource_id */,
  3645.     PEXOCRequestType         /* req_type */,
  3646.     int         /* flag */
  3647. #endif
  3648. );
  3649.  
  3650. extern void PEXSetGlobalTransform(
  3651. #if NeedFunctionPrototypes
  3652.     Display *        /* display */,
  3653.     XID         /* resource_id */,
  3654.     PEXOCRequestType         /* req_type */,
  3655.     PEXMatrix         /* transform */
  3656. #endif
  3657. );
  3658.  
  3659. extern void PEXSetGlobalTransform2D(
  3660. #if NeedFunctionPrototypes
  3661.     Display *        /* display */,
  3662.     XID         /* resource_id */,
  3663.     PEXOCRequestType         /* req_type */,
  3664.     PEXMatrix3x3         /* transform */
  3665. #endif
  3666. );
  3667.  
  3668. extern void PEXSetHLHSRID(
  3669. #if NeedFunctionPrototypes
  3670.     Display *        /* display */,
  3671.     XID         /* resource_id */,
  3672.     PEXOCRequestType         /* req_type */,
  3673.     unsigned long         /* hlhsr_id */
  3674. #endif
  3675. );
  3676.  
  3677. extern void PEXSetIndividualASF(
  3678. #if NeedFunctionPrototypes
  3679.     Display *        /* display */,
  3680.     XID         /* resource_id */,
  3681.     PEXOCRequestType         /* req_type */,
  3682.     unsigned long         /* attribute */,
  3683.     int         /* asf */
  3684. #endif
  3685. );
  3686.  
  3687. extern void PEXSetInteriorBundleIndex(
  3688. #if NeedFunctionPrototypes
  3689.     Display *        /* display */,
  3690.     XID         /* resource_id */,
  3691.     PEXOCRequestType         /* req_type */,
  3692.     unsigned int         /* index */
  3693. #endif
  3694. );
  3695.  
  3696. extern void PEXSetInteriorStyle(
  3697. #if NeedFunctionPrototypes
  3698.     Display *        /* display */,
  3699.     XID         /* resource_id */,
  3700.     PEXOCRequestType         /* req_type */,
  3701.     int         /* style */
  3702. #endif
  3703. );
  3704.  
  3705. extern void PEXSetInteriorStyleIndex(
  3706. #if NeedFunctionPrototypes
  3707.     Display *        /* display */,
  3708.     XID         /* resource_id */,
  3709.     PEXOCRequestType         /* req_type */,
  3710.     int         /* index */
  3711. #endif
  3712. );
  3713.  
  3714. extern void PEXSetLightSourceState(
  3715. #if NeedFunctionPrototypes
  3716.     Display *        /* display */,
  3717.     XID         /* resource_id */,
  3718.     PEXOCRequestType         /* req_type */,
  3719.     unsigned int         /* enable_count */,
  3720.     PEXTableIndex *        /* enable */,
  3721.     unsigned int         /* disable_count */,
  3722.     PEXTableIndex *        /* disable */
  3723. #endif
  3724. );
  3725.  
  3726. extern void PEXSetLineBundleIndex(
  3727. #if NeedFunctionPrototypes
  3728.     Display *        /* display */,
  3729.     XID         /* resource_id */,
  3730.     PEXOCRequestType         /* req_type */,
  3731.     unsigned int         /* index */
  3732. #endif
  3733. );
  3734.  
  3735. extern void PEXSetLineColor(
  3736. #if NeedFunctionPrototypes
  3737.     Display *        /* display */,
  3738.     XID         /* resource_id */,
  3739.     PEXOCRequestType         /* req_type */,
  3740.     int         /* color_type */,
  3741.     PEXColor *        /* color */
  3742. #endif
  3743. );
  3744.  
  3745. extern void PEXSetLineColorIndex(
  3746. #if NeedFunctionPrototypes
  3747.     Display *        /* display */,
  3748.     XID         /* resource_id */,
  3749.     PEXOCRequestType         /* req_type */,
  3750.     unsigned int         /* index */
  3751. #endif
  3752. );
  3753.  
  3754. extern void PEXSetLineType(
  3755. #if NeedFunctionPrototypes
  3756.     Display *        /* display */,
  3757.     XID         /* resource_id */,
  3758.     PEXOCRequestType         /* req_type */,
  3759.     int         /* line_type */
  3760. #endif
  3761. );
  3762.  
  3763. extern void PEXSetLineWidth(
  3764. #if NeedFunctionPrototypes
  3765.     Display *        /* display */,
  3766.     XID         /* resource_id */,
  3767.     PEXOCRequestType         /* req_type */,
  3768.     double         /* width */
  3769. #endif
  3770. );
  3771.  
  3772. extern void PEXSetLocalTransform(
  3773. #if NeedFunctionPrototypes
  3774.     Display *        /* display */,
  3775.     XID         /* resource_id */,
  3776.     PEXOCRequestType         /* req_type */,
  3777.     int         /* composition */,
  3778.     PEXMatrix         /* transform */
  3779. #endif
  3780. );
  3781.  
  3782. extern void PEXSetLocalTransform2D(
  3783. #if NeedFunctionPrototypes
  3784.     Display *        /* display */,
  3785.     XID         /* resource_id */,
  3786.     PEXOCRequestType         /* req_type */,
  3787.     int         /* composition */,
  3788.     PEXMatrix3x3         /* transform */
  3789. #endif
  3790. );
  3791.  
  3792. extern void PEXSetMarkerBundleIndex(
  3793. #if NeedFunctionPrototypes
  3794.     Display *        /* display */,
  3795.     XID         /* resource_id */,
  3796.     PEXOCRequestType         /* req_type */,
  3797.     unsigned int         /* index */
  3798. #endif
  3799. );
  3800.  
  3801. extern void PEXSetMarkerColor(
  3802. #if NeedFunctionPrototypes
  3803.     Display *        /* display */,
  3804.     XID         /* resource_id */,
  3805.     PEXOCRequestType         /* req_type */,
  3806.     int         /* color_type */,
  3807.     PEXColor *        /* color */
  3808. #endif
  3809. );
  3810.  
  3811. extern void PEXSetMarkerColorIndex(
  3812. #if NeedFunctionPrototypes
  3813.     Display *        /* display */,
  3814.     XID         /* resource_id */,
  3815.     PEXOCRequestType         /* req_type */,
  3816.     unsigned int         /* index */
  3817. #endif
  3818. );
  3819.  
  3820. extern void PEXSetMarkerScale(
  3821. #if NeedFunctionPrototypes
  3822.     Display *        /* display */,
  3823.     XID         /* resource_id */,
  3824.     PEXOCRequestType         /* req_type */,
  3825.     double         /* scale */
  3826. #endif
  3827. );
  3828.  
  3829. extern void PEXSetMarkerType(
  3830. #if NeedFunctionPrototypes
  3831.     Display *        /* display */,
  3832.     XID         /* resource_id */,
  3833.     PEXOCRequestType         /* req_type */,
  3834.     int         /* marker_type */
  3835. #endif
  3836. );
  3837.  
  3838. extern void PEXSetModelClipFlag(
  3839. #if NeedFunctionPrototypes
  3840.     Display *        /* display */,
  3841.     XID         /* resource_id */,
  3842.     PEXOCRequestType         /* req_type */,
  3843.     int         /* flag */
  3844. #endif
  3845. );
  3846.  
  3847. extern void PEXSetModelClipVolume(
  3848. #if NeedFunctionPrototypes
  3849.     Display *        /* display */,
  3850.     XID         /* resource_id */,
  3851.     PEXOCRequestType         /* req_type */,
  3852.     int         /* op */,
  3853.     unsigned int         /* count */,
  3854.     PEXHalfSpace *        /* half_spaces */
  3855. #endif
  3856. );
  3857.  
  3858. extern void PEXSetModelClipVolume2D(
  3859. #if NeedFunctionPrototypes
  3860.     Display *        /* display */,
  3861.     XID         /* resource_id */,
  3862.     PEXOCRequestType         /* req_type */,
  3863.     int         /* op */,
  3864.     unsigned int         /* count */,
  3865.     PEXHalfSpace2D *        /* half_spaces */
  3866. #endif
  3867. );
  3868.  
  3869. extern void PEXSetOfFillAreaSets(
  3870. #if NeedFunctionPrototypes
  3871.     Display *        /* display */,
  3872.     XID         /* resource_id */,
  3873.     PEXOCRequestType         /* req_type */,
  3874.     int         /* shape_hint */,
  3875.     unsigned int         /* facet_attributes */,
  3876.     unsigned int         /* vertex_attributes */,
  3877.     unsigned int         /* edge_attributes */,
  3878.     int         /* contour_hint */,
  3879.     int         /* contours_all_one */,
  3880.     int         /* color_type */,
  3881.     unsigned int         /* set_count */,
  3882.     PEXArrayOfFacetData         /* facet_data */,
  3883.     unsigned int         /* vertex_count */,
  3884.     PEXArrayOfVertex         /* vertices */,
  3885.     unsigned int         /* index_count */,
  3886.     PEXSwitch *        /* edge_flags */,
  3887.     PEXConnectivityData *        /* connectivity */
  3888. #endif
  3889. );
  3890.  
  3891. extern void PEXSetParaSurfCharacteristics(
  3892. #if NeedFunctionPrototypes
  3893.     Display *        /* display */,
  3894.     XID         /* resource_id */,
  3895.     PEXOCRequestType         /* req_type */,
  3896.     int         /* psc_type */,
  3897.     PEXPSCData *        /* characteristics */
  3898. #endif
  3899. );
  3900.  
  3901. extern void PEXSetPatternAttributes(
  3902. #if NeedFunctionPrototypes
  3903.     Display *        /* display */,
  3904.     XID         /* resource_id */,
  3905.     PEXOCRequestType         /* req_type */,
  3906.     PEXCoord *        /* ref_point */,
  3907.     PEXVector *        /* vector1 */,
  3908.     PEXVector *        /* vector2 */
  3909. #endif
  3910. );
  3911.  
  3912. extern void PEXSetPatternAttributes2D(
  3913. #if NeedFunctionPrototypes
  3914.     Display *        /* display */,
  3915.     XID         /* resource_id */,
  3916.     PEXOCRequestType         /* req_type */,
  3917.     PEXCoord2D *        /* ref_point */
  3918. #endif
  3919. );
  3920.  
  3921. extern void PEXSetPatternSize(
  3922. #if NeedFunctionPrototypes
  3923.     Display *        /* display */,
  3924.     XID         /* resource_id */,
  3925.     PEXOCRequestType         /* req_type */,
  3926.     double         /* width */,
  3927.     double         /* height */
  3928. #endif
  3929. );
  3930.  
  3931. extern void PEXSetPickID(
  3932. #if NeedFunctionPrototypes
  3933.     Display *        /* display */,
  3934.     XID         /* resource_id */,
  3935.     PEXOCRequestType         /* req_type */,
  3936.     unsigned long         /* pick_id */
  3937. #endif
  3938. );
  3939.  
  3940. extern void PEXSetPolylineInterpMethod(
  3941. #if NeedFunctionPrototypes
  3942.     Display *        /* display */,
  3943.     XID         /* resource_id */,
  3944.     PEXOCRequestType         /* req_type */,
  3945.     int         /* method */
  3946. #endif
  3947. );
  3948.  
  3949. extern void PEXSetReflectionAttributes(
  3950. #if NeedFunctionPrototypes
  3951.     Display *        /* display */,
  3952.     XID         /* resource_id */,
  3953.     PEXOCRequestType         /* req_type */,
  3954.     PEXReflectionAttributes *        /* attributes */
  3955. #endif
  3956. );
  3957.  
  3958. extern void PEXSetReflectionModel(
  3959. #if NeedFunctionPrototypes
  3960.     Display *        /* display */,
  3961.     XID         /* resource_id */,
  3962.     PEXOCRequestType         /* req_type */,
  3963.     int         /* model */
  3964. #endif
  3965. );
  3966.  
  3967. extern void PEXSetRenderingColorModel(
  3968. #if NeedFunctionPrototypes
  3969.     Display *        /* display */,
  3970.     XID         /* resource_id */,
  3971.     PEXOCRequestType         /* req_type */,
  3972.     int         /* model */
  3973. #endif
  3974. );
  3975.  
  3976. extern void PEXSetSurfaceApprox(
  3977. #if NeedFunctionPrototypes
  3978.     Display *        /* display */,
  3979.     XID         /* resource_id */,
  3980.     PEXOCRequestType         /* req_type */,
  3981.     int         /* method */,
  3982.     double         /* utolerance */,
  3983.     double         /* vtolerance */
  3984. #endif
  3985. );
  3986.  
  3987. extern void PEXSetSurfaceColor(
  3988. #if NeedFunctionPrototypes
  3989.     Display *        /* display */,
  3990.     XID         /* resource_id */,
  3991.     PEXOCRequestType         /* req_type */,
  3992.     int         /* color_type */,
  3993.     PEXColor *        /* color */
  3994. #endif
  3995. );
  3996.  
  3997. extern void PEXSetSurfaceColorIndex(
  3998. #if NeedFunctionPrototypes
  3999.     Display *        /* display */,
  4000.     XID         /* resource_id */,
  4001.     PEXOCRequestType         /* req_type */,
  4002.     unsigned int         /* index */
  4003. #endif
  4004. );
  4005.  
  4006. extern void PEXSetSurfaceEdgeColor(
  4007. #if NeedFunctionPrototypes
  4008.     Display *        /* display */,
  4009.     XID         /* resource_id */,
  4010.     PEXOCRequestType         /* req_type */,
  4011.     int         /* color_type */,
  4012.     PEXColor *        /* color */
  4013. #endif
  4014. );
  4015.  
  4016. extern void PEXSetSurfaceEdgeColorIndex(
  4017. #if NeedFunctionPrototypes
  4018.     Display *        /* display */,
  4019.     XID         /* resource_id */,
  4020.     PEXOCRequestType         /* req_type */,
  4021.     unsigned int         /* index */
  4022. #endif
  4023. );
  4024.  
  4025. extern void PEXSetSurfaceEdgeFlag(
  4026. #if NeedFunctionPrototypes
  4027.     Display *        /* display */,
  4028.     XID         /* resource_id */,
  4029.     PEXOCRequestType         /* req_type */,
  4030.     int         /* flag */
  4031. #endif
  4032. );
  4033.  
  4034. extern void PEXSetSurfaceEdgeType(
  4035. #if NeedFunctionPrototypes
  4036.     Display *        /* display */,
  4037.     XID         /* resource_id */,
  4038.     PEXOCRequestType         /* req_type */,
  4039.     int         /* edge_type */
  4040. #endif
  4041. );
  4042.  
  4043. extern void PEXSetSurfaceEdgeWidth(
  4044. #if NeedFunctionPrototypes
  4045.     Display *        /* display */,
  4046.     XID         /* resource_id */,
  4047.     PEXOCRequestType         /* req_type */,
  4048.     double         /* width */
  4049. #endif
  4050. );
  4051.  
  4052. extern void PEXSetSurfaceInterpMethod(
  4053. #if NeedFunctionPrototypes
  4054.     Display *        /* display */,
  4055.     XID         /* resource_id */,
  4056.     PEXOCRequestType         /* req_type */,
  4057.     int         /* method */
  4058. #endif
  4059. );
  4060.  
  4061. extern void PEXSetTableEntries(
  4062. #if NeedFunctionPrototypes
  4063.     Display *        /* display */,
  4064.     PEXLookupTable         /* table */,
  4065.     unsigned int         /* start */,
  4066.     unsigned int         /* count */,
  4067.     int         /* table_type */,
  4068.     PEXPointer         /* entries */
  4069. #endif
  4070. );
  4071.  
  4072. extern void PEXSetTextAlignment(
  4073. #if NeedFunctionPrototypes
  4074.     Display *        /* display */,
  4075.     XID         /* resource_id */,
  4076.     PEXOCRequestType         /* req_type */,
  4077.     int         /* halignment */,
  4078.     int         /* valignment */
  4079. #endif
  4080. );
  4081.  
  4082. extern void PEXSetTextBundleIndex(
  4083. #if NeedFunctionPrototypes
  4084.     Display *        /* display */,
  4085.     XID         /* resource_id */,
  4086.     PEXOCRequestType         /* req_type */,
  4087.     unsigned int         /* index */
  4088. #endif
  4089. );
  4090.  
  4091. extern void PEXSetTextColor(
  4092. #if NeedFunctionPrototypes
  4093.     Display *        /* display */,
  4094.     XID         /* resource_id */,
  4095.     PEXOCRequestType         /* req_type */,
  4096.     int         /* color_type */,
  4097.     PEXColor *        /* color */
  4098. #endif
  4099. );
  4100.  
  4101. extern void PEXSetTextColorIndex(
  4102. #if NeedFunctionPrototypes
  4103.     Display *        /* display */,
  4104.     XID         /* resource_id */,
  4105.     PEXOCRequestType         /* req_type */,
  4106.     unsigned int         /* index */
  4107. #endif
  4108. );
  4109.  
  4110. extern void PEXSetTextFontIndex(
  4111. #if NeedFunctionPrototypes
  4112.     Display *        /* display */,
  4113.     XID         /* resource_id */,
  4114.     PEXOCRequestType         /* req_type */,
  4115.     unsigned int         /* index */
  4116. #endif
  4117. );
  4118.  
  4119. extern void PEXSetTextPath(
  4120. #if NeedFunctionPrototypes
  4121.     Display *        /* display */,
  4122.     XID         /* resource_id */,
  4123.     PEXOCRequestType         /* req_type */,
  4124.     int         /* path */
  4125. #endif
  4126. );
  4127.  
  4128. extern void PEXSetTextPrecision(
  4129. #if NeedFunctionPrototypes
  4130.     Display *        /* display */,
  4131.     XID         /* resource_id */,
  4132.     PEXOCRequestType         /* req_type */,
  4133.     int         /* precision */
  4134. #endif
  4135. );
  4136.  
  4137. extern void PEXSetViewIndex(
  4138. #if NeedFunctionPrototypes
  4139.     Display *        /* display */,
  4140.     XID         /* resource_id */,
  4141.     PEXOCRequestType         /* req_type */,
  4142.     unsigned int         /* index */
  4143. #endif
  4144. );
  4145.  
  4146. extern void PEXSetWorkstationBufferMode(
  4147. #if NeedFunctionPrototypes
  4148.     Display *        /* display */,
  4149.     PEXWorkstation         /* workstation */,
  4150.     int         /* buffer_mode */
  4151. #endif
  4152. );
  4153.  
  4154. extern void PEXSetWorkstationDisplayUpdateMode(
  4155. #if NeedFunctionPrototypes
  4156.     Display *        /* display */,
  4157.     PEXWorkstation         /* workstation */,
  4158.     int         /* update_mode */
  4159. #endif
  4160. );
  4161.  
  4162. extern void PEXSetWorkstationHLHSRMode(
  4163. #if NeedFunctionPrototypes
  4164.     Display *        /* display */,
  4165.     PEXWorkstation         /* workstation */,
  4166.     int         /* hlhsr_mode */
  4167. #endif
  4168. );
  4169.  
  4170. extern void PEXSetWorkstationViewPriority(
  4171. #if NeedFunctionPrototypes
  4172.     Display *        /* display */,
  4173.     PEXWorkstation         /* workstation */,
  4174.     unsigned int         /* index1 */,
  4175.     unsigned int         /* index2 */,
  4176.     int         /* priority */
  4177. #endif
  4178. );
  4179.  
  4180. extern void PEXSetWorkstationViewRep(
  4181. #if NeedFunctionPrototypes
  4182.     Display *        /* display */,
  4183.     PEXWorkstation         /* workstation */,
  4184.     unsigned int         /* view_index */,
  4185.     PEXViewEntry *        /* values */
  4186. #endif
  4187. );
  4188.  
  4189. extern void PEXSetWorkstationViewport(
  4190. #if NeedFunctionPrototypes
  4191.     Display *        /* display */,
  4192.     PEXWorkstation         /* workstation */,
  4193.     PEXViewport *        /* viewport */
  4194. #endif
  4195. );
  4196.  
  4197. extern void PEXSetWorkstationWindow(
  4198. #if NeedFunctionPrototypes
  4199.     Display *        /* display */,
  4200.     PEXWorkstation         /* workstation */,
  4201.     PEXNPCSubVolume *        /* workstation_window */
  4202. #endif
  4203. );
  4204.  
  4205. extern Status PEXStartOCs(
  4206. #if NeedFunctionPrototypes
  4207.     Display *        /* display */,
  4208.     XID         /* resource_id */,
  4209.     PEXOCRequestType         /* req_type */,
  4210.     int         /* float_format */,
  4211.     int         /* oc_count */,
  4212.     int         /* word_count */
  4213. #endif
  4214. );
  4215.  
  4216. extern void PEXText(
  4217. #if NeedFunctionPrototypes
  4218.     Display *        /* display */,
  4219.     XID         /* resource_id */,
  4220.     PEXOCRequestType         /* req_type */,
  4221.     PEXCoord *        /* origin */,
  4222.     PEXVector *        /* vector1 */,
  4223.     PEXVector *        /* vector2 */,
  4224.     int         /* length */,
  4225.     char *        /* string */
  4226. #endif
  4227. );
  4228.  
  4229. extern void PEXText2D(
  4230. #if NeedFunctionPrototypes
  4231.     Display *        /* display */,
  4232.     XID         /* resource_id */,
  4233.     PEXOCRequestType         /* req_type */,
  4234.     PEXCoord2D *        /* origin */,
  4235.     int         /* length */,
  4236.     char *        /* string */
  4237. #endif
  4238. );
  4239.  
  4240. extern int PEXTransformPoints(
  4241. #if NeedFunctionPrototypes
  4242.     PEXMatrix         /* transform */,
  4243.     int         /* count */,
  4244.     PEXCoord *        /* points */,
  4245.     PEXCoord *        /* points_return */
  4246. #endif
  4247. );
  4248.  
  4249. extern int PEXTransformPoints2D(
  4250. #if NeedFunctionPrototypes
  4251.     PEXMatrix3x3         /* transform */,
  4252.     int         /* count */,
  4253.     PEXCoord2D *        /* points */,
  4254.     PEXCoord2D *        /* points_return */
  4255. #endif
  4256. );
  4257.  
  4258. extern void PEXTransformPoints2DH(
  4259. #if NeedFunctionPrototypes
  4260.     PEXMatrix3x3         /* transform */,
  4261.     int         /* count */,
  4262.     PEXCoord *        /* points */,
  4263.     PEXCoord *        /* points_return */
  4264. #endif
  4265. );
  4266.  
  4267. extern void PEXTransformPoints4D(
  4268. #if NeedFunctionPrototypes
  4269.     PEXMatrix         /* transform */,
  4270.     int         /* count */,
  4271.     PEXCoord4D *        /* points */,
  4272.     PEXCoord4D *        /* points_return */
  4273. #endif
  4274. );
  4275.  
  4276. extern void PEXTransformVectors(
  4277. #if NeedFunctionPrototypes
  4278.     PEXMatrix         /* transform */,
  4279.     int         /* count */,
  4280.     PEXVector *        /* vectors */,
  4281.     PEXVector *        /* vectors_return */
  4282. #endif
  4283. );
  4284.  
  4285. extern void PEXTransformVectors2D(
  4286. #if NeedFunctionPrototypes
  4287.     PEXMatrix3x3         /* transform */,
  4288.     int         /* count */,
  4289.     PEXVector2D *        /* vectors */,
  4290.     PEXVector2D *        /* vectors_return */
  4291. #endif
  4292. );
  4293.  
  4294. extern void PEXTranslate(
  4295. #if NeedFunctionPrototypes
  4296.     PEXVector *        /* trans_vector */,
  4297.     PEXMatrix         /* matrix_return */
  4298. #endif
  4299. );
  4300.  
  4301. extern void PEXTranslate2D(
  4302. #if NeedFunctionPrototypes
  4303.     PEXVector2D *        /* trans_vector */,
  4304.     PEXMatrix3x3         /* matrix_return */
  4305. #endif
  4306. );
  4307.  
  4308. extern void PEXTriangleStrip(
  4309. #if NeedFunctionPrototypes
  4310.     Display *        /* display */,
  4311.     XID         /* resource_id */,
  4312.     PEXOCRequestType         /* req_type */,
  4313.     unsigned int         /* facet_attributes */,
  4314.     unsigned int         /* vertex_attributes */,
  4315.     int         /* color_type */,
  4316.     PEXArrayOfFacetData         /* facet_data */,
  4317.     unsigned int         /* count */,
  4318.     PEXArrayOfVertex         /* vertices */
  4319. #endif
  4320. );
  4321.  
  4322. extern void PEXUnloadFont(
  4323. #if NeedFunctionPrototypes
  4324.     Display *        /* display */,
  4325.     PEXFont         /* font */
  4326. #endif
  4327. );
  4328.  
  4329. extern void PEXUnpostAllStructures(
  4330. #if NeedFunctionPrototypes
  4331.     Display *        /* display */,
  4332.     PEXWorkstation         /* workstation */
  4333. #endif
  4334. );
  4335.  
  4336. extern void PEXUnpostStructure(
  4337. #if NeedFunctionPrototypes
  4338.     Display *        /* display */,
  4339.     PEXWorkstation         /* workstation */,
  4340.     PEXStructure         /* structure */
  4341. #endif
  4342. );
  4343.  
  4344. extern void PEXUpdatePickMeasure(
  4345. #if NeedFunctionPrototypes
  4346.     Display *        /* display */,
  4347.     PEXPickMeasure         /* pick_measure */,
  4348.     int         /* pick_device_type */,
  4349.     PEXPickRecord *        /* pick_record */
  4350. #endif
  4351. );
  4352.  
  4353. extern void PEXUpdateWorkstation(
  4354. #if NeedFunctionPrototypes
  4355.     Display *        /* display */,
  4356.     PEXWorkstation         /* workstation */
  4357. #endif
  4358. );
  4359.  
  4360. extern int PEXViewMappingMatrix(
  4361. #if NeedFunctionPrototypes
  4362.     PEXCoord2D *        /* frame */,
  4363.     PEXNPCSubVolume *        /* viewport */,
  4364.     int         /* perspective */,
  4365.     PEXCoord *        /* prp */,
  4366.     double         /* view_plane */,
  4367.     double         /* back_plane */,
  4368.     double         /* front_plane */,
  4369.     PEXMatrix         /* matrix_return */
  4370. #endif
  4371. );
  4372.  
  4373. extern int PEXViewMappingMatrix2D(
  4374. #if NeedFunctionPrototypes
  4375.     PEXCoord2D *        /* frame */,
  4376.     PEXCoord2D *        /* viewport */,
  4377.     PEXMatrix3x3         /* matrix_return */
  4378. #endif
  4379. );
  4380.  
  4381. extern int PEXViewOrientationMatrix(
  4382. #if NeedFunctionPrototypes
  4383.     PEXCoord *        /* vrp */,
  4384.     PEXVector *        /* vpn */,
  4385.     PEXVector *        /* vup */,
  4386.     PEXMatrix         /* matrix_return */
  4387. #endif
  4388. );
  4389.  
  4390. extern int PEXViewOrientationMatrix2D(
  4391. #if NeedFunctionPrototypes
  4392.     PEXCoord2D *        /* vrp */,
  4393.     PEXVector2D *        /* vup */,
  4394.     PEXMatrix3x3         /* matrix_return */
  4395. #endif
  4396. );
  4397.  
  4398. extern int PEXXCToNPCTransform(
  4399. #if NeedFunctionPrototypes
  4400.     PEXNPCSubVolume *        /* npc_sub_volume */,
  4401.     PEXDeviceCoord *        /* viewport */,
  4402.     unsigned int         /* window_height */,
  4403.     PEXMatrix         /* transform_return */
  4404. #endif
  4405. );
  4406.  
  4407. extern int PEXXCToNPCTransform2D(
  4408. #if NeedFunctionPrototypes
  4409.     PEXNPCSubVolume *        /* npc_sub_volume */,
  4410.     PEXDeviceCoord2D *        /* viewport */,
  4411.     unsigned int         /* window_height */,
  4412.     PEXMatrix3x3         /* transform_return */
  4413. #endif
  4414. );
  4415.  
  4416. extern unsigned long PEXCountOCs(
  4417. #if NeedFunctionPrototypes
  4418.     int         /* float_format */,
  4419.     unsigned long         /* length */,
  4420.     char *        /* encoded_ocs */
  4421. #endif
  4422. );
  4423.  
  4424. _XFUNCPROTOEND
  4425.  
  4426. #endif /* _PEXLIB_H_ */
  4427.