From 46aa29781a35decadb32de0820dc553698bbc47a Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 4 Jul 2023 01:13:42 +0900 Subject: [PATCH] common math: enhance matrix functions. Accumulating matrix value factors would have broader usage. --- src/lib/tvgMath.h | 10 +++++----- src/lib/tvgRender.cpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/tvgMath.h b/src/lib/tvgMath.h index 9ab8291b..c5613e08 100644 --- a/src/lib/tvgMath.h +++ b/src/lib/tvgMath.h @@ -109,17 +109,17 @@ static inline void mathIdentity(Matrix* m) } -static inline void mathScale(Matrix* m, float scale) +static inline void mathScale(Matrix* m, float sx, float sy) { - m->e11 = scale; - m->e22 = scale; + m->e11 *= sx; + m->e22 *= sy; } static inline void mathTranslate(Matrix* m, float x, float y) { - m->e13 = x; - m->e23 = y; + m->e13 += x; + m->e23 += y; } diff --git a/src/lib/tvgRender.cpp b/src/lib/tvgRender.cpp index fb9270af..ec4db13f 100644 --- a/src/lib/tvgRender.cpp +++ b/src/lib/tvgRender.cpp @@ -53,7 +53,7 @@ bool RenderTransform::update() mathIdentity(&m); - mathScale(&m, scale); + mathScale(&m, scale, scale); if (!mathZero(degree)) mathRotate(&m, degree);