graphics.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <string.h>
  2. #include <grass/gis.h>
  3. #include <grass/glocale.h>
  4. #include "local_proto.h"
  5. int graphics(FILE * infile)
  6. {
  7. char buff[128 + 1];
  8. int got_new;
  9. got_new = G_getl2(buff, 128, infile);
  10. G_strip(buff);
  11. while (got_new) {
  12. switch (*buff & 0177) {
  13. case 't':
  14. do_text(buff);
  15. got_new = G_getl2(buff, 128, infile);
  16. break;
  17. case 's':
  18. if (strncmp(buff, "sym", 3) == 0)
  19. do_symbol(buff);
  20. else
  21. do_size(buff);
  22. got_new = G_getl2(buff, 128, infile);
  23. break;
  24. case 'r':
  25. do_rotate(buff);
  26. got_new = G_getl2(buff, 128, infile);
  27. break;
  28. case 'p':
  29. got_new = do_poly(buff, infile);
  30. break;
  31. case 'c':
  32. do_color(buff);
  33. got_new = G_getl2(buff, 128, infile);
  34. break;
  35. case 'm':
  36. do_move(buff);
  37. got_new = G_getl2(buff, 128, infile);
  38. break;
  39. case 'd':
  40. do_draw(buff);
  41. got_new = G_getl2(buff, 128, infile);
  42. break;
  43. case 'w':
  44. do_linewidth(buff);
  45. got_new = G_getl2(buff, 128, infile);
  46. break;
  47. case 'i':
  48. do_icon(buff);
  49. got_new = G_getl2(buff, 128, infile);
  50. break;
  51. case '#':
  52. case 0: /* skip blank lines */
  53. got_new = G_getl2(buff, 128, infile);
  54. break;
  55. default:
  56. G_warning(_("Problem parsing command [%s]"), buff);
  57. got_new = G_getl2(buff, 128, infile);
  58. break;
  59. }
  60. G_strip(buff);
  61. }
  62. return 0;
  63. }