xref: /plan9-contrib/sys/src/cmd/plot/libplot/mplot.h (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier #include <u.h>
2*3e12c5d1SDavid du Colombier #include <libc.h>
3*3e12c5d1SDavid du Colombier #include <stdio.h>
4*3e12c5d1SDavid du Colombier #include <libg.h>
5*3e12c5d1SDavid du Colombier #define SCX(A) ((((A) - e1->xmin)*e1->scalex  + e1->left)+.5)
6*3e12c5d1SDavid du Colombier #define SCY(A) ((((A) - e1->ymin)*e1->scaley + e1->bottom)+.5)
7*3e12c5d1SDavid du Colombier #define	SCR(A) ((A)*e1->scalex+.5)
8*3e12c5d1SDavid du Colombier #define unorm(y)	(double)(e1->sidey - y)
9*3e12c5d1SDavid du Colombier #define	BIGINT	0x3FFFFFFF	/* a large, but valid, int */
10*3e12c5d1SDavid du Colombier extern struct penvir {
11*3e12c5d1SDavid du Colombier 	double left, bottom;
12*3e12c5d1SDavid du Colombier 	double xmin, ymin;
13*3e12c5d1SDavid du Colombier 	double scalex, scaley;
14*3e12c5d1SDavid du Colombier 	double sidex, sidey;
15*3e12c5d1SDavid du Colombier 	double copyx, copyy;
16*3e12c5d1SDavid du Colombier 	double quantum;
17*3e12c5d1SDavid du Colombier 	double grade;
18*3e12c5d1SDavid du Colombier 	int pgap;
19*3e12c5d1SDavid du Colombier 	double pslant;
20*3e12c5d1SDavid du Colombier 	int pmode, foregr, backgr;
21*3e12c5d1SDavid du Colombier } *e0, *e1, *esave;
22*3e12c5d1SDavid du Colombier #define RADIAN 57.3	/* radians per degree */
23*3e12c5d1SDavid du Colombier struct seg {
24*3e12c5d1SDavid du Colombier 	int x, y, X, Y;
25*3e12c5d1SDavid du Colombier 	char stat;
26*3e12c5d1SDavid du Colombier };
27*3e12c5d1SDavid du Colombier /*
28*3e12c5d1SDavid du Colombier  * Color values
29*3e12c5d1SDavid du Colombier  */
30*3e12c5d1SDavid du Colombier #define ZERO 3
31*3e12c5d1SDavid du Colombier #define RED 2
32*3e12c5d1SDavid du Colombier #define GREEN 2
33*3e12c5d1SDavid du Colombier #define YELLOW 1
34*3e12c5d1SDavid du Colombier #define BLUE 2
35*3e12c5d1SDavid du Colombier #define MAGENTA 1
36*3e12c5d1SDavid du Colombier #define CYAN 1
37*3e12c5d1SDavid du Colombier #define WHITE 0
38*3e12c5d1SDavid du Colombier /*
39*3e12c5d1SDavid du Colombier  * display parameters
40*3e12c5d1SDavid du Colombier  */
41*3e12c5d1SDavid du Colombier int clipminx, clipminy, clipmaxx, clipmaxy;	/* clipping rectangle */
42*3e12c5d1SDavid du Colombier int mapminx, mapminy, mapmaxx, mapmaxy;		/* centered square */
43*3e12c5d1SDavid du Colombier /*
44*3e12c5d1SDavid du Colombier  * Prototypes
45*3e12c5d1SDavid du Colombier  */
46*3e12c5d1SDavid du Colombier #include "../plot.h"
47*3e12c5d1SDavid du Colombier void m_clrwin(int, int, int, int, int);
48*3e12c5d1SDavid du Colombier void m_finish(void);
49*3e12c5d1SDavid du Colombier void m_initialize(char *);
50*3e12c5d1SDavid du Colombier int m_text(int, int, char *, char *, int, int, int);
51*3e12c5d1SDavid du Colombier void m_vector(int, int, int, int, int);
52*3e12c5d1SDavid du Colombier void m_swapbuf(void);
53*3e12c5d1SDavid du Colombier void m_dblbuf(void);
54*3e12c5d1SDavid du Colombier int bcolor(char *);
55*3e12c5d1SDavid du Colombier void sscpy(struct penvir *, struct penvir *);
56