</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
<TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:lheight HREF=#d:lheight>lheight</A>
+</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
<TR><TD><A NAME=a:lp HREF=#d:lp>lp</A>
</TD><TD>EGC</TD><TD><A HREF=#k:point>point</A>
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
<TR><TD><A NAME=a:ltail HREF=#d:ltail>ltail</A>
</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:lwidth HREF=#d:lwidth>lwidth</A>
+</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
<TR><TD><A NAME=a:margin HREF=#d:margin>margin</A>
</TD><TD>NG</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
</TD><TD ALIGN="CENTER"><device-dependent></TD><TD></TD><TD></TD> </TR>
the edge is clipped to the boundary of the cluster.
See <A HREF=#h:undir_note>limitation</A>.
+<DT><A NAME=d:lheight HREF=#a:lheight><STRONG>lheight</STRONG></A>
+<DD> Height of graph or cluster label, in inches.
+
<DT><A NAME=d:lp HREF=#a:lp><STRONG>lp</STRONG></A>
<DD> Label position, <A HREF=#points>in points</A>.
The position indicates the center of the label.
the edge is clipped to the boundary of the cluster.
See <A HREF=#h:undir_note>limitation</A>.
+<DT><A NAME=d:lwidth HREF=#a:lwidth><STRONG>lwidth</STRONG></A>
+<DD> Width of graph or cluster label, in inches.
+
<DT><A NAME=d:margin HREF=#a:margin><STRONG>margin</STRONG></A>
<DD> For graphs, this sets x and y margins of canvas, in inches. If the margin
is a single double, both margins are set equal to the given value.
the real head,
the edge is clipped to the boundary of the cluster.
See <A HREF=#h:undir_note>limitation</A>.
+:lheight:GC:double; write
+Height of graph or cluster label, in inches.
:lp:EGC:point; write
Label position, <A HREF=#points>in points</A>.
The position indicates the center of the label.
containing the real tail,
the edge is clipped to the boundary of the cluster.
See <A HREF=#h:undir_note>limitation</A>.
+:lwidth:GC:double; write
+Width of graph or cluster label, in inches.
:margin:NG:double/pointf:<device-dependent>;
For graphs, this sets x and y margins of canvas, in inches. If the margin
is a single double, both margins are set equal to the given value.
pt = GD_label(g)->pos;
sprintf(buf, "%.5g,%.5g", pt.x, YDIR(pt.y));
agset(g, "lp", buf);
+ pt = GD_label(g)->dimen;
+ sprintf(buf, "%.2f", PS2INCH(pt.x));
+ agset (g, "lwidth", buf);
+ sprintf(buf, "%.2f", PS2INCH(pt.y));
+ agset (g, "lheight", buf);
}
for (c = 1; c <= GD_n_cluster(g); c++)
rec_attach_bb(GD_clust(g)[c], bbsym);
safe_dcl(g, g->proto->e, "tail_lp", "", agedgeattr);
if (GD_label(g)) {
safe_dcl(g, g, "lp", "", agraphattr);
+ safe_dcl(g, g, "lwidth", "", agraphattr);
+ safe_dcl(g, g, "lheight", "", agraphattr);
if (GD_label(g)->text[0]) {
ptf = GD_label(g)->pos;
sprintf(buf, "%.5g,%.5g", ptf.x, YDIR(ptf.y));
agset(g, "lp", buf);
+ ptf = GD_label(g)->dimen;
+ sprintf(buf, "%.2f", PS2INCH(ptf.x));
+ agset(g, "lwidth", buf);
+ sprintf(buf, "%.2f", PS2INCH(ptf.y));
+ agset(g, "lheight", buf);
}
}
bbsym = safe_dcl(g, g, "bb", "", agraphattr);
safe_dcl(g, AGEDGE, "tail_lp", "");
if (GD_label(g)) {
safe_dcl(g, AGRAPH, "lp", "");
+ safe_dcl(g, AGRAPH, "lwidth", "");
+ safe_dcl(g, AGRAPH, "lheight", "");
if (GD_label(g)->text[0]) {
ptf = GD_label(g)->pos;
sprintf(buf, "%.5g,%.5g", ptf.x, YDIR(ptf.y));
agset(g, "lp", buf);
+ ptf = GD_label(g)->dimen;
+ sprintf(buf, "%.2f", PS2INCH(ptf.x));
+ agset(g, "lwidth", buf);
+ sprintf(buf, "%.2f", PS2INCH(ptf.y));
+ agset(g, "lheight", buf);
}
}
bbsym = safe_dcl(g, AGRAPH, "bb", "");