aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/eqn/move.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/eqn/move.c')
-rw-r--r--src/cmd/eqn/move.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cmd/eqn/move.c b/src/cmd/eqn/move.c
new file mode 100644
index 00000000..a622487c
--- /dev/null
+++ b/src/cmd/eqn/move.c
@@ -0,0 +1,19 @@
+# include "e.h"
+# include "y.tab.h"
+
+void move(int dir, int amt, int p)
+{
+ double a;
+
+ yyval = p;
+ a = EM(amt/100.0, ps);
+ printf(".ds %d ", yyval);
+ if (dir == FWD || dir == BACK)
+ printf("\\h'%s%gm'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
+ else if (dir == UP)
+ printf("\\v'-%gm'\\*(%d\\v'%gm'\n", a, p, a);
+ else if (dir == DOWN)
+ printf("\\v'%gm'\\*(%d\\v'-%gm'\n", a, p, a);
+ dprintf(".\tmove %d dir %d amt %g; h=%g b=%g\n",
+ p, dir, a, eht[yyval], ebase[yyval]);
+}