Fixed a coordinate system bug with Offset method

git-svn-id: svn://10.0.0.236/trunk@13748 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kipp%netscape.com
1998-10-30 22:05:22 +00:00
parent 9770e7f6a0
commit 4073da1ad6
2 changed files with 12 additions and 2 deletions

View File

@@ -752,8 +752,13 @@ PRBool nsSpaceManager::OffsetRegion(nsIFrame* aFrame, nscoord aDx, nscoord aDy)
return PR_FALSE;
}
// Compute new rect for the region; note that we have to translate
// from the global coordinate system (frameInfo->rect) to our
// current local coordinate system before adding the rect region
// again (since AddRectRegion operates relative to the current
// translation).
nsRect rect(frameInfo->rect);
rect.MoveBy(aDx, aDy);
rect.MoveBy(-mX + aDx, -mY + aDy);
// Verify that the offset is within the defined coordinate space
if ((rect.x < 0) || (rect.y < 0)) {

View File

@@ -752,8 +752,13 @@ PRBool nsSpaceManager::OffsetRegion(nsIFrame* aFrame, nscoord aDx, nscoord aDy)
return PR_FALSE;
}
// Compute new rect for the region; note that we have to translate
// from the global coordinate system (frameInfo->rect) to our
// current local coordinate system before adding the rect region
// again (since AddRectRegion operates relative to the current
// translation).
nsRect rect(frameInfo->rect);
rect.MoveBy(aDx, aDy);
rect.MoveBy(-mX + aDx, -mY + aDy);
// Verify that the offset is within the defined coordinate space
if ((rect.x < 0) || (rect.y < 0)) {