/usr/share/graphviz/gvpr
NameSizeModeActions
addedges2910644editdlrm
addranks8300644editdlrm
addrings13190644editdlrm
anon4220644editdlrm
attr1510644editdlrm
bb9970644editdlrm
bbox5320644editdlrm
binduce11660644editdlrm
bipart4550644editdlrm
chkclusters5320644editdlrm
chkedges9160644editdlrm
cliptree1780644editdlrm
col6010644editdlrm
collapse4690644editdlrm
color14400644editdlrm
cycle5600644editdlrm
dechain2640644editdlrm
deghist3510644editdlrm
deledges1160644editdlrm
delmulti3970644editdlrm
delnodes2490644editdlrm
depath5470644editdlrm
dijkstra6470644editdlrm
flatten880644editdlrm
get-layers-list2770644editdlrm
group7910644editdlrm
histogram3190644editdlrm
indent3780644editdlrm
knbhd12260644editdlrm
maxdeg3070644editdlrm
path4490644editdlrm
rotate11940644editdlrm
scale11470644editdlrm
scalexy11230644editdlrm
span1390644editdlrm
topon4290644editdlrm
treetoclust9880644editdlrm
Edit: /usr/share/graphviz/gvpr/bb (997B)
/* computes the bounding box of a graph based on its nodes taking into account clusters and node sizes. */ BEGIN { double x, y, w2, h2; double llx, lly, urx, ury; double llx0, lly0, urx0, ury0; graph_t clustBB (graph_t G) { graph_t sg; for (sg = fstsubg(G); sg; sg = nxtsubg(sg)) { sg = clustBB(sg); } if (G.name == "cluster*") { sscanf (G.bb, "%lf,%lf,%lf,%lf", &llx0, &lly0, &urx0, &ury0); if (llx0 < llx) llx = llx0; if (lly0 < lly) lly = lly0; if (urx0 > urx) urx = urx0; if (ury0 > ury) ury = ury0; } return G; } } BEG_G { llx = 1000000; lly = 1000000; urx = -1000000; ury = -1000000; } N { sscanf ($.pos, "%lf,%lf", &x, &y); w2 = (36.0*(double)$.width); h2 = (36.0*(double)$.height); if ((x - w2) < llx) llx = x - w2; if ((x + w2) > urx) urx = x + w2; if ((y - h2) < lly) lly = y - h2; if ((y + h2) > ury) ury = y + h2; } END_G { clustBB ($); $.bb = sprintf ("%lf,%lf,%lf,%lf", llx, lly, urx, ury); }