From 58961f84d5d4c8b35aa374e68b48c65071395777 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Sat, 23 Dec 2023 14:16:55 +0900 Subject: [PATCH] sw_engine/fill: fix a linear filling scaling issue. The condition is not valid, Let it draw the fill as it's requested. Issue: https://github.com/thorvg/thorvg/issues/1834 --- src/renderer/sw_engine/tvgSwFill.cpp | 1 - src/renderer/sw_engine/tvgSwRaster.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/renderer/sw_engine/tvgSwFill.cpp b/src/renderer/sw_engine/tvgSwFill.cpp index cede9e6e..122af26f 100644 --- a/src/renderer/sw_engine/tvgSwFill.cpp +++ b/src/renderer/sw_engine/tvgSwFill.cpp @@ -167,7 +167,6 @@ bool _prepareLinear(SwFill* fill, const LinearGradient* linear, const Matrix* tr fill->linear.dy = dx * invTransform.e12 + fill->linear.dy * invTransform.e22; fill->linear.len = fill->linear.dx * fill->linear.dx + fill->linear.dy * fill->linear.dy; - if (fill->linear.len < FLT_EPSILON) return true; } return true; diff --git a/src/renderer/sw_engine/tvgSwRaster.cpp b/src/renderer/sw_engine/tvgSwRaster.cpp index 96a0ed35..87cef1a1 100644 --- a/src/renderer/sw_engine/tvgSwRaster.cpp +++ b/src/renderer/sw_engine/tvgSwRaster.cpp @@ -1714,7 +1714,7 @@ static bool _rasterSolidGradientRle(SwSurface* surface, const SwRleData* rle, co static bool _rasterLinearGradientRle(SwSurface* surface, const SwRleData* rle, const SwFill* fill) { - if (!rle || fill->linear.len < FLT_EPSILON) return false; + if (!rle) return false; if (_compositing(surface)) { if (_matting(surface)) return _rasterGradientMattedRle(surface, rle, fill);