"Fossies" - the Fresh Open Source Software Archive 
Member "gfsview-snapshot-121130/gl2ps/gl2ps.h" (30 Nov 2012, 6536 Bytes) of package /linux/privat/gfsview-snapshot-121130.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "gl2ps.h" see the
Fossies "Dox" file reference documentation.
1 /*
2 * GL2PS, an OpenGL to PostScript Printing Library
3 * Copyright (C) 1999-2011 C. Geuzaine
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of either:
7 *
8 * a) the GNU Library General Public License as published by the Free
9 * Software Foundation, either version 2 of the License, or (at your
10 * option) any later version; or
11 *
12 * b) the GL2PS License as published by Christophe Geuzaine, either
13 * version 2 of the License, or (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful, but
16 * WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either
18 * the GNU Library General Public License or the GL2PS License for
19 * more details.
20 *
21 * You should have received a copy of the GNU Library General Public
22 * License along with this library in the file named "COPYING.LGPL";
23 * if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
24 * Cambridge, MA 02139, USA.
25 *
26 * You should have received a copy of the GL2PS License with this
27 * library in the file named "COPYING.GL2PS"; if not, I will be glad
28 * to provide one.
29 *
30 * For the latest info about gl2ps and a full list of contributors,
31 * see http://www.geuz.org/gl2ps/.
32 *
33 * Please report all bugs and problems to <gl2ps@geuz.org>.
34 */
35
36 #ifndef __GL2PS_H__
37 #define __GL2PS_H__
38
39 #include <stdio.h>
40 #include <stdlib.h>
41
42 /* Define GL2PSDLL at compile time to build a Windows DLL */
43
44 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
45 # if defined(_MSC_VER)
46 # pragma warning(disable:4115)
47 # pragma warning(disable:4996)
48 # endif
49 # include <windows.h>
50 # if defined(GL2PSDLL)
51 # if defined(GL2PSDLL_EXPORTS)
52 # define GL2PSDLL_API __declspec(dllexport)
53 # else
54 # define GL2PSDLL_API __declspec(dllimport)
55 # endif
56 # else
57 # define GL2PSDLL_API
58 # endif
59 #else
60 # define GL2PSDLL_API
61 #endif
62
63 #if defined(__APPLE__) || defined(HAVE_OPENGL_GL_H)
64 # include <OpenGL/gl.h>
65 #else
66 # include <GL/gl.h>
67 #endif
68
69 /* Support for compressed PostScript/PDF/SVG and for embedded PNG
70 images in SVG */
71
72 #if defined(HAVE_ZLIB) || defined(HAVE_LIBZ)
73 # define GL2PS_HAVE_ZLIB
74 # if defined(HAVE_LIBPNG) || defined(HAVE_PNG)
75 # define GL2PS_HAVE_LIBPNG
76 # endif
77 #endif
78
79 /* Version number */
80
81 #define GL2PS_MAJOR_VERSION 1
82 #define GL2PS_MINOR_VERSION 3
83 #define GL2PS_PATCH_VERSION 6
84 #define GL2PS_EXTRA_VERSION ""
85
86 #define GL2PS_VERSION (GL2PS_MAJOR_VERSION + \
87 0.01 * GL2PS_MINOR_VERSION + \
88 0.0001 * GL2PS_PATCH_VERSION)
89
90 #define GL2PS_COPYRIGHT "(C) 1999-2011 C. Geuzaine"
91
92 /* Output file formats (the values and the ordering are important!) */
93
94 #define GL2PS_PS 0
95 #define GL2PS_EPS 1
96 #define GL2PS_TEX 2
97 #define GL2PS_PDF 3
98 #define GL2PS_SVG 4
99 #define GL2PS_PGF 5
100
101 /* Sorting algorithms */
102
103 #define GL2PS_NO_SORT 1
104 #define GL2PS_SIMPLE_SORT 2
105 #define GL2PS_BSP_SORT 3
106
107 /* Message levels and error codes */
108
109 #define GL2PS_SUCCESS 0
110 #define GL2PS_INFO 1
111 #define GL2PS_WARNING 2
112 #define GL2PS_ERROR 3
113 #define GL2PS_NO_FEEDBACK 4
114 #define GL2PS_OVERFLOW 5
115 #define GL2PS_UNINITIALIZED 6
116
117 /* Options for gl2psBeginPage */
118
119 #define GL2PS_NONE 0
120 #define GL2PS_DRAW_BACKGROUND (1<<0)
121 #define GL2PS_SIMPLE_LINE_OFFSET (1<<1)
122 #define GL2PS_SILENT (1<<2)
123 #define GL2PS_BEST_ROOT (1<<3)
124 #define GL2PS_OCCLUSION_CULL (1<<4)
125 #define GL2PS_NO_TEXT (1<<5)
126 #define GL2PS_LANDSCAPE (1<<6)
127 #define GL2PS_NO_PS3_SHADING (1<<7)
128 #define GL2PS_NO_PIXMAP (1<<8)
129 #define GL2PS_USE_CURRENT_VIEWPORT (1<<9)
130 #define GL2PS_COMPRESS (1<<10)
131 #define GL2PS_NO_BLENDING (1<<11)
132 #define GL2PS_TIGHT_BOUNDING_BOX (1<<12)
133
134 /* Arguments for gl2psEnable/gl2psDisable */
135
136 #define GL2PS_POLYGON_OFFSET_FILL 1
137 #define GL2PS_POLYGON_BOUNDARY 2
138 #define GL2PS_LINE_STIPPLE 3
139 #define GL2PS_BLEND 4
140
141 /* Text alignment (o=raster position; default mode is BL):
142 +---+ +---+ +---+ +---+ +---+ +---+ +-o-+ o---+ +---o
143 | o | o | | o | | | | | | | | | | | |
144 +---+ +---+ +---+ +-o-+ o---+ +---o +---+ +---+ +---+
145 C CL CR B BL BR T TL TR */
146
147 #define GL2PS_TEXT_C 1
148 #define GL2PS_TEXT_CL 2
149 #define GL2PS_TEXT_CR 3
150 #define GL2PS_TEXT_B 4
151 #define GL2PS_TEXT_BL 5
152 #define GL2PS_TEXT_BR 6
153 #define GL2PS_TEXT_T 7
154 #define GL2PS_TEXT_TL 8
155 #define GL2PS_TEXT_TR 9
156
157 typedef GLfloat GL2PSrgba[4];
158
159 #if defined(__cplusplus)
160 extern "C" {
161 #endif
162
163 GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer,
164 GLint viewport[4], GLint format, GLint sort,
165 GLint options, GLint colormode,
166 GLint colorsize, GL2PSrgba *colormap,
167 GLint nr, GLint ng, GLint nb, GLint buffersize,
168 FILE *stream, const char *filename);
169 GL2PSDLL_API GLint gl2psEndPage(void);
170 GL2PSDLL_API GLint gl2psSetOptions(GLint options);
171 GL2PSDLL_API GLint gl2psGetOptions(GLint *options);
172 GL2PSDLL_API GLint gl2psBeginViewport(GLint viewport[4]);
173 GL2PSDLL_API GLint gl2psEndViewport(void);
174 GL2PSDLL_API GLint gl2psText(const char *str, const char *fontname,
175 GLshort fontsize);
176 GL2PSDLL_API GLint gl2psTextOpt(const char *str, const char *fontname,
177 GLshort fontsize, GLint align, GLfloat angle);
178 GL2PSDLL_API GLint gl2psSpecial(GLint format, const char *str);
179 GL2PSDLL_API GLint gl2psDrawPixels(GLsizei width, GLsizei height,
180 GLint xorig, GLint yorig,
181 GLenum format, GLenum type, const void *pixels);
182 GL2PSDLL_API GLint gl2psEnable(GLint mode);
183 GL2PSDLL_API GLint gl2psDisable(GLint mode);
184 GL2PSDLL_API GLint gl2psPointSize(GLfloat value);
185 GL2PSDLL_API GLint gl2psLineWidth(GLfloat value);
186 GL2PSDLL_API GLint gl2psBlendFunc(GLenum sfactor, GLenum dfactor);
187
188 /* undocumented */
189 GL2PSDLL_API GLint gl2psDrawImageMap(GLsizei width, GLsizei height,
190 const GLfloat position[3],
191 const unsigned char *imagemap);
192 GL2PSDLL_API const char *gl2psGetFileExtension(GLint format);
193 GL2PSDLL_API const char *gl2psGetFormatDescription(GLint format);
194
195 #if defined(__cplusplus)
196 }
197 #endif
198
199 #endif /* __GL2PS_H__ */