From f0fc4f8c3bb6411bf935d5f5f00a0989b78059cd Mon Sep 17 00:00:00 2001 From: subhransu mohanty Date: Thu, 26 Jul 2018 13:10:36 +0900 Subject: [PATCH] lottie/render: fixed meter join type rendering issue. Change-Id: Ie32e60b0d613a5ca7b68176d7f8cc0859aa0f315 --- src/vector/vraster.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/vector/vraster.cpp b/src/vector/vraster.cpp index c9ae53f..e896932 100644 --- a/src/vector/vraster.cpp +++ b/src/vector/vraster.cpp @@ -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) -- 2.34.1