13e12c5d1SDavid du Colombier #include "mplot.h"
23e12c5d1SDavid du Colombier #define pSMALL 0.5
33e12c5d1SDavid du Colombier struct penvir E[9] = {
47dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
57dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
67dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
77dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
87dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
97dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
107dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite},
117dd7cddfSDavid du Colombier { 0., 1024., 0., 0., 1., -1.,1024., -1024., 0., 0., pSMALL, 1., 1, 0.,1, DBlack, DWhite}
123e12c5d1SDavid du Colombier };
133e12c5d1SDavid du Colombier struct penvir *e0 = E, *e1 = &E[1], *esave;
bcolor(char * s)143e12c5d1SDavid du Colombier bcolor(char *s){
153e12c5d1SDavid du Colombier int c;
16*f19e7b74SDavid du Colombier while (*s != 0) {
173e12c5d1SDavid du Colombier switch (*s) {
183e12c5d1SDavid du Colombier case '0': case '1': case '2': case '3': case '4':
193e12c5d1SDavid du Colombier case '5': case '6': case '7': case '8': case '9':
203e12c5d1SDavid du Colombier c=0;
213e12c5d1SDavid du Colombier while('0'<=*s && *s<='9')
223e12c5d1SDavid du Colombier c=c*10+*s++-'0';
237dd7cddfSDavid du Colombier if(c < 0)
247dd7cddfSDavid du Colombier return DBlack;
257dd7cddfSDavid du Colombier return cmap2rgba(c);
267dd7cddfSDavid du Colombier case 'k': case 'z': /* zero was old name for kblack */
277dd7cddfSDavid du Colombier return(DBlack);
283e12c5d1SDavid du Colombier case 'r':
297dd7cddfSDavid du Colombier return(DRed);
303e12c5d1SDavid du Colombier case 'g':
317dd7cddfSDavid du Colombier return(DGreen);
323e12c5d1SDavid du Colombier case 'b':
337dd7cddfSDavid du Colombier return(DBlue);
343e12c5d1SDavid du Colombier case 'm':
357dd7cddfSDavid du Colombier return(DMagenta);
363e12c5d1SDavid du Colombier case 'y':
377dd7cddfSDavid du Colombier return(DYellow);
383e12c5d1SDavid du Colombier case 'c':
397dd7cddfSDavid du Colombier return(DCyan);
403e12c5d1SDavid du Colombier case 'w':
417dd7cddfSDavid du Colombier return(DWhite);
423e12c5d1SDavid du Colombier case 'R':
433e12c5d1SDavid du Colombier return(atoi(s + 1));
443e12c5d1SDavid du Colombier case 'G':
453e12c5d1SDavid du Colombier e1->pgap = atof(s + 1);
463e12c5d1SDavid du Colombier return(-1);
473e12c5d1SDavid du Colombier case 'A':
483e12c5d1SDavid du Colombier e1->pslant = (180. - atof(s + 1)) / RADIAN;
493e12c5d1SDavid du Colombier return(-1);
503e12c5d1SDavid du Colombier }
51*f19e7b74SDavid du Colombier while (*++s != 0)
523e12c5d1SDavid du Colombier if (*s == '/') {
533e12c5d1SDavid du Colombier s++;
543e12c5d1SDavid du Colombier break;
553e12c5d1SDavid du Colombier }
563e12c5d1SDavid du Colombier }
577dd7cddfSDavid du Colombier return DBlack;
583e12c5d1SDavid du Colombier }
sscpy(struct penvir * a,struct penvir * b)593e12c5d1SDavid du Colombier void sscpy(struct penvir *a, struct penvir *b){ /* copy 'a' onto 'b' */
603e12c5d1SDavid du Colombier b->left = a->left;
613e12c5d1SDavid du Colombier b->bottom = a->bottom;
623e12c5d1SDavid du Colombier b->xmin = a->xmin;
633e12c5d1SDavid du Colombier b->ymin = a->ymin;
643e12c5d1SDavid du Colombier b->scalex = a->scalex;
653e12c5d1SDavid du Colombier b->scaley = a->scaley;
663e12c5d1SDavid du Colombier b->sidex = a->sidex;
673e12c5d1SDavid du Colombier b->sidey = a->sidey;
683e12c5d1SDavid du Colombier b->copyx = a->copyx;
693e12c5d1SDavid du Colombier b->copyy = a->copyy;
703e12c5d1SDavid du Colombier b->quantum = a->quantum;
713e12c5d1SDavid du Colombier b->grade = a->grade;
723e12c5d1SDavid du Colombier b->pmode = a->pmode;
733e12c5d1SDavid du Colombier b->foregr = a->foregr;
743e12c5d1SDavid du Colombier b->backgr = a->backgr;
753e12c5d1SDavid du Colombier }
idle(void)763e12c5d1SDavid du Colombier void idle(void){}
773e12c5d1SDavid du Colombier
ptype(char * s)783e12c5d1SDavid du Colombier void ptype(char *s){USED(s);}
79