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; 14 bcolor(char *s){ 15 int c; 16 while (*s != NULL) { 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 print("RED"); 30 return(DRed); 31 case 'g': 32 return(DGreen); 33 case 'b': 34 return(DBlue); 35 case 'm': 36 return(DMagenta); 37 case 'y': 38 return(DYellow); 39 case 'c': 40 return(DCyan); 41 case 'w': 42 return(DWhite); 43 case 'R': 44 return(atoi(s + 1)); 45 case 'G': 46 e1->pgap = atof(s + 1); 47 return(-1); 48 case 'A': 49 e1->pslant = (180. - atof(s + 1)) / RADIAN; 50 return(-1); 51 } 52 while (*++s != NULL) 53 if (*s == '/') { 54 s++; 55 break; 56 } 57 } 58 return DBlack; 59 } 60 void sscpy(struct penvir *a, struct penvir *b){ /* copy 'a' onto 'b' */ 61 b->left = a->left; 62 b->bottom = a->bottom; 63 b->xmin = a->xmin; 64 b->ymin = a->ymin; 65 b->scalex = a->scalex; 66 b->scaley = a->scaley; 67 b->sidex = a->sidex; 68 b->sidey = a->sidey; 69 b->copyx = a->copyx; 70 b->copyy = a->copyy; 71 b->quantum = a->quantum; 72 b->grade = a->grade; 73 b->pmode = a->pmode; 74 b->foregr = a->foregr; 75 b->backgr = a->backgr; 76 } 77 void idle(void){} 78 79 void ptype(char *s){USED(s);} 80