Correctly translate view transformation...

...from local view origin to screen origin.
This commit is contained in:
Stephan Aßmus
2014-02-06 11:10:04 +01:00
parent 08e109e570
commit fd8ad3d807
+4 -3
View File
@@ -348,9 +348,10 @@ Painter::SetTransform(BAffineTransform transform, int32 xOffset, int32 yOffset)
{ {
fIdentityTransform = transform.IsIdentity(); fIdentityTransform = transform.IsIdentity();
if (!fIdentityTransform) { if (!fIdentityTransform) {
fTransform = agg::trans_affine(transform.sx, transform.shy, fTransform = agg::trans_affine_translation(-xOffset, -yOffset);
transform.shx, transform.sy, transform.tx/* + xOffset*/, fTransform *= agg::trans_affine(transform.sx, transform.shy,
transform.ty/* + yOffset*/); transform.shx, transform.sy, transform.tx, transform.ty);
fTransform *= agg::trans_affine_translation(xOffset, yOffset);
} else { } else {
fTransform.reset(); fTransform.reset();
} }