Author: Carlos Lopez <[email protected]>
Date:   Sat Sep 24 15:57:49 2011 +0200

Fix render artifact when doing dashed outlines and other than flat sides.

---

 .../src/modules/mod_geometry/advanced_outline.cpp  |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/synfig-core/src/modules/mod_geometry/advanced_outline.cpp 
b/synfig-core/src/modules/mod_geometry/advanced_outline.cpp
index d694c0d..601cb1e 100644
--- a/synfig-core/src/modules/mod_geometry/advanced_outline.cpp
+++ b/synfig-core/src/modules/mod_geometry/advanced_outline.cpp
@@ -559,8 +559,22 @@ Advanced_Outline::sync()
                                
q=q>1.0-CUSP_TANGENT_ADJUST?1.0-CUSP_TANGENT_ADJUST:q;
                                if(wnext->get_dash())
                                {
-                                       WidthPoint i(*cwiter);
-                                       WidthPoint n(*cwnext);
+                                       vector<WidthPoint>::iterator ci(cwiter);
+                                       vector<WidthPoint>::iterator cn(cwnext);
+                                       // if we inserted the widthpoints at 
start and end, don't consider them for interpolation.
+                                       if(cwiter->get_position() == 0.0 && 
cwnext->get_position()!=1.0 && inserted_first)
+                                       {
+                                               ci=cwplist.end();
+                                               ci--;
+                                               if(inserted_last) ci--;
+                                       }
+                                       if(cwnext->get_position() == 1.0 && 
inserted_last)
+                                       {
+                                               cn=cwplist.begin();
+                                               if(inserted_first) cn++;
+                                       }
+                                       WidthPoint i(*ci);
+                                       WidthPoint n(*cn);
                                        Real p(ipos);
                                        if(!homogeneous && !old_version)
                                        {


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to