]> granicus.if.org Git - graphviz/commitdiff
Allow a single value for size and page attributes.
authorerg <devnull@localhost>
Tue, 13 Oct 2009 20:16:54 +0000 (20:16 +0000)
committererg <devnull@localhost>
Tue, 13 Oct 2009 20:16:54 +0000 (20:16 +0000)
doc/info/attrs.html
doc/infosrc/attrs
lib/common/input.c

index d788762e93b5e5693954823123941b3bdd2245b8..b68e4f190d19827e2f83376dde58e4f96879bd94 100644 (file)
@@ -328,7 +328,7 @@ This field indicates which graph component uses the attribute.
 </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>
@@ -402,7 +402,7 @@ This field indicates which graph component uses the attribute.
  <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>
@@ -1272,7 +1272,10 @@ This field indicates which graph component uses the attribute.
   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
@@ -1528,7 +1531,11 @@ This field indicates which graph component uses the attribute.
 
 <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>),
index a0b03291218bb1092bf3083bc804e0d3ba4a4335..901d25be23483a9df01be2ca46e8c0d476acd395 100644 (file)
@@ -751,8 +751,11 @@ drawing and will be filled with the background color, if appropriate.
 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
@@ -977,9 +980,13 @@ Print guide boxes in PostScript at the beginning of
 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>),
index e4794add22c615c22e0c58048fc00cf4eea90b7f..53a47ac9a67f9e9b69e6bcca80d188d1764acf6c 100644 (file)
@@ -433,7 +433,8 @@ void dotneato_args_initialize(GVC_t * gvc, int argc, char **argv)
 }
 
 /* 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)
@@ -452,6 +453,14 @@ 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;
 }