1 #ifndef lint
2 static char *sccsid ="piece.c (CWI) 1.1 85/03/01";
3 #endif
4 #include "ideal.h"
5 #include "y.tab.h"
6
linecall(linefax)7 void linecall (linefax)
8 LINEPTR linefax;
9 {
10 printf ("...line %f %f %f %f\n",
11 linefax->x0, linefax->y0,
12 linefax->x1, linefax->y1
13 );
14 }
15
circcall(circfax)16 void circcall (circfax)
17 CIRCPTR circfax;
18 {
19 printf ("...circle %f %f %f\n",
20 circfax->x0, circfax->y0, circfax->r
21 );
22 }
23
arccall(arcfax)24 void arccall (arcfax)
25 ARCPTR arcfax;
26 {
27 printf ("...arc %f %f %f %f %f %f %f %f %f\n",
28 arcfax->x0, arcfax->y0,
29 arcfax->x1, arcfax->y1,
30 arcfax->x2, arcfax->y2,
31 arcfax->theta1, arcfax->theta2,
32
33 fabs(arcfax->radius)
34 );
35 }
36
textcall(textfax)37 void textcall (textfax)
38 TEXTPTR textfax;
39 {
40 switch (textfax->command) {
41 case LEFT:
42 printf ("...left %f %f '%s\n",
43 textfax->x0,
44 textfax->y0,
45 textfax->string
46 );
47 break;
48 case CENTER:
49 printf ("...center %f %f '%s\n",
50 textfax->x0,
51 textfax->y0,
52 textfax->string
53 );
54 break;
55 case RIGHT:
56 printf ("...right %f %f '%s\n",
57 textfax->x0,
58 textfax->y0,
59 textfax->string
60 );
61 break;
62 default:
63 fprintf (stderr, "ideal: textcall: can't happen\n");
64 break;
65 }
66 }
67
boundscall(maxx,maxy,minx,miny)68 void boundscall (maxx, maxy, minx, miny)
69 float maxx, maxy;
70 float minx, miny;
71 {
72 printf ("...maxx %f\n", maxx);
73 printf ("...maxy %f\n", maxy);
74 printf ("...minx %f\n", minx);
75 printf ("...miny %f\n", miny);
76 }
77
splcall(knotlist)78 void splcall (knotlist)
79 EXPRPTR knotlist;
80 {
81 printf ("...spline %f %f\n",
82 Re(((INTLPTR) knotlist->expr)),
83 Im(((INTLPTR) knotlist->expr))
84 );
85 knotlist = knotlist->next;
86 while (knotlist) {
87 printf ("...knot %f %f\n",
88 Re(((INTLPTR) knotlist->expr)),
89 Im(((INTLPTR) knotlist->expr))
90 );
91 knotlist = knotlist->next;
92 }
93 printf ("...endspline\n");
94 }
95