module XDotDraw: sig .. end
Parses xdot drawing operations
See dot documentation to understand the drawing operations
Types
type pos = float * float
Dot layout coordinates
type width = float
Dimensions
type height = float
type size = int
type align =
Text alignment
type style_attr =
| |
Filled |
| |
Invisible |
| |
Diagonals |
| |
Rounded |
| |
Dashed |
| |
Dotted |
| |
Solid |
| |
Bold |
| |
StyleString of string |
Style attributes
type operation =
| |
Filled_ellipse of pos * width * height |
| |
Unfilled_ellipse of pos * width * height |
| |
Filled_polygon of pos array |
| |
Unfilled_polygon of pos array |
| |
Polyline of pos array |
| |
Bspline of pos array |
| |
Filled_bspline of pos array |
| |
Text of pos * align * width * string |
| |
Fill_color of string |
| |
Pen_color of string |
| |
Font of float * string |
| |
Style of style_attr list |
Drawing operations
Parsing and drawing state
Parses an xdot drawing attribute
val parse : string -> operation list
Some drawing operations modify the following drawing state
(pen_color, font and style).
type draw_state = private {
|
mutable fill_color : string; |
|
mutable pen_color : string; |
|
mutable font : float * string; |
|
mutable style : style_attr list; |
}
val draw_with : (draw_state -> operation -> unit) ->
operation list -> unit
Iterates on the drawing operations
and updates the implicit drawing state
Miscellaneous
val normalize_color : string -> string
Reads the color string and converts to rgb if in an another format