summaryrefslogtreecommitdiff
path: root/app/cornu/spiroentrypoints.h
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2018-03-19 19:55:58 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2018-03-19 19:55:58 +0100
commitd1a8285f818eb7e5c3d6a05709ea21a808490b8c (patch)
tree326578f0505cbed07cfe60de530022822dc237ac /app/cornu/spiroentrypoints.h
parent16e9630b79f0a7a90c6cedb6781175bb8b337dc1 (diff)
New upstream version 5.1.0upstream/5.1.0
Diffstat (limited to 'app/cornu/spiroentrypoints.h')
-rw-r--r--app/cornu/spiroentrypoints.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/cornu/spiroentrypoints.h b/app/cornu/spiroentrypoints.h
new file mode 100644
index 0000000..006804c
--- /dev/null
+++ b/app/cornu/spiroentrypoints.h
@@ -0,0 +1,31 @@
+#ifndef _SPIROENTRYPOINTS_H
+# define _SPIROENTRYPOINTS_H
+# include "bezctx_intf.h"
+# include "spiro.h"
+
+ /* Possible values of the "ty" field. */
+#define SPIRO_CORNER 'v'
+#define SPIRO_G4 'o'
+#define SPIRO_G2 'c'
+#define SPIRO_LEFT '['
+#define SPIRO_RIGHT ']'
+
+ /* For a closed contour add an extra cp with a ty set to */
+#define SPIRO_END 'z'
+ /* For an open contour the first cp must have a ty set to*/
+#define SPIRO_OPEN_CONTOUR '{'
+ /* For an open contour the last cp must have a ty set to */
+#define SPIRO_END_OPEN_CONTOUR '}'
+
+/* The spiros array should indicate it's own end... So */
+/* Open contours must have the ty field of the first cp set to '{' */
+/* and have the ty field of the last cp set to '}' */
+/* Closed contours must have an extra cp at the end whose ty is 'z' */
+/* the x&y values of this extra cp are ignored */
+extern void TaggedSpiroCPsToBezier(spiro_cp *spiros,bezctx *bc);
+
+/* The first argument is an array of spiro control points. */
+/* Open contours do not need to start with '{', nor to end with '}' */
+/* Close contours do not need to end with 'z' */
+extern void SpiroCPsToBezier(spiro_cp *spiros,int n,int isclosed,bezctx *bc);
+#endif