|
|
1.1 ! root 1: #include <stdio.h> ! 2: #include "grap.h" ! 3: #include "y.tab.h" ! 4: ! 5: double frame_ht; /* default frame height */ ! 6: double frame_wid; /* and width */ ! 7: ! 8: int nsides = 0; /* how many sides given on this frame */ ! 9: char *sides[] = { ! 10: "\tline from Frame.nw to Frame.ne", ! 11: "\tline from Frame.sw to Frame.se", ! 12: "\tline from Frame.sw to Frame.nw", ! 13: "\tline from Frame.se to Frame.ne" ! 14: }; ! 15: char *newsides[4] = { 0, 0, 0, 0 }; /* filled in later */ ! 16: ! 17: frame() /* pump out frame definition, reset for next */ ! 18: { ! 19: int i; ! 20: ! 21: fprintf(tfd, "\tframeht = %g\n", frame_ht); ! 22: fprintf(tfd, "\tframewid = %g\n", frame_wid); ! 23: fprintf(tfd, "Frame:\tbox ht frameht wid framewid with .sw at 0,0 "); ! 24: if (nsides == 0) ! 25: fprintf(tfd, "\n"); ! 26: else { ! 27: fprintf(tfd, "invis\n"); ! 28: for (i = 0; i < 4; i++) { ! 29: if (newsides[i]) { ! 30: fprintf(tfd, "%s\n", newsides[i]); ! 31: free(newsides[i]); ! 32: newsides[i] = 0; ! 33: } else ! 34: fprintf(tfd, "%s\n", sides[i]); ! 35: } ! 36: nsides = 0; ! 37: } ! 38: } ! 39: ! 40: frameht(f) /* set height of frame */ ! 41: double f; ! 42: { ! 43: frame_ht = f; ! 44: } ! 45: ! 46: framewid(f) /* set width of frame */ ! 47: double f; ! 48: { ! 49: frame_wid = f; ! 50: } ! 51: ! 52: frameside(type, desc) /* create and remember sides */ ! 53: int type; ! 54: Attr *desc; ! 55: { ! 56: int n; ! 57: char buf[100]; ! 58: ! 59: nsides++; ! 60: switch (type) { ! 61: case 0: /* no side specified; kludge up all */ ! 62: frameside(TOP, desc); ! 63: frameside(BOT, desc); ! 64: frameside(LEFT, desc); ! 65: frameside(RIGHT, desc); ! 66: return; ! 67: case TOP: n = 0; break; ! 68: case BOT: n = 1; break; ! 69: case LEFT: n = 2; break; ! 70: case RIGHT: n = 3; break; ! 71: } ! 72: sprintf(buf, "%s %s", sides[n], desc_str(desc)); ! 73: newsides[n] = tostring(buf); ! 74: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.