[dia] libart: fix DiaLibartRenderer::fill_bezier() to use ART_WIND_RULE_ODDEVEN
- From: Hans Breuer <hans src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia] libart: fix DiaLibartRenderer::fill_bezier() to use ART_WIND_RULE_ODDEVEN
- Date: Sat, 26 Apr 2014 17:17:52 +0000 (UTC)
commit 1e936e66e9ed2e5cc4f92a48fb13989194a2c328
Author: Hans Breuer <hans breuer org>
Date: Sat Apr 26 16:20:52 2014 +0200
libart: fix DiaLibartRenderer::fill_bezier() to use ART_WIND_RULE_ODDEVEN
It worked with the default for some bezier (e.g. with render-test.dia),
but was producing lots of error with e.g. convert-to-path.dia.
plug-ins/libart/dialibartrenderer.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/plug-ins/libart/dialibartrenderer.c b/plug-ins/libart/dialibartrenderer.c
index 3c4b56d..2cd7e46 100644
--- a/plug-ins/libart/dialibartrenderer.c
+++ b/plug-ins/libart/dialibartrenderer.c
@@ -1005,7 +1005,16 @@ fill_bezier(DiaRenderer *self,
art_free(bpath);
svp = art_svp_from_vpath (vpath);
-
+ {
+ /** We always use odd-even wind rule */
+ ArtSvpWriter *swr = art_svp_writer_rewind_new(ART_WIND_RULE_ODDEVEN);
+ ArtSVP *svp_rw;
+
+ art_svp_intersector(svp, swr);
+ svp_rw = art_svp_writer_rewind_reap(swr);
+ art_svp_free(svp);
+ svp = svp_rw;
+ }
art_free( vpath );
art_rgb_svp_alpha (svp,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]