Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/gl2ps_def.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 /* Copyright (C) 2010, Guy Barrand. All rights reserved. */
  2 /* See the file tools.license for terms.                 */
  3 
  4 #ifndef tools_gl2ps_def_h
  5 #define tools_gl2ps_def_h
  6 
  7 typedef int            tools_GLint;
  8 typedef unsigned int   tools_GLuint;
  9 typedef float          tools_GLfloat;
 10 typedef unsigned int   tools_GLenum;
 11 typedef short          tools_GLshort;
 12 typedef unsigned short tools_GLushort;
 13 typedef int            tools_GLsizei;
 14 typedef unsigned char  tools_GLboolean;
 15 
 16 /*----------------------------------------------------------*/
 17 /*---  from gl2ps.h : --------------------------------------*/
 18 /*----------------------------------------------------------*/
 19 #define TOOLS_GL2PSDLL_API inline
 20 
 21 #define TOOLS_GL2PS_MAJOR_VERSION 1
 22 #define TOOLS_GL2PS_MINOR_VERSION 4
 23 #define TOOLS_GL2PS_PATCH_VERSION 2
 24 #define TOOLS_GL2PS_EXTRA_VERSION ""
 25 
 26 #define TOOLS_GL2PS_VERSION (TOOLS_GL2PS_MAJOR_VERSION + \
 27                        0.01 * TOOLS_GL2PS_MINOR_VERSION + \
 28                        0.0001 * TOOLS_GL2PS_PATCH_VERSION)
 29 
 30 #define TOOLS_GL2PS_COPYRIGHT "(C) 1999-2020 C. Geuzaine"
 31 
 32 /* Output file formats (the values and the ordering are important!) */
 33 
 34 #define TOOLS_GL2PS_PS  0
 35 #define TOOLS_GL2PS_EPS 1
 36 #define TOOLS_GL2PS_TEX 2
 37 #define TOOLS_GL2PS_PDF 3
 38 #define TOOLS_GL2PS_SVG 4
 39 #define TOOLS_GL2PS_PGF 5
 40 
 41 /* Sorting algorithms */
 42 
 43 #define TOOLS_GL2PS_NO_SORT     1
 44 #define TOOLS_GL2PS_SIMPLE_SORT 2
 45 #define TOOLS_GL2PS_BSP_SORT    3
 46 
 47 /* Message levels and error codes */
 48 
 49 #define TOOLS_GL2PS_SUCCESS       0
 50 #define TOOLS_GL2PS_INFO          1
 51 #define TOOLS_GL2PS_WARNING       2
 52 #define TOOLS_GL2PS_ERROR         3
 53 #define TOOLS_GL2PS_NO_FEEDBACK   4
 54 #define TOOLS_GL2PS_OVERFLOW      5
 55 #define TOOLS_GL2PS_UNINITIALIZED 6
 56 
 57 /* Options for tools_gl2psBeginPage */
 58 
 59 #define TOOLS_GL2PS_NONE                 0
 60 #define TOOLS_GL2PS_DRAW_BACKGROUND      (1<<0)
 61 #define TOOLS_GL2PS_SIMPLE_LINE_OFFSET   (1<<1)
 62 #define TOOLS_GL2PS_SILENT               (1<<2)
 63 #define TOOLS_GL2PS_BEST_ROOT            (1<<3)
 64 #define TOOLS_GL2PS_OCCLUSION_CULL       (1<<4)
 65 #define TOOLS_GL2PS_NO_TEXT              (1<<5)
 66 #define TOOLS_GL2PS_LANDSCAPE            (1<<6)
 67 #define TOOLS_GL2PS_NO_PS3_SHADING       (1<<7)
 68 #define TOOLS_GL2PS_NO_PIXMAP            (1<<8)
 69 #define TOOLS_GL2PS_USE_CURRENT_VIEWPORT (1<<9)
 70 #define TOOLS_GL2PS_COMPRESS             (1<<10)
 71 #define TOOLS_GL2PS_NO_BLENDING          (1<<11)
 72 #define TOOLS_GL2PS_TIGHT_BOUNDING_BOX   (1<<12)
 73 #define TOOLS_GL2PS_NO_OPENGL_CONTEXT    (1<<13)
 74 #define TOOLS_GL2PS_NO_TEX_FONTSIZE      (1<<14)
 75 #define TOOLS_GL2PS_PORTABLE_SORT        (1<<15)
 76 
 77 /* Arguments for tools_gl2psEnable/tools_gl2psDisable */
 78 
 79 #define TOOLS_GL2PS_POLYGON_OFFSET_FILL 1
 80 #define TOOLS_GL2PS_POLYGON_BOUNDARY    2
 81 #define TOOLS_GL2PS_LINE_STIPPLE        3
 82 #define TOOLS_GL2PS_BLEND               4
 83 
 84 
 85 /* Arguments for tools_gl2psLineCap/Join */
 86 
 87 #define TOOLS_GL2PS_LINE_CAP_BUTT       0
 88 #define TOOLS_GL2PS_LINE_CAP_ROUND      1
 89 #define TOOLS_GL2PS_LINE_CAP_SQUARE     2
 90 
 91 #define TOOLS_GL2PS_LINE_JOIN_MITER     0
 92 #define TOOLS_GL2PS_LINE_JOIN_ROUND     1
 93 #define TOOLS_GL2PS_LINE_JOIN_BEVEL     2
 94 
 95 /* Text alignment (o=raster position; default mode is BL):
 96    +---+ +---+ +---+ +---+ +---+ +---+ +-o-+ o---+ +---o
 97    | o | o   | |   o |   | |   | |   | |   | |   | |   |
 98    +---+ +---+ +---+ +-o-+ o---+ +---o +---+ +---+ +---+
 99     C     CL    CR    B     BL    BR    T     TL    TR */
