subr.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 != 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. }
  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. }
  76. void idle(void){}
  77. void ptype(char *s){USED(s);}