renderer paint: tiny optimization

Skip the unnecessary assignment of the value when the initial values
come.
This commit is contained in:
Hermet Park 2023-08-17 11:53:24 +09:00 committed by Hermet Park
parent 66e533deee
commit 381dfb06d4
3 changed files with 4 additions and 3 deletions

View file

@ -132,7 +132,7 @@ bool Paint::Impl::scale(float factor)
if (rTransform) {
if (mathEqual(factor, rTransform->scale)) return true;
} else {
if (mathZero(factor)) return true;
if (mathEqual(factor, 1.0f)) return true;
rTransform = new RenderTransform();
}
rTransform->scale = factor;

View file

@ -24,7 +24,7 @@
#define _TVG_PAINT_H_
#include "tvgRender.h"
#include "tvgMath.h"
namespace tvg
{
@ -100,6 +100,7 @@ namespace tvg
bool transform(const Matrix& m)
{
if (!rTransform) {
if (mathIdentity(&m)) return true;
rTransform = new RenderTransform();
if (!rTransform) return false;
}

View file

@ -746,7 +746,7 @@ static unique_ptr<Scene> _useBuildHelper(const SvgNode* node, const Box& vBox, c
finalScene = std::move(root);
}
} else {
if (!mathIdentity((const Matrix*)(&mUseTransform))) scene->transform(mUseTransform);
scene->transform(mUseTransform);
finalScene = std::move(scene);
}