gdi32: If there is no clipping rect, EMREXTTEXTOUT shouldn't have a bounding rect.

This commit is contained in:
Dmitry Timoshkov 2008-05-25 21:31:20 +09:00 committed by Alexandre Julliard
parent 0c59e312c1
commit 7aff723ccc
1 changed files with 8 additions and 0 deletions

View File

@ -775,6 +775,13 @@ BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
} }
} }
if (!lprect)
{
pemr->rclBounds.left = pemr->rclBounds.top = 0;
pemr->rclBounds.right = pemr->rclBounds.bottom = -1;
goto no_bounds;
}
switch (textAlign & (TA_LEFT | TA_RIGHT | TA_CENTER)) { switch (textAlign & (TA_LEFT | TA_RIGHT | TA_CENTER)) {
case TA_CENTER: { case TA_CENTER: {
pemr->rclBounds.left = x - (textWidth / 2) - 1; pemr->rclBounds.left = x - (textWidth / 2) - 1;
@ -814,6 +821,7 @@ BOOL EMFDRV_ExtTextOut( PHYSDEV dev, INT x, INT y, UINT flags,
} }
} }
no_bounds:
ret = EMFDRV_WriteRecord( dev, &pemr->emr ); ret = EMFDRV_WriteRecord( dev, &pemr->emr );
if(ret) if(ret)
EMFDRV_UpdateBBox( dev, &pemr->rclBounds ); EMFDRV_UpdateBBox( dev, &pemr->rclBounds );