Correctly translate view transformation...
...from local view origin to screen origin.
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user