/usr/lib/ocaml/ocamlgraph/xDotDraw.mli is in libocamlgraph-ocaml-dev 1.8.3-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | (**************************************************************************)
(* *)
(* This file is part of OcamlGraph. *)
(* *)
(* Copyright (C) 2009-2010 *)
(* CEA (Commissariat à l'Énergie Atomique) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1, with a linking exception. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the file ../LICENSE for more details. *)
(* *)
(* Authors: *)
(* - Julien Signoles (Julien.Signoles@cea.fr) *)
(* - Jean-Denis Koeck (jdkoeck@gmail.com) *)
(* - Benoit Bataille (benoit.bataille@gmail.com) *)
(* *)
(**************************************************************************)
(** Parses xdot drawing operations *)
(** See {{:http://www.graphviz.org/doc/info/output.html#d:xdot}dot documentation} to understand the drawing operations *)
(** {2 Types } *)
(** Dot layout coordinates *)
type pos = float * float
(** Dimensions *)
type width = float
type height = float
type size = int
(** Text alignment *)
type align = Left | Center | Right
(** Style attributes *)
type style_attr =
| Filled
| Invisible
| Diagonals
| Rounded
| Dashed
| Dotted
| Solid
| Bold
| StyleString of string
(** Drawing operations *)
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
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]. *)
(** {2 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;
}
(** Iterates on the drawing operations
and updates the implicit drawing state *)
val draw_with : (draw_state -> operation -> unit) -> operation list -> unit
(** {3 Miscellaneous} *)
(** Reads the color string and converts to rgb if in an another format *)
val normalize_color : string -> string
|