diff options
Diffstat (limited to 'inc/cad/svg.h')
| -rw-r--r-- | inc/cad/svg.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/inc/cad/svg.h b/inc/cad/svg.h index 7a7e799..e44cf3a 100644 --- a/inc/cad/svg.h +++ b/inc/cad/svg.h @@ -11,12 +11,22 @@ enum LineStyle { }; #define TEXT_OFFSET 0.4 -void plot_line_between(struct point p1, struct point p2); -void plot_arc_between_style(struct point c, struct point p1, struct point p2, enum LineStyle style); -void plot_arc_between(struct point c, struct point p1, struct point p2); -void plot_text(struct point p, double angle, char* str); +enum CanvasState { + CANVAS_INIT, + CANVAS_DRAWING, +}; + +struct canvas { + enum CanvasState state; + FILE *f; +}; + +void plot_line_between(struct canvas *canvas, struct point p1, struct point p2); +void plot_arc_between_style(struct canvas *canvas, struct point c, struct point p1, struct point p2, enum LineStyle style); +void plot_arc_between(struct canvas *canvas, struct point c, struct point p1, struct point p2); +void plot_text(struct canvas *canvas, struct point p, double angle, char* str); -void begin_drawing(); -void draw_constraints(struct constraints *constraints); -void draw_topology(struct topology *topo); -void end_drawing(); +void begin_drawing(struct canvas *canvas); +void draw_constraints(struct canvas *canvas, struct constraints *constraints); +void draw_topology(struct canvas *canvas, struct topology *topo); +void end_drawing(struct canvas *canvas); |
