]> granicus.if.org Git - graphviz/commitdiff
margin fixes
authorellson <devnull@localhost>
Sat, 10 Jun 2006 12:50:13 +0000 (12:50 +0000)
committerellson <devnull@localhost>
Sat, 10 Jun 2006 12:50:13 +0000 (12:50 +0000)
plugin/core/gvrender_core_svg.c
plugin/pango/gvrender_pango.c

index 51e30b02c00ca31cc0156066818bab4739084f31..cebfd62f91b0f8051ea5d6a07f943732562ea0a0 100644 (file)
@@ -250,22 +250,30 @@ static void svggen_begin_graph(GVJ_t * job, char *graphname)
 {
     GraphName = graphname;
 
-    svggen_fputs(job, "<!-- Title: ");
-    if (GraphName[0])
+    svggen_fputs(job, "<!--");
+    if (GraphName[0]) {
+        svggen_fputs(job, " Title: ");
        svggen_fputs(job, xml_string(GraphName));
+    }
     svggen_printf(job, " Pages: %d -->\n", job->pagesArraySize.x * job->pagesArraySize.y);
 
     if (ROUND(job->dpi.x) == POINTS_PER_INCH && ROUND(job->dpi.y) == POINTS_PER_INCH) {
-       svggen_printf(job, "<svg width=\"%dpt\" height=\"%dpt\"\n",
-                     job->width, job->height);
+       svggen_printf(job, "<svg width=\"%gpt\" height=\"%gpt\"\n",
+                     job->width + job->margin.x * 2,
+                     job->height + job->margin.y * 2);
     }
     else {
-       svggen_printf(job, "<svg width=\"%dpx\" height=\"%dpx\"\n",
-                     ROUND(job->dpi.x * job->width / POINTS_PER_INCH),
-                     ROUND(job->dpi.y * job->height / POINTS_PER_INCH));
+       svggen_printf(job, "<svg width=\"%gpx\" height=\"%gpx\"\n",
+       job->dpi.x * (job->width + job->margin.x * 2) / POINTS_PER_INCH,
+       job->dpi.y * (job->height + job->margin.y * 2) / POINTS_PER_INCH);
     }
     /* establish absolute units in points */
-    svggen_printf(job, " viewBox = \"%d %d %d %d\"\n", 0, 0, job->width, job->height);
+    svggen_printf(job, " viewBox = \"%g %g %d %d\"\n",
+           job->margin.x, job->margin.y,
+           job->width, job->height);
+//    svggen_printf(job, " viewBox = \"%g %g %g %g\"\n",
+//         job->margin.x, job->margin.y,
+//         job->width + job->margin.x, job->height + job->margin.y);
     /* namespace of svg */
     svggen_fputs(job, " xmlns=\"http://www.w3.org/2000/svg\"");
     /* namespace of xlink */
@@ -314,11 +322,11 @@ static void svggen_begin_page(GVJ_t * job)
     svggen_fputs(job, " style=\"font-family:");
     svggen_fputs(job, job->style->fontfam);
     svggen_printf(job, ";font-size:%.2f;\">\n", job->style->fontsz);
-    if (GraphName[0])
-       svggen_fputs(job, xml_string(GraphName));
-    svggen_fputs(job, "<title>");
-    svggen_fputs(job, xml_string(GraphName));
-    svggen_fputs(job, "</title>\n");
+    if (GraphName[0]) {
+        svggen_fputs(job, "<title>");
+        svggen_fputs(job, xml_string(GraphName));
+        svggen_fputs(job, "</title>\n");
+    }
 }
 
 static void svggen_end_page(GVJ_t * job)
index 17d308a2f31815984f0a8cf53ec5a90729b1eae7..27bc9800e6a2d3d3f491630931b8506b5c60df3c 100644 (file)
@@ -246,8 +246,8 @@ static void cairogen_begin_page(GVJ_t * job)
     if (job->rotation) {
         cairo_rotate(cr, job->rotation * -M_PI / 180.);
         cairo_translate(cr,
-                  -job->margin.x / job->zoom - job->pageBox.UR.x,
-                   job->margin.y / job->zoom + job->pageBox.UR.y);
+                  -job->margin.y / job->zoom - job->pageBox.UR.x,
+                   job->margin.x / job->zoom + job->pageBox.UR.y);
     }
     else
         cairo_translate(cr,