From: Mira Grudzinska Date: Mon, 1 Nov 2021 00:28:53 +0000 (+0100) Subject: tvg_saver: preTransform condition X-Git-Tag: accepted/tizen/unified/20211112.135649~57 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d4fbee7f33a8264566c2cccf68980ad5d46ec71;p=platform%2Fcore%2Fgraphics%2Ftizenvg.git tvg_saver: preTransform condition A stroke is irregularly scaled in case when: 1) m11 != m22 2) m11 == m22 == 0 and m12 != m21 The second case was missing in the code. --- diff --git a/src/savers/tvg/tvgTvgSaver.cpp b/src/savers/tvg/tvgTvgSaver.cpp index c52a32e..3f9780d 100644 --- a/src/savers/tvg/tvgTvgSaver.cpp +++ b/src/savers/tvg/tvgTvgSaver.cpp @@ -574,7 +574,7 @@ TvgBinCounter TvgSaver::serializeShape(const Shape* shape, const Matrix* pTransf shape->strokeColor(color, color + 1, color + 2, color + 3); auto fill = shape->strokeFill(); if (fill || color[3] > 0) { - if (fill || abs(cTransform->e11 - cTransform->e22) > FLT_EPSILON || shape->strokeDash(nullptr) > 0) preTransform = false; + if (fill || fabsf(cTransform->e11 - cTransform->e22) > FLT_EPSILON || (fabsf(cTransform->e11) < FLT_EPSILON && fabsf(cTransform->e12 - cTransform->e21) > FLT_EPSILON) || shape->strokeDash(nullptr) > 0) preTransform = false; cnt += serializeStroke(shape, cTransform, preTransform); } }