diff options
Diffstat (limited to 'src/cmd/plot/libplot/text.c')
-rw-r--r-- | src/cmd/plot/libplot/text.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/cmd/plot/libplot/text.c b/src/cmd/plot/libplot/text.c new file mode 100644 index 00000000..530d5f96 --- /dev/null +++ b/src/cmd/plot/libplot/text.c @@ -0,0 +1,39 @@ +/* + t string Place the string so that its first character is + centered on the current point (default). If + string begins with `\C' (`\R'), it is centered + (right-adjusted) on the current point. A + backslash at the beginning of the string may be + escaped with another backslash. + */ +#include "mplot.h" +void text(char *s){ + register int kx, ky; + int centered, right, more; + char *ss; + ss=s; + for(;;){ + centered=right=more=0; + if(*ss=='\\'){ + ss++; + switch(*ss){ + case 'C': centered++; ss++; break; + case 'R': right++; ss++; break; + case 'L': ss++; break; + case 'n': --ss; break; + } + } + for(s=ss;*ss!='\0';ss++) + if(ss[0]=='\\' && ss[1]=='n'){ + more++; + break; + } + kx = SCX(e1->copyx); + ky = SCY(e1->copyy); + ky=m_text(kx, ky, s, ss, e1->foregr, centered, right); + if(!more)break; + e1->copyy = ( (double)(ky) - e1->bottom)/e1->scaley + e1->ymin + .5; + move(e1->copyx, e1->copyy); + ss+=2; + } +} |