100 
101 #define TOOLS_GL2PS_TEXT_C  1
102 #define TOOLS_GL2PS_TEXT_CL 2
103 #define TOOLS_GL2PS_TEXT_CR 3
104 #define TOOLS_GL2PS_TEXT_B  4
105 #define TOOLS_GL2PS_TEXT_BL 5
106 #define TOOLS_GL2PS_TEXT_BR 6
107 #define TOOLS_GL2PS_TEXT_T  7
108 #define TOOLS_GL2PS_TEXT_TL 8
109 #define TOOLS_GL2PS_TEXT_TR 9
110 
111 typedef tools_GLfloat tools_GL2PSrgba[4];
112 typedef tools_GLfloat tools_GL2PSxyz[3];
113 
114 typedef struct {
115   tools_GL2PSxyz xyz;
116   tools_GL2PSrgba rgba;
117 } tools_GL2PSvertex;
118 
119 /* Primitive types */
120 #define TOOLS_GL2PS_NO_TYPE          -1
121 #define TOOLS_GL2PS_TEXT             1
122 #define TOOLS_GL2PS_POINT            2
123 #define TOOLS_GL2PS_LINE             3
124 #define TOOLS_GL2PS_QUADRANGLE       4
125 #define TOOLS_GL2PS_TRIANGLE         5
126 #define TOOLS_GL2PS_PIXMAP           6
127 #define TOOLS_GL2PS_IMAGEMAP         7
128 #define TOOLS_GL2PS_IMAGEMAP_WRITTEN 8
129 #define TOOLS_GL2PS_IMAGEMAP_VISIBLE 9
130 #define TOOLS_GL2PS_SPECIAL          10
131 
132 /*----------------------------------------------------------*/
133 /*--- from OpenGL : ----------------------------------------*/
134 /*----------------------------------------------------------*/
135 #define TOOLS_GL_TRUE                           1
136 #define TOOLS_GL_FALSE                          0
137 
138 #define TOOLS_GL_FLOAT        0x1406
139 #define TOOLS_GL_BLEND        0x0BE2
140 
141 #define TOOLS_GL_SRC_ALPHA        0x0302
142 #define TOOLS_GL_ONE_MINUS_SRC_ALPHA                  0x0303
143 
144 #define TOOLS_GL_RGB          0x1907
145 #define TOOLS_GL_RGBA                                 0x1908
146 
147 #define TOOLS_GL_POINTS                               0x0000
148 
149 #define TOOLS_GL_CURRENT_RASTER_POSITION_VALID  0x0B08
150 #define TOOLS_GL_CURRENT_RASTER_POSITION    0x0B07
151 #define TOOLS_GL_CURRENT_RASTER_COLOR     0x0B04
152 #define TOOLS_GL_ZERO         0
153 #define TOOLS_GL_ONE          1
154 #define TOOLS_GL_COLOR_INDEX        0x1900
155 
156 #define TOOLS_GL_POINT_TOKEN        0x0701
157 #define TOOLS_GL_LINE_TOKEN       0x0702
158 #define TOOLS_GL_LINE_RESET_TOKEN     0x0707
159 #define TOOLS_GL_POLYGON_TOKEN      0x0703
160 #define TOOLS_GL_BITMAP_TOKEN       0x0704
161 #define TOOLS_GL_DRAW_PIXEL_TOKEN     0x0705
162 
163 #define TOOLS_GL_COPY_PIXEL_TOKEN     0x0706
164 #define TOOLS_GL_PASS_THROUGH_TOKEN     0x0700
165 
166 #define TOOLS_GL_FEEDBACK       0x1C01
167 #define TOOLS_GL_COLOR_CLEAR_VALUE      0x0C22
168 #define TOOLS_GL_INDEX_CLEAR_VALUE      0x0C20
169 #define TOOLS_GL_RENDER       0x1C00
170 #define TOOLS_GL_VIEWPORT       0x0BA2
171 #define TOOLS_GL_BLEND_SRC        0x0BE1
172 #define TOOLS_GL_BLEND_DST        0x0BE0
173 #define TOOLS_GL_3D_COLOR       0x0602
174 
175 #define TOOLS_GL_POLYGON_OFFSET_FACTOR    0x8038
176 #define TOOLS_GL_POLYGON_OFFSET_UNITS     0x2A00
177 #define TOOLS_GL_LINE_STIPPLE_PATTERN     0x0B25
178 #define TOOLS_GL_LINE_STIPPLE_REPEAT      0x0B26
179 
180 #define TOOLS_GL_ZOOM_X       0x0D16
181 #define TOOLS_GL_ZOOM_Y       0x0D17
182 
183 /*----------------------------------------------------------*/
184 /*----------------------------------------------------------*/
185 /*----------------------------------------------------------*/
186 typedef struct tools_GL2PScontextRec* tools_GL2PScontextPointer;
187 
188 typedef tools_GLboolean (*tools_glIsEnabled_func)      (tools_GLenum);
189 typedef void            (*tools_glBegin_func)          (tools_GLenum);
190 typedef void            (*tools_glEnd_func)            ();
191 typedef void            (*tools_glGetFloatv_func)      (tools_GLenum,tools_GLfloat*);
192 typedef void            (*tools_glVertex3f_func)       (tools_GLfloat,tools_GLfloat,tools_GLfloat);
193 typedef void            (*tools_glGetBooleanv_func)    (tools_GLenum,tools_GLboolean*);
194 typedef void            (*tools_glGetIntegerv_func)    (tools_GLenum,tools_GLint*);
195 typedef tools_GLint     (*tools_glRenderMode_func)     (tools_GLenum);
196 typedef void            (*tools_glFeedbackBuffer_func) (tools_GLsizei,tools_GLenum,tools_GLfloat*);
197 typedef void            (*tools_glPassThrough_func)    (tools_GLfloat);
198 
199 typedef struct {
200   tools_glIsEnabled_func      m_glIsEnabled;
201   tools_glBegin_func          m_glBegin;
202   tools_glEnd_func            m_glEnd;
203   tools_glGetFloatv_func      m_glGetFloatv;
204   tools_glVertex3f_func       m_glVertex3f;
205   tools_glGetBooleanv_func    m_glGetBooleanv;
206   tools_glGetIntegerv_func    m_glGetIntegerv;
207   tools_glRenderMode_func     m_glRenderMode;
208   tools_glFeedbackBuffer_func m_glFeedbackBuffer;
209   tools_glPassThrough_func    m_glPassThrough;
210 } tools_gl2ps_gl_funcs_t;
211 
212 #endif
213