textbox.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* Function: text_box_path
  2. **
  3. ** Author: Paul W. Carlson March 1992
  4. */
  5. #include "ps_info.h"
  6. #define LEFT 0
  7. #define RIGHT 1
  8. #define LOWER 0
  9. #define UPPER 1
  10. #define CENTER 2
  11. int
  12. text_box_path(double x, double y, int xref, int yref, char *text,
  13. int fontsize, float rotate)
  14. {
  15. /* get relative box coordinates */
  16. fprintf(PS.fp, "ZB (%s) PB\n", text);
  17. /* set box x coordinate */
  18. fprintf(PS.fp, "%.2f ", x);
  19. /* set box y coordinate */
  20. fprintf(PS.fp, " %.2f ", y);
  21. fprintf(PS.fp, "translate %.2f rotate ", rotate);
  22. fprintf(PS.fp, " 0 ");
  23. switch (xref) {
  24. case LEFT:
  25. fprintf(PS.fp, "LTX");
  26. break;
  27. case RIGHT:
  28. fprintf(PS.fp, "RTX");
  29. break;
  30. case CENTER:
  31. default:
  32. fprintf(PS.fp, "CTX");
  33. break;
  34. }
  35. fprintf(PS.fp, " 0 ");
  36. switch (yref) {
  37. case UPPER:
  38. fprintf(PS.fp, "UTY");
  39. break;
  40. case LOWER:
  41. fprintf(PS.fp, "LTY");
  42. break;
  43. case CENTER:
  44. default:
  45. fprintf(PS.fp, "CTY");
  46. break;
  47. }
  48. fprintf(PS.fp, " TR TB\n");
  49. return 0;
  50. }