Avoid an extra division (and field update) in setScaleX/Y. Thanks Tim!

This commit is contained in:
Michael Bayne
2011-09-15 16:24:29 -07:00
parent dd64ca194f
commit 5e344f9511
2 changed files with 12 additions and 12 deletions
@@ -122,18 +122,18 @@ public class AffineTransform extends AbstractTransform
@Override // from Transform
public Transform setScaleX (double scaleX) {
// normalize the scale to 1, then re-apply
double osx = scaleX();
m00 /= osx; m01 /= osx;
m00 *= scaleX; m01 *= scaleX;
double mult = scaleX / scaleX();
m00 *= mult;
m01 *= mult;
return this;
}
@Override // from Transform
public Transform setScaleY (double scaleY) {
// normalize the scale to 1, then re-apply
double osy = scaleY();
m10 /= osy; m11 /= osy;
m10 *= scaleY; m11 *= scaleY;
double mult = scaleY / scaleY();
m10 *= mult;
m11 *= mult;
return this;
}
@@ -122,18 +122,18 @@ public class AffineTransform extends AbstractTransform
@Override // from Transform
public Transform setScaleX (float scaleX) {
// normalize the scale to 1, then re-apply
float osx = scaleX();
m00 /= osx; m01 /= osx;
m00 *= scaleX; m01 *= scaleX;
float mult = scaleX / scaleX();
m00 *= mult;
m01 *= mult;
return this;
}
@Override // from Transform
public Transform setScaleY (float scaleY) {
// normalize the scale to 1, then re-apply
float osy = scaleY();
m10 /= osy; m11 /= osy;
m10 *= scaleY; m11 *= scaleY;
float mult = scaleY / scaleY();
m10 *= mult;
m11 *= mult;
return this;
}