|  | /* | 
|  | 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; | 
|  | } | 
|  | } |