1*3e12c5d1SDavid du Colombier /*
2*3e12c5d1SDavid du Colombier t string Place the string so that its first character is
3*3e12c5d1SDavid du Colombier centered on the current point (default). If
4*3e12c5d1SDavid du Colombier string begins with `\C' (`\R'), it is centered
5*3e12c5d1SDavid du Colombier (right-adjusted) on the current point. A
6*3e12c5d1SDavid du Colombier backslash at the beginning of the string may be
7*3e12c5d1SDavid du Colombier escaped with another backslash.
8*3e12c5d1SDavid du Colombier */
9*3e12c5d1SDavid du Colombier #include "mplot.h"
text(char * s)10*3e12c5d1SDavid du Colombier void text(char *s){
11*3e12c5d1SDavid du Colombier register int kx, ky;
12*3e12c5d1SDavid du Colombier int centered, right, more;
13*3e12c5d1SDavid du Colombier char *ss;
14*3e12c5d1SDavid du Colombier ss=s;
15*3e12c5d1SDavid du Colombier for(;;){
16*3e12c5d1SDavid du Colombier centered=right=more=0;
17*3e12c5d1SDavid du Colombier if(*ss=='\\'){
18*3e12c5d1SDavid du Colombier ss++;
19*3e12c5d1SDavid du Colombier switch(*ss){
20*3e12c5d1SDavid du Colombier case 'C': centered++; ss++; break;
21*3e12c5d1SDavid du Colombier case 'R': right++; ss++; break;
22*3e12c5d1SDavid du Colombier case 'L': ss++; break;
23*3e12c5d1SDavid du Colombier case 'n': --ss; break;
24*3e12c5d1SDavid du Colombier }
25*3e12c5d1SDavid du Colombier }
26*3e12c5d1SDavid du Colombier for(s=ss;*ss!='\0';ss++)
27*3e12c5d1SDavid du Colombier if(ss[0]=='\\' && ss[1]=='n'){
28*3e12c5d1SDavid du Colombier more++;
29*3e12c5d1SDavid du Colombier break;
30*3e12c5d1SDavid du Colombier }
31*3e12c5d1SDavid du Colombier kx = SCX(e1->copyx);
32*3e12c5d1SDavid du Colombier ky = SCY(e1->copyy);
33*3e12c5d1SDavid du Colombier ky=m_text(kx, ky, s, ss, e1->foregr, centered, right);
34*3e12c5d1SDavid du Colombier if(!more)break;
35*3e12c5d1SDavid du Colombier e1->copyy = ( (double)(ky) - e1->bottom)/e1->scaley + e1->ymin + .5;
36*3e12c5d1SDavid du Colombier move(e1->copyx, e1->copyy);
37*3e12c5d1SDavid du Colombier ss+=2;
38*3e12c5d1SDavid du Colombier }
39*3e12c5d1SDavid du Colombier }
40