Remove non-functional PowerPC invsqrt.
[gromacs.git] / include / writeps.h
blob1a9d9261241e11c836781126f3c5db8c914980a8
1 /*
2 * This file is part of the GROMACS molecular simulation package.
4 * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
5 * Copyright (c) 2001-2004, The GROMACS development team,
6 * check out http://www.gromacs.org for more information.
7 * Copyright (c) 2012, by the GROMACS development team, led by
8 * David van der Spoel, Berk Hess, Erik Lindahl, and including many
9 * others, as listed in the AUTHORS file in the top-level source
10 * directory and at http://www.gromacs.org.
12 * GROMACS is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public License
14 * as published by the Free Software Foundation; either version 2.1
15 * of the License, or (at your option) any later version.
17 * GROMACS is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with GROMACS; if not, see
24 * http://www.gnu.org/licenses, or write to the Free Software Foundation,
25 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 * If you want to redistribute modifications to GROMACS, please
28 * consider that scientific software is very special. Version
29 * control is crucial - bugs must be traceable. We will be happy to
30 * consider code for inclusion in the official distribution, but
31 * derived work must not be called official GROMACS. Details are found
32 * in the README & COPYING files - if they are missing, get the
33 * official version at http://www.gromacs.org.
35 * To help us fund GROMACS development, we humbly ask that you cite
36 * the research papers on the package. Check out http://www.gromacs.org.
39 #ifndef _writeps_h
40 #define _writeps_h
43 #include <stdio.h>
44 #include "visibility.h"
45 #include "typedefs.h"
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
51 typedef enum {
52 eXCenter, eXLeft, eXRight
53 } eXPos;
55 typedef enum {
56 eYCenter, eYTop, eYBottom
57 } eYPos;
59 enum {
60 efontTIMES, efontTIMESITALIC, efontTIMESBOLD, efontTIMESBOLDITALIC,
61 efontHELV, efontHELVITALIC, efontHELVBOLD, efontHELVBOLDITALIC,
62 efontCOUR, efontCOURITALIC, efontCOURBOLD, efontCOURBOLDITALIC,
63 efontNR };
66 typedef struct t_int_psdata *t_psdata;
67 /* Only use t_psdata - it is a pointer to an abstract datatype
68 * that maintains the state of the postscript currently written.
71 extern const char *fontnm[efontNR];
73 GMX_LIBGMX_EXPORT
74 t_psdata ps_open(const char *fn,real x1,real y1,real x2,real y2);
76 GMX_LIBGMX_EXPORT
77 void ps_linewidth(t_psdata ps,int lw);
78 GMX_LIBGMX_EXPORT
79 void ps_color(t_psdata ps,real r,real g,real b);
80 GMX_LIBGMX_EXPORT
81 void ps_rgb(t_psdata ps,t_rgb *rgb);
83 void ps_rgb_box(t_psdata ps,t_rgb *rgb);
84 GMX_LIBGMX_EXPORT
85 void ps_rgb_nbox(t_psdata ps,t_rgb *rgb,real n);
86 GMX_LIBGMX_EXPORT
87 void ps_init_rgb_box(t_psdata ps,real xbox, real ybox);
88 GMX_LIBGMX_EXPORT
89 void ps_init_rgb_nbox(t_psdata ps,real xbox, real ybox);
91 void ps_lineto(t_psdata ps,real x,real y);
92 void ps_linerel(t_psdata ps,real dx,real dy);
94 GMX_LIBGMX_EXPORT
95 void ps_moveto(t_psdata ps,real x,real y);
96 GMX_LIBGMX_EXPORT
97 void ps_moverel(t_psdata ps,real dx,real dy);
99 GMX_LIBGMX_EXPORT
100 void ps_line(t_psdata ps,real x1,real y1,real x2,real y2);
102 GMX_LIBGMX_EXPORT
103 void ps_box(t_psdata ps,real x1,real y1,real x2,real y2);
104 GMX_LIBGMX_EXPORT
105 void ps_fillbox(t_psdata ps,real x1,real y1,real x2,real y2);
107 void ps_arc(t_psdata ps,real x1,real y1,real rad,real a0,real a1);
108 void ps_fillarc(t_psdata ps,real x1,real y1,real rad,real a0,real a1);
109 GMX_LIBGMX_EXPORT
110 void ps_arcslice(t_psdata ps,real xc,real yc,
111 real rad1,real rad2,real a0,real a1);
112 GMX_LIBGMX_EXPORT
113 void ps_fillarcslice(t_psdata ps,real xc,real yc,
114 real rad1,real rad2,real a0,real a1);
116 void ps_circle(t_psdata ps,real x1,real y1,real rad);
118 GMX_LIBGMX_EXPORT
119 void ps_font(t_psdata ps,int font,real size);
120 GMX_LIBGMX_EXPORT
121 void ps_strfont(t_psdata ps,char *font,real size);
123 void ps_text(t_psdata ps,real x1,real y1,const char *str);
124 GMX_LIBGMX_EXPORT
125 void ps_ctext(t_psdata ps,real x1,real y1,const char *str,int expos);
127 GMX_LIBGMX_EXPORT
128 void ps_close(t_psdata ps);
130 GMX_LIBGMX_EXPORT
131 void ps_flip(t_psdata ps,gmx_bool bPlus);
132 /* Rotate over 90 (bPlus) or -90 (!bPlus) degrees */
134 GMX_LIBGMX_EXPORT
135 void ps_rotate(t_psdata ps,real angle);
137 GMX_LIBGMX_EXPORT
138 void ps_translate(t_psdata ps,real x,real y);
140 GMX_LIBGMX_EXPORT
141 void ps_setorigin(t_psdata ps);
142 GMX_LIBGMX_EXPORT
143 void ps_unsetorigin(t_psdata ps);
145 void viewps(char *fn);
147 GMX_LIBGMX_EXPORT
148 void ps_comment(t_psdata ps,const char *s);
150 #ifdef __cplusplus
152 #endif
154 #endif /* _writeps_h */