xref: /plan9/sys/src/cmd/plot/libplot/subr.c (revision f19e7b749ec99577072cd8e44030fe810f42c7ad)
1 #include "mplot.h"
2 #define pSMALL    0.5
3 struct penvir  E[9] = {
4 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
5 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
6 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
7 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
8 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
9 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
10 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
11 { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite}
12 };
13 struct penvir *e0 = E, *e1 = &E[1], *esave;
bcolor(char * s)14 bcolor(char *s){
15 	int c;
16 	while (*s != 0) {
17 		switch (*s) {
18 		case '0': case '1': case '2': case '3': case '4':
19 		case '5': case '6': case '7': case '8': case '9':
20 			c=0;
21 			while('0'<=*s && *s<='9')
22 				c=c*10+*s++-'0';
23 			if(c < 0)
24 				return DBlack;
25 			return cmap2rgba(c);
26 		case 'k':  case 'z':	/* zero was old name for kblack */
27 			return(DBlack);
28 		case 'r':
29 			return(DRed);
30 		case 'g':
31 			return(DGreen);
32 		case 'b':
33 			return(DBlue);
34 		case 'm':
35 			return(DMagenta);
36 		case 'y':
37 			return(DYellow);
38 		case 'c':
39 			return(DCyan);
40 		case 'w':
41 			return(DWhite);
42 		case 'R':
43 			return(atoi(s + 1));
44 		case 'G':
45 			e1->pgap = atof(s + 1);
46 			return(-1);
47 		case 'A':
48 			e1->pslant = (180. - atof(s + 1)) / RADIAN;
49 			return(-1);
50 		}
51 		while (*++s != 0)
52 			if (*s == '/') {
53 				s++;
54 				break;
55 			}
56 	}
57 	return DBlack;
58 }
sscpy(struct penvir * a,struct penvir * b)59 void sscpy(struct penvir *a, struct penvir *b){ /* copy 'a' onto 'b' */
60 	b->left = a->left;
61 	b->bottom = a->bottom;
62 	b->xmin = a->xmin;
63 	b->ymin = a->ymin;
64 	b->scalex = a->scalex;
65 	b->scaley = a->scaley;
66 	b->sidex = a->sidex;
67 	b->sidey = a->sidey;
68 	b->copyx = a->copyx;
69 	b->copyy = a->copyy;
70 	b->quantum = a->quantum;
71 	b->grade = a->grade;
72 	b->pmode = a->pmode;
73 	b->foregr = a->foregr;
74 	b->backgr = a->backgr;
75 }
idle(void)76 void idle(void){}
77 
ptype(char * s)78 void ptype(char *s){USED(s);}
79