module XDotDraw: sig
.. end
Parses xdot drawing operations
See dot documentation to understand the 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
val string_scale_size : string -> float -> string -> width * height
string_scale_size font font_size text
.
Interpolates the font metrics we have to use to draw the given text
with the given font but preserving the bounding box of the text
even
with a proportional font.
For a fixed width font the result is font_size*font_size
.
Parsing and drawing state
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