Geant4 Cross Reference |
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