Annotation of researchv10no/cmd/grap/frame.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.