</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
</TD><TD ALIGN="CENTER">0.0555 (4 points)</TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:page HREF=#d:page>page</A>
-</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
+</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:pagedir HREF=#d:pagedir>pagedir</A>
</TD><TD>G</TD><TD><A HREF=#k:pagedir>pagedir</A>
<TR><TD><A NAME=a:sides HREF=#d:sides>sides</A>
</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">4</TD><TD>0</TD><TD></TD> </TR>
<TR><TD><A NAME=a:size HREF=#d:size>size</A>
-</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
+</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
<TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
the boundary of the drawn region.
<DT><A NAME=d:page HREF=#a:page><STRONG>page</STRONG></A>
-<DD> Width and height of output pages, in inches. If this is set and is
+<DD> Width and height of output pages, in inches. If only a single value
+ is given, this is used for both the width and height.
+ <P>
+ If this is set and is
smaller than the size of the layout, a rectangular array of pages of
the specified page size is overlaid on the layout, with origins
aligned in the lower-left corner, thereby partitioning the layout
<DT><A NAME=d:size HREF=#a:size><STRONG>size</STRONG></A>
<DD> Maximum width and height of drawing, in inches.
- If defined and the drawing is too large, the drawing is uniformly
+ If only a single number is given, this is used for both the width
+ and the height.
+ <P>
+ If defined and the drawing is larger than the given size,
+ the drawing is uniformly
scaled down so that it fits within the given size.
<P>
If <TT>size</TT> ends in an exclamation point (<TT>!</TT>),
Normally, a small pad is used for aesthetic reasons, especially when
a background color is used, to avoid having nodes and edges abutting
the boundary of the drawn region.
-:page:G:pointf;
-Width and height of output pages, in inches. If this is set and is
+:page:G:double/pointf;
+Width and height of output pages, in inches. If only a single value
+is given, this is used for both the width and height.
+<P>
+If this is set and is
smaller than the size of the layout, a rectangular array of pages of
the specified page size is overlaid on the layout, with origins
aligned in the lower-left corner, thereby partitioning the layout
routesplines if 1, or at the end if 2. (Debugging)
:sides:N:int:4:0;
Number of sides if <A HREF=#d:shape><B>shape</B></A>=polygon.
-:size:G:pointf;
+:size:G:double/pointf;
Maximum width and height of drawing, in inches.
-If defined and the drawing is too large, the drawing is uniformly
+If only a single number is given, this is used for both the width
+and the height.
+<P>
+If defined and the drawing is larger than the given size,
+the drawing is uniformly
scaled down so that it fits within the given size.
<P>
If <TT>size</TT> ends in an exclamation point (<TT>!</TT>),
}
/* getdoubles2ptf:
- * converts a graph attribute to floating graph units (POINTS).
+ * converts a graph attribute in inches to a pointf in points.
+ * If only one number is given, it is used for both x and y.
* Returns true if the attribute ends in '!'.
*/
static boolean getdoubles2ptf(graph_t * g, char *name, pointf * result)
if (c == '!')
rv = TRUE;
}
+ else {
+ c = '\0';
+ i = sscanf(p, "%lf%c", &xf, &c);
+ if ((i > 0) && (xf > 0)) {
+ `result->y = result->x = POINTS(xf);
+ if (c == '!') rv = TRUE;
+ }
+ }
}
return rv;
}