summaryrefslogtreecommitdiff
path: root/support/syngen/src/picture.mli
diff options
context:
space:
mode:
Diffstat (limited to 'support/syngen/src/picture.mli')
-rw-r--r--support/syngen/src/picture.mli38
1 files changed, 38 insertions, 0 deletions
diff --git a/support/syngen/src/picture.mli b/support/syngen/src/picture.mli
new file mode 100644
index 0000000000..a39857823b
--- /dev/null
+++ b/support/syngen/src/picture.mli
@@ -0,0 +1,38 @@
+type picture = Picture of float * float * float * float * pic_object list
+ (* xsize, ysize, xorigin, yorigin, picture objects *)
+
+and point = float * float
+ (* x, y *)
+
+and pic_object = Line of point * int * int * float * option list
+ (* xpos, ypos, xslope, yslope, length, option list *)
+
+ | Circle of point * float * option list
+ (* xpos, ypos, diameter, option list *)
+
+ | Oval of point * float * float * option list
+ (* xpos, ypos, length, height, option list *)
+
+ | Text of point * string * option list
+ (* xpos, ypos, text, option list *)
+
+ | Curve of point * point * point * option list
+ (* first point, control point, last point, option list *)
+
+ | SubPicture of point * picture * option list
+ (* xpos, ypos, subpicture, option list *)
+
+ | Framebox of point * float * float * option list
+ (* xpos, ypos, length, height, option list *)
+
+and option = Arrowhead (* line *)
+ | Anchor of anchor * anchor (* oval, text, framebox *)
+ | Filled (* circle *)
+ | Dashed of float (* framebox *)
+ | Framed (* circle, oval, text, subpicture *)
+ | Points of int (* curve *)
+
+and anchor = N | L | R | T | B
+
+
+val output : out_channel -> picture -> unit