gl2ps.h | gl2ps.h | |||
---|---|---|---|---|
/* | /* | |||
* GL2PS, an OpenGL to PostScript Printing Library | * GL2PS, an OpenGL to PostScript Printing Library | |||
* Copyright (C) 1999-2001 Christophe Geuzaine | * Copyright (C) 1999-2002 Christophe Geuzaine | |||
* | * | |||
* $Id: gl2ps.h,v 1.11 2001/11/19 10:54:04 geuzaine Exp $ | * $Id: gl2ps.h,v 1.19 2002/06/05 01:55:52 geuzaine Exp $ | |||
* | * | |||
* E-mail: Christophe.Geuzaine@AdValvas.be | * E-mail: geuz@geuz.org | |||
* URL: http://www.geuz.org/gl2ps/ | * URL: http://www.geuz.org/gl2ps/ | |||
* | * | |||
* 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 | |||
skipping to change at line 32 | skipping to change at line 32 | |||
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||
* | * | |||
*/ | */ | |||
#ifndef __GL2PS_H__ | #ifndef __GL2PS_H__ | |||
#define __GL2PS_H__ | #define __GL2PS_H__ | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <stdlib.h> | #include <stdlib.h> | |||
/* To generate a Windows dll, you have to define GL2PSDLL at compile | ||||
time */ | ||||
#ifdef WIN32 | #ifdef WIN32 | |||
#include <windows.h> | #include <windows.h> | |||
#endif | #ifdef GL2PSDLL | |||
#ifdef GL2PSDLL_EXPORTS | ||||
#define GL2PSDLL_API __declspec(dllexport) | ||||
#else | ||||
#define GL2PSDLL_API __declspec(dllimport) | ||||
#endif /* GL2PSDLL_EXPORTS */ | ||||
#else | ||||
#define GL2PSDLL_API | ||||
#endif /* GL2PSDLL */ | ||||
#else | ||||
#define GL2PSDLL_API | ||||
#endif /* WIN32 */ | ||||
#ifdef __APPLE__ | ||||
#include <OpenGL/gl.h> | ||||
#else | ||||
#include <GL/gl.h> | #include <GL/gl.h> | |||
#endif /* __APPLE__ */ | ||||
#define GL2PS_VERSION 0.5 | #define GL2PS_VERSION 0.6 | |||
#define GL2PS_NONE 0 | #define GL2PS_NONE 0 | |||
/* Output file format */ | /* Output file format */ | |||
#define GL2PS_PS 1 | #define GL2PS_PS 1 | |||
#define GL2PS_TEX 2 | #define GL2PS_TEX 2 | |||
/* Sorting algorithms */ | /* Sorting algorithms */ | |||
#define GL2PS_NO_SORT 1 | #define GL2PS_NO_SORT 1 | |||
skipping to change at line 59 | skipping to change at line 78 | |||
#define GL2PS_BSP_SORT 3 | #define GL2PS_BSP_SORT 3 | |||
/* Options for gl2psBeginPage */ | /* Options for gl2psBeginPage */ | |||
#define GL2PS_DRAW_BACKGROUND (1<<0) | #define GL2PS_DRAW_BACKGROUND (1<<0) | |||
#define GL2PS_SIMPLE_LINE_OFFSET (1<<1) | #define GL2PS_SIMPLE_LINE_OFFSET (1<<1) | |||
#define GL2PS_SILENT (1<<2) | #define GL2PS_SILENT (1<<2) | |||
#define GL2PS_BEST_ROOT (1<<3) | #define GL2PS_BEST_ROOT (1<<3) | |||
#define GL2PS_OCCLUSION_CULL (1<<4) | #define GL2PS_OCCLUSION_CULL (1<<4) | |||
#define GL2PS_NO_TEXT (1<<5) | #define GL2PS_NO_TEXT (1<<5) | |||
#define GL2PS_LANDSCAPE (1<<6) | ||||
/* 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 | #define GL2PS_POLYGON_BOUNDARY 2 | |||
#define GL2PS_LINE_STIPPLE 3 | #define GL2PS_LINE_STIPPLE 3 | |||
/* Magic numbers */ | /* Magic numbers */ | |||
#define GL2PS_EPSILON 5.e-3 | #define GL2PS_EPSILON 5.e-3 | |||
#define GL2PS_DEPTH_FACT 1000.0 | ||||
#define GL2PS_SIMPLE_OFFSET 0.05 | ||||
#define GL2PS_SIMPLE_OFFSET_LARGE 1.0 | ||||
/* 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 | |||
skipping to change at line 126 | skipping to change at line 149 | |||
} 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 _GL2PSbsptree2d GL2PSbsptree2d; | ||||
struct _GL2PSbsptree2d { | ||||
GLshort flag; | ||||
GL2PSxy a, b; | ||||
GL2PSbsptree2d *front, *back; | ||||
}; | ||||
typedef struct { | typedef struct { | |||
GL2PSxyz xyz; | GL2PSxyz xyz; | |||
GL2PSrgba rgba; | GL2PSrgba rgba; | |||
} GL2PSvertex; | } GL2PSvertex; | |||
typedef struct { | typedef struct { | |||
GLshort fontsize; | GLshort fontsize; | |||
char *str, *fontname; | char *str, *fontname; | |||
} GL2PSstring; | } GL2PSstring; | |||
skipping to change at line 156 | skipping to change at line 171 | |||
GLfloat width, depth; | GLfloat width, depth; | |||
GL2PSvertex *verts; | GL2PSvertex *verts; | |||
GL2PSstring *text; | GL2PSstring *text; | |||
} GL2PSprimitive; | } GL2PSprimitive; | |||
typedef struct { | typedef struct { | |||
GLint format, sort, options, colorsize, colormode, buffersize; | GLint format, sort, options, colorsize, colormode, buffersize; | |||
char *title, *producer, *filename; | char *title, *producer, *filename; | |||
GLboolean shade, boundary; | GLboolean shade, boundary; | |||
GLfloat *feedback, offset[2]; | GLfloat *feedback, offset[2]; | |||
GL2PSrgba *colormap; | GL2PSrgba *colormap, lastrgba; | |||
float lastlinewidth; | ||||
GL2PSlist *primitives; | GL2PSlist *primitives; | |||
FILE *stream; | FILE *stream; | |||
} GL2PScontext; | } GL2PScontext; | |||
/* public functions */ | /* public functions */ | |||
GLvoid gl2psBeginPage(char *title, char *producer, | #ifdef __cplusplus | |||
GLint format, GLint sort, GLint options, | extern "C" { | |||
GLint colormode, GLint colorsize, GL2PSrgba *colormap, | #endif | |||
GLint buffersize, FILE *stream, char *filename); | ||||
GLint gl2psEndPage(GLvoid); | GL2PSDLL_API GLvoid gl2psBeginPage(char *title, char *producer, | |||
GLvoid gl2psText(char *str, char *fontname, GLint size); | GLint format, GLint sort, GLint options, | |||
GLvoid gl2psEnable(GLint mode); | GLint colormode, GLint colorsize, | |||
GLvoid gl2psDisable(GLint mode); | GL2PSrgba *colormap, GLint buffersize, | |||
GLvoid gl2psPointSize(GLfloat value); | FILE *stream, char *filename); | |||
GLvoid gl2psLineWidth(GLfloat value); | GL2PSDLL_API GLint gl2psEndPage(GLvoid); | |||
GL2PSDLL_API GLvoid gl2psText(char *str, char *fontname, GLint size); | ||||
GL2PSDLL_API GLvoid gl2psEnable(GLint mode); | ||||
GL2PSDLL_API GLvoid gl2psDisable(GLint mode); | ||||
GL2PSDLL_API GLvoid gl2psPointSize(GLfloat value); | ||||
GL2PSDLL_API GLvoid gl2psLineWidth(GLfloat value); | ||||
#ifdef __cplusplus | ||||
}; | ||||
#endif | #endif | |||
#endif /* __GL2PS_H__ */ | ||||
End of changes. 14 change blocks. | ||||
24 lines changed or deleted | 47 lines changed or added | |||