Let's try this. It's BUGGERED.
This commit is contained in:
parent
76e6aca867
commit
5cedca1b69
118 changed files with 26947 additions and 1 deletions
71
src/cmd/grap/frame.c
Normal file
71
src/cmd/grap/frame.c
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "grap.h"
|
||||
#include "y.tab.h"
|
||||
|
||||
double frame_ht; /* default frame height */
|
||||
double frame_wid; /* and width */
|
||||
|
||||
int nsides = 0; /* how many sides given on this frame */
|
||||
char *sides[] = {
|
||||
"\tline from Frame.nw to Frame.ne",
|
||||
"\tline from Frame.sw to Frame.se",
|
||||
"\tline from Frame.sw to Frame.nw",
|
||||
"\tline from Frame.se to Frame.ne"
|
||||
};
|
||||
char *newsides[4] = { 0, 0, 0, 0 }; /* filled in later */
|
||||
|
||||
void frame(void) /* pump out frame definition, reset for next */
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf(tfd, "\tframeht = %g\n", frame_ht);
|
||||
fprintf(tfd, "\tframewid = %g\n", frame_wid);
|
||||
fprintf(tfd, "Frame:\tbox ht frameht wid framewid with .sw at 0,0 ");
|
||||
if (nsides == 0)
|
||||
fprintf(tfd, "\n");
|
||||
else {
|
||||
fprintf(tfd, "invis\n");
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (newsides[i]) {
|
||||
fprintf(tfd, "%s\n", newsides[i]);
|
||||
free(newsides[i]);
|
||||
newsides[i] = 0;
|
||||
} else
|
||||
fprintf(tfd, "%s\n", sides[i]);
|
||||
}
|
||||
nsides = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void frameht(double f) /* set height of frame */
|
||||
{
|
||||
frame_ht = f;
|
||||
}
|
||||
|
||||
void framewid(double f) /* set width of frame */
|
||||
{
|
||||
frame_wid = f;
|
||||
}
|
||||
|
||||
void frameside(int type, Attr *desc) /* create and remember sides */
|
||||
{
|
||||
int n;
|
||||
char buf[100];
|
||||
|
||||
nsides++;
|
||||
switch (type) {
|
||||
case 0: /* no side specified; kludge up all */
|
||||
frameside(TOP, desc);
|
||||
frameside(BOT, desc);
|
||||
frameside(LEFT, desc);
|
||||
frameside(RIGHT, desc);
|
||||
return;
|
||||
case TOP: n = 0; break;
|
||||
case BOT: n = 1; break;
|
||||
case LEFT: n = 2; break;
|
||||
case RIGHT: n = 3; break;
|
||||
}
|
||||
sprintf(buf, "%s %s", sides[n], desc_str(desc));
|
||||
newsides[n] = tostring(buf);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue