Fixed bug 40196, there was a transformation problem, and PatBlt did not work correctly on some issues. R=rods

This commit is contained in:
dcone%netscape.com 2000-06-05 14:12:11 +00:00
Родитель 50de329936
Коммит d1bcb4473a
1 изменённых файлов: 10 добавлений и 3 удалений

Просмотреть файл

@ -2842,11 +2842,18 @@ NS_IMETHODIMP
nsRenderingContextWin::DrawTile(nsIImage *aImage,nscoord aX0,nscoord aY0,nscoord aX1,nscoord aY1,
nscoord aWidth,nscoord aHeight)
{
PRBool didtile = FALSE;
nscoord orgX,orgY,orgWidth,orgHeight;
PRBool didtile = FALSE;
// convert output platform, but no translation.. just scale
orgX = aX0;
orgY = aY0;
orgWidth = aX1 - aX0;
orgHeight = aY1 - aY0;
mTranMatrix->TransformCoord(&aX0,&aY0,&aWidth,&aHeight);
mTranMatrix->TransformCoord(&aX1,&aY1);
mTranMatrix->TransformCoord(&orgX,&orgY,&orgWidth,&orgHeight);
aX1 = aX0 + orgWidth;
aY1 = aY0 + orgHeight;
if ( PR_TRUE==CanTile(aWidth,aHeight) ) {
didtile = ((nsImageWin*)aImage)->PatBltTile(*this,mSurface,aX0,aY0,aX1,aY1,aWidth,aHeight);
@ -2884,7 +2891,7 @@ PRInt32 canRaster;
}
else {
// windows NT
return PR_TRUE;
return PR_FALSE;
}
} else {
return PR_FALSE;