lottie/render: fixed meter join type rendering issue. 83/185083/1
authorsubhransu mohanty <sub.mohanty@samsung.com>
Thu, 26 Jul 2018 04:10:36 +0000 (13:10 +0900)
committersubhransu mohanty <sub.mohanty@samsung.com>
Thu, 26 Jul 2018 04:10:36 +0000 (13:10 +0900)
Change-Id: Ie32e60b0d613a5ca7b68176d7f8cc0859aa0f315

src/vector/vraster.cpp

index c9ae53f..e896932 100644 (file)
@@ -38,8 +38,8 @@ public:
     bool                     closed{false};
     SW_FT_Stroker_LineCap    ftCap;
     SW_FT_Stroker_LineJoin   ftJoin;
-    int                      ftWidth;
-    int                      ftMeterLimit;
+    SW_FT_Fixed              ftWidth;
+    SW_FT_Fixed              ftMeterLimit;
     SW_FT_Bool               ftClosed;
 };
 
@@ -117,8 +117,10 @@ void FTOutline::convert(CapStyle cap, JoinStyle join,
     // map strokeWidth to freetype. It uses as the radius of the pen not the diameter
     width = width/2.0;
     // convert to freetype co-ordinate
-    ftWidth = int(width * 64);
-    ftMeterLimit = int(meterLimit * 64);
+    //IMP: stroker takes radius in 26.6 co-ordinate
+    ftWidth = SW_FT_Fixed(width * (1<<6));
+    //IMP: stroker takes meterlimit in 16.16 co-ordinate
+    ftMeterLimit = SW_FT_Fixed(meterLimit * (1<<16));
 
     // map to freetype capstyle
     switch (cap)