subr.c 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. void ptype(char *s){USED(s);}