gl2ps.h   gl2ps.h 
/* /*
* GL2PS, an OpenGL to Postscript Printing Library, version 0.1 * GL2PS, an OpenGL to Postscript Printing Library, version 0.2
* Copyright (C) 1999-2000 Christophe Geuzaine * Copyright (C) 1999-2000 Christophe Geuzaine
* *
* E-mail: Christophe.Geuzaine@AdValvas.be * E-mail: Christophe.Geuzaine@AdValvas.be
* URL: http://www.montfiore.ulg.ac.be/~geuzaine/gl2ps.html * URL: http://www.montfiore.ulg.ac.be/~geuzaine/gl2ps.html
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public * modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either * License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version. * version 2 of the License, or (at your option) any later version.
* *
* This library is distributed in the hope that it will be useful, * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details. * Library General Public License for more details.
* *
* You should have received a copy of the GNU Library General Public * You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free * License along with this library; if not, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *
* Last modified 12 Feb 2000 * Last modified 19 Feb 2000
*/ */
#ifndef __GL2PS_H__ #ifndef __GL2PS_H__
#define __GL2PS_H__ #define __GL2PS_H__
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <GL/gl.h> #include <GL/gl.h>
#define GL2PS_NONE 0
/* Sorting algorithms */
#define GL2PS_NO_SORT 1
#define GL2PS_SIMPLE_SORT 2
#define GL2PS_BSP_SORT 3
/* Options for gl2psBeginPage */ /* Options for gl2psBeginPage */
#define GL2PS_NO_SORT 1 #define GL2PS_DRAW_BACKGROUND 1
#define GL2PS_SIMPLE_SORT 2 #define GL2PS_SIMPLE_LINE_OFFSET 2
#define GL2PS_BSP_SORT 4 #define GL2PS_SILENT 4
#define GL2PS_DRAW_BACKGROUND 8 #define GL2PS_BEST_ROOT 8
#define GL2PS_SIMPLE_LINE_OFFSET 16
#define GL2PS_SILENT 32
/* Fonts for gl2psText */
#define GL2PS_HELVETICA 1
#define GL2PS_TIMES 2
#define GL2PS_COURIER 3
/* Arguments for gl2psEnable/gl2psDisable */ /* Arguments for gl2psEnable/gl2psDisable */
#define GL2PS_POLYGON_OFFSET_FILL 1 #define GL2PS_POLYGON_OFFSET_FILL 1
#define GL2PS_POLYGON_BOUNDARY 2
/* Magic numbers */ /* Magic numbers */
#define GL2PS_EPSILON 5.e-3 #define GL2PS_EPSILON 5.e-3
/* Message levels */ /* Message levels */
#define GL2PS_INFO 1 #define GL2PS_INFO 1
#define GL2PS_WARNING 2 #define GL2PS_WARNING 2
#define GL2PS_ERROR 3 #define GL2PS_ERROR 3
/* Error codes */ /* Error codes */
#define GL2PS_SUCCESS 0 #define GL2PS_SUCCESS 0
#define GL2PS_NO_FEEDBACK -1 #define GL2PS_NO_FEEDBACK -1
#define GL2PS_OVERFLOW -2 #define GL2PS_OVERFLOW -2
/* Primitive types */ /* Primitive types */
#define GL2PS_TEXT 1 #define GL2PS_TEXT 1
#define GL2PS_POINT 2 #define GL2PS_POINT 2
#define GL2PS_LINE 3 #define GL2PS_LINE 3
#define GL2PS_QUADRANGLE 4 #define GL2PS_QUADRANGLE 4
#define GL2PS_TRIANGLE 5 #define GL2PS_TRIANGLE 5
/* BSP tree primitive comparison */ /* BSP tree primitive comparison */
#define GL2PS_COINCIDENT 1 #define GL2PS_COINCIDENT 1
#define GL2PS_IN_FRONT_OF 2 #define GL2PS_IN_FRONT_OF 2
#define GL2PS_IN_BACK_OF 3 #define GL2PS_IN_BACK_OF 3
#define GL2PS_SPANNING 4 #define GL2PS_SPANNING 4
/* Pass through options */ /* Pass through options */
#define GL2PS_BEGIN_OFFSET_TOKEN 1 #define GL2PS_BEGIN_POLYGON_OFFSET_FILL 1
#define GL2PS_END_OFFSET_TOKEN 2 #define GL2PS_END_POLYGON_OFFSET_FILL 2
#define GL2PS_BEGIN_POLYGON_BOUNDARY 3
#define GL2PS_END_POLYGON_BOUNDARY 4
typedef GLfloat GL2PSrgba[4]; typedef GLfloat GL2PSrgba[4];
typedef GLfloat GL2PSxyz[3]; typedef GLfloat GL2PSxyz[3];
typedef GLfloat GL2PSplane[4]; typedef GLfloat GL2PSplane[4];
typedef struct { typedef struct {
int nmax, size, incr, n; GLint nmax, size, incr, n;
char *array; char *array;
} GL2PSlist; } GL2PSlist;
typedef struct _GL2PSbsptree GL2PSbsptree; typedef struct _GL2PSbsptree GL2PSbsptree;
struct _GL2PSbsptree { struct _GL2PSbsptree {
GL2PSplane plane; GL2PSplane plane;
GL2PSlist *primitives; GL2PSlist *primitives;
GL2PSbsptree *front, *back; GL2PSbsptree *front, *back;
}; };
typedef struct { typedef struct {
GL2PSxyz xyz; GL2PSxyz xyz;
GL2PSrgba rgba; GL2PSrgba rgba;
} GL2PSvertex; } GL2PSvertex;
typedef struct { typedef struct {
short fonttype, fontsize; GLshort fontsize;
char *str; char *str, *fontname;
} GL2PSstring; } GL2PSstring;
typedef struct { typedef struct {
short type, numverts; GLshort type, numverts, boundary;
GLfloat depth; GLfloat depth;
GL2PSvertex *verts; GL2PSvertex *verts;
GL2PSstring *text; GL2PSstring *text;
} GL2PSprimitive; } GL2PSprimitive;
typedef struct { typedef struct {
int mode, options, feedsize, colorsize; GLint sort, options, colorsize, colormode, buffersize;
GLboolean shade; char *title, *producer;
GLboolean shade, boundary;
GLfloat *feedback, offset[2]; GLfloat *feedback, offset[2];
GL2PSrgba *colormap; GL2PSrgba *colormap;
GL2PSlist *primitives; GL2PSlist *primitives;
FILE *file; FILE *stream;
} GL2PScontext; } GL2PScontext;
/* public functions */ /* public functions */
void gl2psBeginPage(char *title, char *producer, int mode, int options, GLvoid gl2psBeginPage(char *title, char *producer, GLint sort, GLint option
int feedsize, int colorsize, GL2PSrgba * rgba, s,
FILE * file); GLint colormode, GLint colorsize, GL2PSrgba *colormap,
int gl2psEndPage(void); GLint buffersize, FILE * stream);
void gl2psText(char *str, int size, int font); GLint gl2psEndPage(GLvoid);
void gl2psEnable(int mode); GLvoid gl2psText(char *str, char *fontname, GLint size);
void gl2psDisable(int mode); GLvoid gl2psEnable(GLint mode);
GLvoid gl2psDisable(GLint mode);
#endif #endif
 End of changes. 17 change blocks. 
47 lines changed or deleted 52 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/