6e541430c7bec53193b95420fc3c4864cead1a2e
[alexxy/gromacs.git] / include / writeps.h
1 /*
2  * $Id$
3  * 
4  *       This source code is part of
5  * 
6  *        G   R   O   M   A   C   S
7  * 
8  * GROningen MAchine for Chemical Simulations
9  * 
10  *               VERSION 2.0
11  * 
12  * Copyright (c) 1991-1999
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * Please refer to:
17  * GROMACS: A message-passing parallel molecular dynamics implementation
18  * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19  * Comp. Phys. Comm. 91, 43-56 (1995)
20  * 
21  * Also check out our WWW page:
22  * http://md.chem.rug.nl/~gmx
23  * or e-mail to:
24  * gromacs@chem.rug.nl
25  * 
26  * And Hey:
27  * Green Red Orange Magenta Azure Cyan Skyblue
28  */
29
30 #ifndef _writeps_h
31 #define _writeps_h
32
33 static char *SRCID_writeps_h = "$Id$";
34
35 #ifdef HAVE_CONFIG_H
36 #include <config.h>
37 #endif
38
39 #ifdef HAVE_IDENT
40 #ident  "@(#) writeps.h 1.10 8/25/97"
41 #endif /* HAVE_IDENT */
42 #include <stdio.h>
43 #include "typedefs.h"
44
45 typedef enum { 
46   eXCenter, eXLeft, eXRight
47 } eXPos;
48
49 typedef enum { 
50   eYCenter, eYTop,  eYBottom
51 } eYPos; 
52
53 enum { 
54   efontTIMES, efontTIMESITALIC, efontTIMESBOLD, efontTIMESBOLDITALIC,
55   efontHELV,  efontHELVITALIC,  efontHELVBOLD,  efontHELVBOLDITALIC,
56   efontCOUR,  efontCOURITALIC,  efontCOURBOLD,  efontCOURBOLDITALIC,
57   efontNR };
58
59 extern char *fontnm[efontNR];
60
61 extern FILE *ps_open(char *fn,real x1,real y1,real x2,real y2);
62
63 extern void ps_linewidth(FILE *ps,int lw);
64 extern void ps_color(FILE *ps,real r,real g,real b);
65 extern void ps_rgb(FILE *ps,t_rgb *rgb);
66
67 extern void ps_rgb_box(FILE *ps,t_rgb *rgb);
68 extern void ps_rgb_nbox(FILE *ps,t_rgb *rgb,real n);
69 extern void ps_init_rgb_box(FILE *ps,real xbox, real ybox);
70 extern void ps_init_rgb_nbox(FILE *ps,real xbox, real ybox);
71
72 extern void ps_lineto(FILE *ps,real x,real y);
73 extern void ps_linerel(FILE *ps,real dx,real dy);
74
75 extern void ps_moveto(FILE *ps,real x,real y);
76 extern void ps_moverel(FILE *ps,real dx,real dy);
77
78 extern void ps_line(FILE *ps,real x1,real y1,real x2,real y2);
79
80 extern void ps_box(FILE *ps,real x1,real y1,real x2,real y2);
81 extern void ps_fillbox(FILE *ps,real x1,real y1,real x2,real y2);
82
83 extern void ps_arc(FILE *ps,real x1,real y1,real rad,real a0,real a1);
84 extern void ps_fillarc(FILE *ps,real x1,real y1,real rad,real a0,real a1);
85 extern void ps_arcslice(FILE *ps,real xc,real yc,
86                         real rad1,real rad2,real a0,real a1);
87 extern void ps_fillarcslice(FILE *ps,real xc,real yc,
88                             real rad1,real rad2,real a0,real a1);
89
90 extern void ps_circle(FILE *ps,real x1,real y1,real rad);
91
92 extern void ps_font(FILE *ps,int font,real size);
93 extern void ps_strfont(FILE *ps,char *font,real size);
94
95 extern void ps_text(FILE *ps,real x1,real y1,char *str);
96 extern void ps_ctext(FILE *ps,real x1,real y1,char *str,int expos);
97
98 extern void ps_close(FILE *ps);
99
100 extern void ps_rotate(FILE *ps,bool bPlus);
101 /* Rotate over 90 (bPlus) or -90 (!bPlus) degrees */
102 extern void ps_translate(FILE *ps,real x,real y);
103
104 extern void ps_setorigin(FILE *ps);
105 extern void ps_unsetorigin(FILE *ps);
106
107 extern void viewps(char *fn);
108
109 extern void ps_comment(FILE *ps,char *s);
110
111 #endif  /* _writeps_h */