`type graph = [`

1. `| `Center of bool`
   (*

   Centers the drawing on the page. Default value is `false`.

   *)
2. `| `Fontcolor of color`
   (*

   Sets the font color. Default value is `black`.

   *)
3. `| `Fontname of string`
   (*

   Sets the font family name. Default value is `"Times-Roman"`.

   *)
4. `| `Fontsize of int`
   (*

   Sets the type size (in points). Default value is `14`.

   *)
5. `| `Label of string`
   (*

   Caption for graph drawing.

   *)
6. `| `HtmlLabel of string`
   (*

   Caption for graph drawing. In HTML strings, angle brackets must occur in matched pairs, and newlines and other formatting whitespace characters are allowed. In addition, the content must be legal XML, so that the special XML escape sequences for ", &, <, and > may be necessary in order to embed these characters in attribute values or raw text."

   *)
7. `| `Orientation of [ `Portrait | `Landscape ]`
   (*

   Sets the page orientation. Default value is ``Portrait`.

   *)
8. `| `Page of float * float`
   (*

   Sets the PostScript pagination unit, e.g `8.5, 11.0`.

   *)
9. `| `Pagedir of [ `TopToBottom | `LeftToRight ]`
   (*

   Traversal order of pages. Default value is ``TopToBottom`.

   *)
10. `| `Size of float * float`
    (*

    Sets the bounding box of drawing (in inches).

    *)
11. `| `OrderingOut`
    (*

    Constrains order of out-edges in a subgraph according to their file sequence

    *)

`]`

Attributes of graphs.

`type vertex = [`

1. `| `Color of color`
   (*

   Sets the color of the border of the vertex. Default value is `black`

   *)
2. `| `ColorWithTransparency of color_with_transparency`
   (*

   Sets the color of the border of the vertex with a transparency component. Default value is fully opaque `black`

   *)
3. `| `Fontcolor of color`
   (*

   Sets the label font color. Default value is `black`.

   *)
4. `| `Fontname of string`
   (*

   Sets the label font family name. Default value is `"Times-Roman"`.

   *)
5. `| `Fontsize of int`
   (*

   Sets the label type size (in points). Default value is `14`.

   *)
6. `| `Height of float`
   (*

   Sets the minimum height. Default value is `0.5`.

   *)
7. `| `Label of string`
   (*

   Sets the label printed in the vertex. The string may include escaped newlines `\n`, `\l`, or `\r` for center, left, and right justified lines. Record labels may contain recursive box lists delimited by `|` .

   *)
8. `| `HtmlLabel of string`
   (*

   Like label, in html style. In HTML strings, angle brackets must occur in matched pairs, and newlines and other formatting whitespace characters are allowed. In addition, the content must be legal XML, so that the special XML escape sequences for ", &, <, and > may be necessary in order to embed these characters in attribute values or raw text."

   *)
9. `| `Orientation of float`
   (*

   Vertex rotation angle, in degrees. Default value is `0.0`.

   *)
10. `| `Penwidth of float`
    (*

    Width of the pen (in points) used to draw the border of the node. Default value is `1.0`.

    *)
11. `| `Peripheries of int`
    (*

    Sets the number of periphery lines drawn around the polygon.

    *)
12. `| `Regular of bool`
    (*

    If `true`, then the polygon is made regular, i.e. symmetric about the x and y axis, otherwise the polygon takes on the aspect ratio of the label. Default value is `false`.

    *)
13. `| `Shape of [ `Ellipse | `Box | `Circle | `Doublecircle | `Diamond | `Plaintext | `Record | `Oval | `Egg | `Triangle | `Invtriangle | `Trapezium | `Invtrapezium | `House | `Invhouse | `Parallelogram | `Doubleoctagon | `Tripleoctagon | `Mdiamond | `Mcircle | `Msquare | `Star | `Underline | `Note | `Tab | `Folder | `Box3d | `Component | `Promoter | `Cds | `Terminator | `Utr | `Primersite | `Restrictionsite | `Fivepoverhang | `Threepoverhang | `Noverhang | `Assembly | `Signature | `Insulator | `Ribosite | `Rnastab | `Proteasesite | `Proteinstab | `Rpromoter | `Rarrow | `Larrow | `Lpromoter | `Polygon of int * float ]`
    (*

    Sets the shape of the vertex. Default value is ``Ellipse`. ``Polygon (i, f)` draws a polygon with `n` sides and a skewing of `f`.

    *)
14. `| `Style of [ `Rounded | `Filled | `Solid | `Dashed | `Dotted | `Bold | `Invis ]`
    (*

    Sets the layout style of the vertex. Several styles may be combined simultaneously.

    *)
15. `| `Width of float`
    (*

    Sets the minimum width. Default value is `0.75`.

    *)

`]`

Attributes of vertices.

`type edge = [`

1. `| `Color of color`
   (*

   Sets the edge stroke color. Default value is `black`.

   *)
2. `| `ColorWithTransparency of color_with_transparency`
   (*

   Sets the edge stroke color with a transparency component. Default value is fully opaque `black`

   *)
3. `| `Decorate of bool`
   (*

   If `true`, draws a line connecting labels with their edges.

   *)
4. `| `Dir of [ `Forward | `Back | `Both | `None ]`
   (*

   Sets arrow direction. Default value is ``Forward`.

   *)
5. `| `Fontcolor of color`
   (*

   Sets the label font color. Default value is `black`.

   *)
6. `| `Fontname of string`
   (*

   Sets the label font family name. Default value is `"Times-Roman"`.

   *)
7. `| `Fontsize of int`
   (*

   Sets the label type size (in points). Default value is `14`.

   *)
8. `| `Label of string`
   (*

   Sets the label to be attached to the edge. The string may include escaped newlines `\n`, `\l`, or `\r` for centered, left, or right justified lines.

   *)
9. `| `HtmlLabel of string`
   (*

   Like label, in html style. In HTML strings, angle brackets must occur in matched pairs, and newlines and other formatting whitespace characters are allowed. In addition, the content must be legal XML, so that the special XML escape sequences for ", &, <, and > may be necessary in order to embed these characters in attribute values or raw text."

   *)
10. `| `Labelfontcolor of color`
    (*

    Sets the font color for head and tail labels. Default value is `black`.

    *)
11. `| `Labelfontname of string`
    (*

    Sets the font family name for head and tail labels. Default value is `"Times-Roman"`.

    *)
12. `| `Labelfontsize of int`
    (*

    Sets the font size for head and tail labels (in points). Default value is `14`.

    *)
13. `| `Penwidth of float`
    (*

    Width of the pen (in points) used to draw the edge. Default value is `1.0`.

    *)
14. `| `Style of [ `Solid | `Dashed | `Dotted | `Bold | `Invis ]`
    (*

    Sets the layout style of the edge. Several styles may be combined simultaneously.

    *)

`]`

Attributes of edges.