]> granicus.if.org Git - graphviz/commitdiff
Fix for bug 1869
authorerg <devnull@localhost>
Fri, 27 Aug 2010 20:56:55 +0000 (20:56 +0000)
committererg <devnull@localhost>
Fri, 27 Aug 2010 20:56:55 +0000 (20:56 +0000)
plugin/core/gvrender_core_svg.c

index 6fa842c43176a06cde97bff0b67ca654045bc793..4ea7f4b32bf35bb46bcea62f8f3851220bb8d7ab 100644 (file)
@@ -95,8 +95,11 @@ static void svg_grstyle(GVJ_t * job, int filled)
     obj_state_t *obj = job->obj;
 
     gvputs(job, " fill=\"");
-    if (filled)
+    if (filled) {
        svg_print_color(job, obj->fillcolor);
+       if (obj->fillcolor.type == RGBA_BYTE && obj->fillcolor.u.rgba[3] > 0 && obj->fillcolor.u.rgba[3] < 255 )
+           gvprintf(job, "\" fill-opacity=\"%f", ((float)obj->fillcolor.u.rgba[3]/255.0));
+    }
     else
        gvputs(job, "none");
     gvputs(job, "\" stroke=\"");
@@ -108,6 +111,9 @@ static void svg_grstyle(GVJ_t * job, int filled)
     } else if (obj->pen == PEN_DOTTED) {
        gvprintf(job, "\" stroke-dasharray=\"%s", sdotarray);
     }
+    if (obj->pencolor.type == RGBA_BYTE && obj->pencolor.u.rgba[3] > 0 && obj->pencolor.u.rgba[3] < 255)
+       gvprintf(job, "\" stroke-opacity=\"%f", ((float)obj->fillcolor.u.rgba[3]/255.0));
+
     gvputs(job, "\"");
 }