diff options
Diffstat (limited to 'thirdparty/thorvg/src/renderer/tvgRender.cpp')
-rw-r--r-- | thirdparty/thorvg/src/renderer/tvgRender.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/thirdparty/thorvg/src/renderer/tvgRender.cpp b/thirdparty/thorvg/src/renderer/tvgRender.cpp index 9c779f7c00..82145b9aa4 100644 --- a/thirdparty/thorvg/src/renderer/tvgRender.cpp +++ b/thirdparty/thorvg/src/renderer/tvgRender.cpp @@ -32,6 +32,20 @@ /* External Class Implementation */ /************************************************************************/ +uint32_t RenderMethod::ref() +{ + ScopedLock lock(key); + return (++refCnt); +} + + +uint32_t RenderMethod::unref() +{ + ScopedLock lock(key); + return (--refCnt); +} + + void RenderTransform::override(const Matrix& m) { this->m = m; @@ -43,13 +57,18 @@ void RenderTransform::update() { if (overriding) return; - mathIdentity(&m); + m.e11 = 1.0f; + m.e12 = 0.0f; - mathScale(&m, scale, scale); + m.e21 = 0.0f; + m.e22 = 1.0f; - mathRotate(&m, degree); + m.e31 = 0.0f; + m.e32 = 0.0f; + m.e33 = 1.0f; - mathTranslate(&m, x, y); + mathScale(&m, scale, scale); + mathRotate(&m, degree); } |