summary |
tags |
clone url |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
8ca5a16)
SCCS-vsn: lib/libplot/t4014/subr.c 4.1
--- /dev/null
+#ifndef lint
+static char sccsid[] = "@(#)subr.c 4.1 (Berkeley) %G%";
+#endif
+
+#include <stdio.h>
+float obotx = 0.;
+float oboty = 0.;
+float botx = 0.;
+float boty = 0.;
+float scalex = 1.;
+float scaley = 1.;
+int scaleflag;
+
+int oloy = -1;
+int ohiy = -1;
+int ohix = -1;
+int oextra = -1;
+cont(x,y){
+ int hix,hiy,lox,loy,extra;
+ int n;
+ x = (x-obotx)*scalex + botx;
+ y = (y-oboty)*scaley + boty;
+ hix=(x>>7) & 037;
+ hiy=(y>>7) & 037;
+ lox = (x>>2)&037;
+ loy=(y>>2)&037;
+ extra=x&03+(y<<2)&014;
+ n = (abs(hix-ohix) + abs(hiy-ohiy) + 6) / 12;
+ if(hiy != ohiy){
+ putch(hiy|040);
+ ohiy=hiy;
+ }
+ if(hix != ohix){
+ if(extra != oextra){
+ putch(extra|0140);
+ oextra=extra;
+ }
+ putch(loy|0140);
+ putch(hix|040);
+ ohix=hix;
+ oloy=loy;
+ }
+ else{
+ if(extra != oextra){
+ putch(extra|0140);
+ putch(loy|0140);
+ oextra=extra;
+ oloy=loy;
+ }
+ else if(loy != oloy){
+ putch(loy|0140);
+ oloy=loy;
+ }
+ }
+ putch(lox|0100);
+ while(n--)
+ putch(0);
+}
+
+putch(c){
+ putc(c,stdout);
+}