"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__ */