apply the changes to the viewRect with the right scale

this fixes the scale bug I had


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18020 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval 2006-07-03 23:37:38 +00:00
parent ae3b2d5af2
commit 98662fad6d
1 changed files with 5 additions and 5 deletions

View File

@ -1340,25 +1340,25 @@ Painter::_DrawBitmap(agg::rendering_buffer& srcBuffer, color_space format,
actualBitmapRect.OffsetBy(-actualBitmapRect.left, -actualBitmapRect.top); actualBitmapRect.OffsetBy(-actualBitmapRect.left, -actualBitmapRect.top);
// constrain rect to passed bitmap bounds // constrain rect to passed bitmap bounds
// and transfer the changes to the viewRect // and transfer the changes to the viewRect with the right scale
if (bitmapRect.left < actualBitmapRect.left) { if (bitmapRect.left < actualBitmapRect.left) {
float diff = actualBitmapRect.left - bitmapRect.left; float diff = actualBitmapRect.left - bitmapRect.left;
viewRect.left += diff; viewRect.left += diff * xScale;
bitmapRect.left = actualBitmapRect.left; bitmapRect.left = actualBitmapRect.left;
} }
if (bitmapRect.top < actualBitmapRect.top) { if (bitmapRect.top < actualBitmapRect.top) {
float diff = actualBitmapRect.top - bitmapRect.top; float diff = actualBitmapRect.top - bitmapRect.top;
viewRect.top += diff; viewRect.top += diff * yScale;
bitmapRect.top = actualBitmapRect.top; bitmapRect.top = actualBitmapRect.top;
} }
if (bitmapRect.right > actualBitmapRect.right) { if (bitmapRect.right > actualBitmapRect.right) {
float diff = bitmapRect.right - actualBitmapRect.right; float diff = bitmapRect.right - actualBitmapRect.right;
viewRect.right -= diff; viewRect.right -= diff * xScale;
bitmapRect.right = actualBitmapRect.right; bitmapRect.right = actualBitmapRect.right;
} }
if (bitmapRect.bottom > actualBitmapRect.bottom) { if (bitmapRect.bottom > actualBitmapRect.bottom) {
float diff = bitmapRect.bottom - actualBitmapRect.bottom; float diff = bitmapRect.bottom - actualBitmapRect.bottom;
viewRect.bottom -= diff; viewRect.bottom -= diff * yScale;
bitmapRect.bottom = actualBitmapRect.bottom; bitmapRect.bottom = actualBitmapRect.bottom;
} }