Correctly translate view transformation...
...from local view origin to screen origin.
This commit is contained in:
parent
08e109e570
commit
fd8ad3d807
@ -348,9 +348,10 @@ Painter::SetTransform(BAffineTransform transform, int32 xOffset, int32 yOffset)
|
||||
{
|
||||
fIdentityTransform = transform.IsIdentity();
|
||||
if (!fIdentityTransform) {
|
||||
fTransform = agg::trans_affine(transform.sx, transform.shy,
|
||||
transform.shx, transform.sy, transform.tx/* + xOffset*/,
|
||||
transform.ty/* + yOffset*/);
|
||||
fTransform = agg::trans_affine_translation(-xOffset, -yOffset);
|
||||
fTransform *= agg::trans_affine(transform.sx, transform.shy,
|
||||
transform.shx, transform.sy, transform.tx, transform.ty);
|
||||
fTransform *= agg::trans_affine_translation(xOffset, yOffset);
|
||||
} else {
|
||||
fTransform.reset();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user