[dia] svg: write Dia's only fill-rule used
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] svg: write Dia's only fill-rule used
- Date: Sun, 4 Aug 2013 12:45:07 +0000 (UTC)
commit ddca5a3b4ca0ce7b11884c5fd79f5dc64ab14c8a
Author: Hans Breuer <hans breuer org>
Date: Sun Aug 4 14:34:57 2013 +0200
svg: write Dia's only fill-rule used
Still ignored on load in dia_svg_parse_style*() and svg-import.
Implementing fill-rule="nonzero" would either require an extension
to the renderer interface and the poly and bezier objects or at
least some more post-processing after dia_svg_parse_path().
lib/diasvgrenderer.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/lib/diasvgrenderer.c b/lib/diasvgrenderer.c
index 4c2b9a1..953d172 100644
--- a/lib/diasvgrenderer.c
+++ b/lib/diasvgrenderer.c
@@ -352,6 +352,7 @@ fill_polygon(DiaRenderer *self,
node = xmlNewChild(renderer->root, renderer->svg_name_space, (const xmlChar *)"polygon", NULL);
xmlSetProp(node, (const xmlChar *)"style", (xmlChar *) get_fill_style(renderer, colour));
+ xmlSetProp(node, (const xmlChar *)"fill-rule", (const xmlChar *) "evenodd");
str = g_string_new(NULL);
for (i = 0; i < num_points; i++)
@@ -599,8 +600,10 @@ _bezier(DiaRenderer *self,
dia_svg_dtostr(p3y_buf, (gdouble) points[i].p3.y) );
break;
}
- if (fill)
+ if (fill) {
+ xmlSetProp(node, (const xmlChar *)"fill-rule", (const xmlChar *) "evenodd");
g_string_append(str, "z");
+ }
xmlSetProp(node, (const xmlChar *)"d", (xmlChar *) str->str);
g_string_free(str, TRUE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]