diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index b85efccd..af1637ae 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -170,6 +170,11 @@ static void _updateTransform(LottieTransform* transform, int32_t frameNo, Render auto pmatrix = PP(ctx.propagator)->transform(); ctx.propagator->transform(pmatrix ? mathMultiply(pmatrix, &matrix) : matrix); ctx.propagator->opacity(MULTIPLY(opacity, PP(ctx.propagator)->opacity)); + + //FIXME: preserve the stroke width. too workaround, need a better design. + if (P(ctx.propagator)->rs.strokeWidth() > 0.0f) { + ctx.propagator->stroke(P(ctx.propagator)->rs.strokeWidth() / sqrt(matrix.e11 * matrix.e11 + matrix.e12 * matrix.e12)); + } }