]> granicus.if.org Git - graphviz/commitdiff
Fix bug in coordinates of image maps. The list of coordinates should be comma-separated,
authorerg <devnull@localhost>
Mon, 31 Jan 2011 19:36:01 +0000 (19:36 +0000)
committererg <devnull@localhost>
Mon, 31 Jan 2011 19:36:01 +0000 (19:36 +0000)
not space-separated between adjacent points.

plugin/core/gvrender_core_map.c

index 6cec48fb952494eea0c1dcf04124d1ffbe82dd25..fa0bdfa166d698bc84a6df86670de184c08878b4 100644 (file)
@@ -48,7 +48,7 @@ static void map_output_shape (GVJ_t *job, map_shape_t map_shape, pointf * AF, in
         switch (map_shape) {
         case MAP_RECTANGLE:
            /* Y_GOES_DOWN so need UL to LR */
-            gvprintf(job, "rect %s %d,%d %d,%d\n", url,
+            gvprintf(job, "rect %s %d,%d,%d,%d\n", url,
                 A[0].x, A[1].y, A[1].x, A[0].y);
             break;
         case MAP_CIRCLE:
@@ -57,8 +57,9 @@ static void map_output_shape (GVJ_t *job, map_shape_t map_shape, pointf * AF, in
             break;
         case MAP_POLYGON:
             gvprintf(job, "poly %s", url);
-            for (i = 0; i < nump; i++)
-                gvprintf(job, " %d,%d", A[i].x, A[i].y);
+            gvprintf(job, " %d,%d", A[0].x, A[0].y);
+            for (i = 1; i < nump; i++)
+                gvprintf(job, ",%d,%d", A[i].x, A[i].y);
             gvputs(job, "\n");
             break;
         default:
@@ -137,7 +138,7 @@ static void map_output_shape (GVJ_t *job, map_shape_t map_shape, pointf * AF, in
         case MAP_POLYGON:
             gvprintf(job, "%d,%d", A[0].x, A[0].y);
             for (i = 1; i < nump; i++)
-                gvprintf(job, " %d,%d", A[i].x, A[i].y);
+                gvprintf(job, ",%d,%d", A[i].x, A[i].y);
             break;
         default:
             break;