From b16d60d509c2a4104241a7b08dd8406a73921592 Mon Sep 17 00:00:00 2001 From: mgrudzinska Date: Wed, 23 Feb 2022 21:34:15 +0100 Subject: [PATCH] svg_loader: symbol preserveAspectRatio attribute fixed The symbol node was properly scaled only for 'preserveAspectRatio=none'. Now it works also for the default value of this attribute (xMidYMid). --- src/loaders/svg/tvgSvgSceneBuilder.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/loaders/svg/tvgSvgSceneBuilder.cpp b/src/loaders/svg/tvgSvgSceneBuilder.cpp index dc26af80..250887c2 100644 --- a/src/loaders/svg/tvgSvgSceneBuilder.cpp +++ b/src/loaders/svg/tvgSvgSceneBuilder.cpp @@ -589,8 +589,8 @@ static unique_ptr _useBuildHelper(const SvgNode* node, const Box& vBox, c auto tvy = symbol.vy * sy; auto tvw = symbol.vw * sx; auto tvh = symbol.vh * sy; - if (tvw > tvh) tvy -= (symbol.h - tvh) * 0.5f; - else tvx -= (symbol.w - tvw) * 0.5f; + tvy -= (symbol.h - tvh) * 0.5f; + tvx -= (symbol.w - tvw) * 0.5f; mViewBox = {sx, 0, -tvx, 0, sy, -tvy, 0, 0, 1}; } else if (!mathZero(symbol.vx) || !mathZero(symbol.vy)) { mViewBox = {1, 0, -symbol.vx, 0, 1, -symbol.vy, 0, 0, 1};