


## dot-graphtree-traits.pkg
#
# Define the per-graph, per-node and per-edge
# information maintained by the dot-graphtree
# graphs used to hold raw graphs read from foo.dot
# files, before planar layout is done.
# Compiled by:
# src/lib/std/standard.lib# Compare to:
# src/lib/std/dot/planar-graphtree-traits.pkg
# This package is used in:
# src/lib/std/dot/dot-graphtree.pkgstipulate
package xg = xgeometry; # xgeometry is from src/lib/std/2d/xgeometry.pkgherein
package dot_graphtree_traits
: (weak) Dot_Graphtree_Traits # Dot_Graphtree_Traits is from src/lib/std/dot/dot-graphtree-traits.api {
Shape = ELLIPSE | BOX | DIAMOND;
Graph_Info
=
{ name: String,
scale: Float,
bbox: xg::Size # bbox may be "bounding box"
};
Node_Info
=
{ center: xg::Point,
size: xg::Size,
shape: Shape,
label: String
} ;
Edge_Info
=
{ points: List( xg::Point ),
arrow: xg::Point
};
default_graph_info
=
{ name => "",
scale => 1.0,
bbox => xg::SIZE { wide=>0, high=>0 }
};
default_node_info
=
{ center => xg::point::zero,
size => xg::SIZE { wide=>0, high=>0 },
shape => ELLIPSE,
label => ""
};
default_edge_info
=
{ points => [],
arrow => xg::point::zero
};
};
end;


