gl2ps.h | gl2ps.h | |||
---|---|---|---|---|
/* | /* | |||
* GL2PS, an OpenGL to PostScript Printing Library | * GL2PS, an OpenGL to PostScript Printing Library | |||
* Copyright (C) 1999-2002 Christophe Geuzaine | * Copyright (C) 1999-2003 Christophe Geuzaine | |||
* | * | |||
* $Id: gl2ps.h,v 1.32 2002/12/11 23:54:11 geuzaine Exp $ | * $Id: gl2ps.h,v 1.47 2003/03/07 18:37:15 geuzaine Exp $ | |||
* | * | |||
* E-mail: geuz@geuz.org | * 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, | |||
skipping to change at line 37 | skipping to change at line 37 | |||
#define __GL2PS_H__ | #define __GL2PS_H__ | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <math.h> | #include <math.h> | |||
/* To generate a Windows dll, you have to define GL2PSDLL at compile | /* To generate a Windows dll, you have to define GL2PSDLL at compile | |||
time */ | time */ | |||
#ifdef WIN32 | #ifdef WIN32 | |||
#include <windows.h> | # include <windows.h> | |||
#ifdef GL2PSDLL | # ifdef GL2PSDLL | |||
#ifdef GL2PSDLL_EXPORTS | # ifdef GL2PSDLL_EXPORTS | |||
#define GL2PSDLL_API __declspec(dllexport) | # define GL2PSDLL_API __declspec(dllexport) | |||
# else | ||||
# define GL2PSDLL_API __declspec(dllimport) | ||||
# endif | ||||
# else | ||||
# define GL2PSDLL_API | ||||
# endif | ||||
#else | #else | |||
#define GL2PSDLL_API __declspec(dllimport) | # define GL2PSDLL_API | |||
#endif /* GL2PSDLL_EXPORTS */ | #endif | |||
#else | ||||
#define GL2PSDLL_API | ||||
#endif /* GL2PSDLL */ | ||||
#else | ||||
#define GL2PSDLL_API | ||||
#endif /* WIN32 */ | ||||
#ifdef __APPLE__ | #ifdef __APPLE__ | |||
#include <OpenGL/gl.h> | # include <OpenGL/gl.h> | |||
#else | #else | |||
#include <GL/gl.h> | # include <GL/gl.h> | |||
#endif /* __APPLE__ */ | #endif | |||
#define GL2PS_VERSION 0.7 | #define GL2PS_VERSION 0.8 | |||
#define GL2PS_NONE 0 | #define GL2PS_NONE 0 | |||
/* Output file format */ | /* Output file format */ | |||
#define GL2PS_PS 1 | #define GL2PS_PS 1 | |||
#define GL2PS_EPS 2 | #define GL2PS_EPS 2 | |||
#define GL2PS_TEX 3 | #define GL2PS_TEX 3 | |||
/* Sorting algorithms */ | /* Sorting algorithms */ | |||
skipping to change at line 82 | skipping to change at line 82 | |||
/* 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) | #define GL2PS_LANDSCAPE (1<<6) | |||
#define GL2PS_NO_PS3_SHADING (1<<7) | #define GL2PS_NO_PS3_SHADING (1<<7) | |||
#define GL2PS_NO_PIXMAP (1<<8) | ||||
/* 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_DEPTH_FACT 1000.0 | |||
#define GL2PS_SIMPLE_OFFSET 0.05 | #define GL2PS_SIMPLE_OFFSET 0.05 | |||
#define GL2PS_SIMPLE_OFFSET_LARGE 1.0 | #define GL2PS_SIMPLE_OFFSET_LARGE 1.0 | |||
#define GL2PS_ZERO(arg) (fabs(arg)<1.e-20) | #define GL2PS_ZERO(arg) (fabs(arg)<1.e-20) | |||
/*#define GL2PS_ZERO(arg) ((arg)==0.0)*/ | /*#define GL2PS_ZERO(arg) ((arg)==0.0)*/ | |||
/* Message levels */ | /* Message levels and error codes */ | |||
#define GL2PS_SUCCESS 0 | ||||
#define GL2PS_INFO 1 | #define GL2PS_INFO 1 | |||
#define GL2PS_WARNING 2 | #define GL2PS_WARNING 2 | |||
#define GL2PS_ERROR 3 | #define GL2PS_ERROR 3 | |||
#define GL2PS_NO_FEEDBACK 4 | ||||
/* Error codes */ | #define GL2PS_OVERFLOW 5 | |||
#define GL2PS_UNINITIALIZED 6 | ||||
#define GL2PS_SUCCESS 0 | ||||
#define GL2PS_NO_FEEDBACK -1 | ||||
#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 | |||
#define GL2PS_PIXMAP 6 | ||||
/* 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 | |||
/* 2D BSP tree primitive comparison */ | /* 2D BSP tree primitive comparison */ | |||
skipping to change at line 177 | skipping to change at line 177 | |||
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; | |||
typedef struct { | typedef struct { | |||
GLsizei width, height; | ||||
GLenum format, type; | ||||
GLfloat *pixels; | ||||
} GL2PSimage; | ||||
typedef struct { | ||||
GLshort type, numverts; | GLshort type, numverts; | |||
char boundary, dash, culled; | char boundary, dash, culled; | |||
GLfloat width, depth; | GLfloat width, depth; | |||
GL2PSvertex *verts; | GL2PSvertex *verts; | |||
GL2PSstring *text; | GL2PSstring *text; | |||
GL2PSimage *image; | ||||
} GL2PSprimitive; | } GL2PSprimitive; | |||
typedef struct { | typedef struct { | |||
GLint format, sort, options, colorsize, colormode, buffersize, maxbestroo t; | GLint format, sort, options, colorsize, colormode, buffersize, maxbestroo t; | |||
const char *title, *producer, *filename; | const char *title, *producer, *filename; | |||
GLboolean shade, boundary; | GLboolean shade, boundary; | |||
GLfloat *feedback, offset[2]; | GLfloat *feedback, offset[2]; | |||
GLint viewport[4]; | ||||
GL2PSrgba *colormap, lastrgba, threshold; | GL2PSrgba *colormap, lastrgba, threshold; | |||
float lastlinewidth; | float lastlinewidth; | |||
GL2PSlist *primitives; | GL2PSlist *primitives; | |||
GL2PSbsptree2d *image; | GL2PSbsptree2d *imagetree; | |||
FILE *stream; | FILE *stream; | |||
} GL2PScontext; | } GL2PScontext; | |||
/* public functions */ | /* public functions */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
GL2PSDLL_API void gl2psBeginPage(const char *title, const char *producer, | GL2PSDLL_API GLint gl2psBeginPage(const char *title, const char *producer, | |||
GLint format, GLint sort, GLint options, | GLint viewport[4], GLint format, GLint sor | |||
GLint colormode, GLint colorsize, | t, | |||
GL2PSrgba *colormap, GLint buffersize, | GLint options, GLint colormode, | |||
GLint colorsize, GL2PSrgba *colormap, | ||||
GLint nr, GLint ng, GLint nb, GLint buffer | ||||
size, | ||||
FILE *stream, const char *filename); | FILE *stream, const char *filename); | |||
GL2PSDLL_API GLint gl2psEndPage(void); | GL2PSDLL_API GLint gl2psEndPage(void); | |||
GL2PSDLL_API void gl2psText(const char *str, const char *fontname, GLint s | GL2PSDLL_API GLint gl2psBeginViewport(GLint viewport[4]); | |||
ize); | GL2PSDLL_API GLint gl2psEndViewport(void); | |||
GL2PSDLL_API void gl2psEnable(GLint mode); | GL2PSDLL_API GLint gl2psText(const char *str, const char *fontname, GLshort | |||
GL2PSDLL_API void gl2psDisable(GLint mode); | fontsize); | |||
GL2PSDLL_API void gl2psPointSize(GLfloat value); | GL2PSDLL_API GLint gl2psDrawPixels(GLsizei width, GLsizei height, | |||
GL2PSDLL_API void gl2psLineWidth(GLfloat value); | GLint xorig, GLint yorig, | |||
GL2PSDLL_API void gl2psNumShadeColors(GLint nr, GLint ng, GLint nb); | GLenum format, GLenum type, const void *p | |||
ixels); | ||||
GL2PSDLL_API GLint gl2psEnable(GLint mode); | ||||
GL2PSDLL_API GLint gl2psDisable(GLint mode); | ||||
GL2PSDLL_API GLint gl2psPointSize(GLfloat value); | ||||
GL2PSDLL_API GLint gl2psLineWidth(GLfloat value); | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* __GL2PS_H__ */ | #endif /* __GL2PS_H__ */ | |||
End of changes. 18 change blocks. | ||||
37 lines changed or deleted | 53 lines changed or added | |||