#ifndef _BEZCTX_H #define _BEZCTX_H #include "bezctx_intf.h" #ifdef __cplusplus extern "C" { #endif struct _bezctx { /* Called by spiro to start a contour */ void (*moveto)(bezctx *bc, double x, double y, int is_open); /* Called by spiro to move from the last point to the next one on a straight line */ void (*lineto)(bezctx *bc, double x, double y); /* Called by spiro to move from the last point to the next along a quadratic bezier spline */ /* (x1,y1) is the quadratic bezier control point and (x2,y2) will be the new end point */ void (*quadto)(bezctx *bc, double x1, double y1, double x2, double y2); /* Called by spiro to move from the last point to the next along a cubic bezier spline */ /* (x1,y1) and (x2,y2) are the two off-curve control point and (x3,y3) will be the new end point */ void (*curveto)(bezctx *bc, double x1, double y1, double x2, double y2, double x3, double y3); void (*mark_knot)(bezctx *bc, int knot_idx); }; #ifdef __cplusplus } #endif #endif