Kaydet (Commit) 437d5d30 authored tarafından Noel Grandin's avatar Noel Grandin

move identity checks into B3DHomMatrix::operator*=

and consequently simplify some call-sites

Change-Id: I301fc4c88fdfb8af75a348a41593a27f4c6567c5
Reviewed-on: https://gerrit.libreoffice.org/59916
Tested-by: Jenkins
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 2a933f0b
......@@ -117,9 +117,20 @@ namespace basegfx
B3DHomMatrix& B3DHomMatrix::operator*=(const B3DHomMatrix& rMat)
{
if(!rMat.isIdentity())
if(rMat.isIdentity())
{
// multiply with identity, no change -> nothing to do
}
else if(isIdentity())
{
// we are identity, result will be rMat -> assign
*this = rMat;
}
else
{
// multiply
mpImpl->doMulMatrix(*rMat.mpImpl);
}
return *this;
}
......
......@@ -404,14 +404,11 @@ namespace drawinglayer
aUnitGradientToObject.rotate(atan2(aVector.getY(), aVector.getX()));
aUnitGradientToObject.translate(getStart().getX(), getStart().getY());
if(!getGradientTransform().isIdentity())
{
aUnitGradientToObject = getGradientTransform() * aUnitGradientToObject;
}
aUnitGradientToObject *= getGradientTransform();
// create full transform from unit gradient coordinates to object coordinates
// including the SvgGradient transformation
aUnitGradientToObject = aObjectTransform * aUnitGradientToObject;
aUnitGradientToObject *= aObjectTransform;
}
else
{
......@@ -424,10 +421,7 @@ namespace drawinglayer
aUnitGradientToObject.rotate(atan2(aVector.getY(), aVector.getX()));
aUnitGradientToObject.translate(aStart.getX(), aStart.getY());
if(!getGradientTransform().isIdentity())
{
aUnitGradientToObject = getGradientTransform() * aUnitGradientToObject;
}
aUnitGradientToObject *= getGradientTransform();
}
// create inverse from it
......@@ -757,10 +751,7 @@ namespace drawinglayer
aUnitGradientToObject.scale(fRadius, fRadius);
aUnitGradientToObject.translate(aStart.getX(), aStart.getY());
if(!getGradientTransform().isIdentity())
{
aUnitGradientToObject = getGradientTransform() * aUnitGradientToObject;
}
aUnitGradientToObject *= getGradientTransform();
}
// create inverse from it
......
......@@ -274,18 +274,8 @@ void TransformableSwFrame::restoreFrameAreas()
// transform by given B2DHomMatrix
void TransformableSwFrame::transform(const basegfx::B2DHomMatrix aTransform)
{
if(!aTransform.isIdentity())
{
if(!maFrameAreaTransformation.isIdentity())
{
maFrameAreaTransformation *= aTransform;
}
if(!maFramePrintAreaTransformation.isIdentity())
{
maFramePrintAreaTransformation *= aTransform;
}
}
maFrameAreaTransformation *= aTransform;
maFramePrintAreaTransformation *= aTransform;
}
SwFrame::SwFrame( SwModify *pMod, SwFrame* pSib )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment