3 * This source code is part of
7 * GROningen MAchine for Chemical Simulations
10 * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12 * Copyright (c) 2001-2004, The GROMACS development team,
13 * check out http://www.gromacs.org for more information.
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version 2
18 * of the License, or (at your option) any later version.
20 * If you want to redistribute modifications, please consider that
21 * scientific software is very special. Version control is crucial -
22 * bugs must be traceable. We will be happy to consider code for
23 * inclusion in the official distribution, but derived work must not
24 * be called official GROMACS. Details are found in the README & COPYING
25 * files - if they are missing, get the official version at www.gromacs.org.
27 * To help us fund GROMACS development, we humbly ask that you cite
28 * the papers on the package - you can find them in the top README file.
30 * For more info, check our website at http://www.gromacs.org
33 * Gromacs Runs On Most of All Computer Systems
48 eXCenter, eXLeft, eXRight
52 eYCenter, eYTop, eYBottom
56 efontTIMES, efontTIMESITALIC, efontTIMESBOLD, efontTIMESBOLDITALIC,
57 efontHELV, efontHELVITALIC, efontHELVBOLD, efontHELVBOLDITALIC,
58 efontCOUR, efontCOURITALIC, efontCOURBOLD, efontCOURBOLDITALIC,
63 typedef struct t_int_psdata *t_psdata;
64 /* Only use t_psdata - it is a pointer to an abstract datatype
65 * that maintains the state of the postscript currently written.
68 extern const char *fontnm[efontNR];
70 t_psdata ps_open(const char *fn, real x1, real y1, real x2, real y2);
72 void ps_linewidth(t_psdata ps, int lw);
73 void ps_color(t_psdata ps, real r, real g, real b);
74 void ps_rgb(t_psdata ps, t_rgb *rgb);
76 void ps_rgb_box(t_psdata ps, t_rgb *rgb);
77 void ps_rgb_nbox(t_psdata ps, t_rgb *rgb, real n);
78 void ps_init_rgb_box(t_psdata ps, real xbox, real ybox);
79 void ps_init_rgb_nbox(t_psdata ps, real xbox, real ybox);
81 void ps_lineto(t_psdata ps, real x, real y);
82 void ps_linerel(t_psdata ps, real dx, real dy);
84 void ps_moveto(t_psdata ps, real x, real y);
85 void ps_moverel(t_psdata ps, real dx, real dy);
87 void ps_line(t_psdata ps, real x1, real y1, real x2, real y2);
89 void ps_box(t_psdata ps, real x1, real y1, real x2, real y2);
90 void ps_fillbox(t_psdata ps, real x1, real y1, real x2, real y2);
92 void ps_arc(t_psdata ps, real x1, real y1, real rad, real a0, real a1);
93 void ps_fillarc(t_psdata ps, real x1, real y1, real rad, real a0, real a1);
94 void ps_arcslice(t_psdata ps, real xc, real yc,
95 real rad1, real rad2, real a0, real a1);
96 void ps_fillarcslice(t_psdata ps, real xc, real yc,
97 real rad1, real rad2, real a0, real a1);
99 void ps_circle(t_psdata ps, real x1, real y1, real rad);
101 void ps_font(t_psdata ps, int font, real size);
102 void ps_strfont(t_psdata ps, char *font, real size);
104 void ps_text(t_psdata ps, real x1, real y1, const char *str);
105 void ps_ctext(t_psdata ps, real x1, real y1, const char *str, int expos);
107 void ps_close(t_psdata ps);
109 void ps_flip(t_psdata ps, gmx_bool bPlus);
110 /* Rotate over 90 (bPlus) or -90 (!bPlus) degrees */
112 void ps_rotate(t_psdata ps, real angle);
114 void ps_translate(t_psdata ps, real x, real y);
116 void ps_setorigin(t_psdata ps);
117 void ps_unsetorigin(t_psdata ps);
119 void viewps(char *fn);
121 void ps_comment(t_psdata ps, const char *s);
127 #endif /* _writeps_h */