xref: /plan9/sys/src/cmd/plot/libplot/frame.c (revision 3e12c5d1bb89fc02707907988834ef147769ddaf)
1*3e12c5d1SDavid du Colombier #include "mplot.h"
frame(double xs,double ys,double xf,double yf)2*3e12c5d1SDavid du Colombier void frame(double xs, double ys, double xf, double yf){
3*3e12c5d1SDavid du Colombier 	register double	osidex, osidey;
4*3e12c5d1SDavid du Colombier 	osidex = e1->sidex;
5*3e12c5d1SDavid du Colombier 	osidey = e1->sidey;
6*3e12c5d1SDavid du Colombier 	e1->left = e0->left + xs * e0->sidex;
7*3e12c5d1SDavid du Colombier 	e1->bottom = e0->bottom + ys * e0->sidey;
8*3e12c5d1SDavid du Colombier 	e1->sidex = (xf-xs)*e0->sidex;
9*3e12c5d1SDavid du Colombier 	e1->sidey = (yf-ys)*e0->sidey;
10*3e12c5d1SDavid du Colombier 	e1->scalex *= (e1->sidex / osidex);
11*3e12c5d1SDavid du Colombier 	e1->scaley *= (e1->sidey / osidey);
12*3e12c5d1SDavid du Colombier 	e1->quantum=e0->quantum/sqrt(e1->scalex*e1->scalex +
13*3e12c5d1SDavid du Colombier 		e1->scaley*e1->scaley);
14*3e12c5d1SDavid du Colombier 	if(e1->quantum < .01)
15*3e12c5d1SDavid du Colombier 		e1->quantum = .01;
16*3e12c5d1SDavid du Colombier }
17