gdi32: IntersectClipRect should update actual clipping region for a EMF DC.
This commit is contained in:
parent
756736ae42
commit
47b89a8fac
|
@ -169,14 +169,18 @@ INT EMFDRV_ExcludeClipRect( PHYSDEV dev, INT left, INT top, INT right, INT botto
|
||||||
|
|
||||||
INT EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom)
|
INT EMFDRV_IntersectClipRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom)
|
||||||
{
|
{
|
||||||
|
PHYSDEV next = GET_NEXT_PHYSDEV( dev, pIntersectClipRect );
|
||||||
EMRINTERSECTCLIPRECT emr;
|
EMRINTERSECTCLIPRECT emr;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
emr.emr.iType = EMR_INTERSECTCLIPRECT;
|
emr.emr.iType = EMR_INTERSECTCLIPRECT;
|
||||||
emr.emr.nSize = sizeof(emr);
|
emr.emr.nSize = sizeof(emr);
|
||||||
emr.rclClip.left = left;
|
emr.rclClip.left = left;
|
||||||
emr.rclClip.top = top;
|
emr.rclClip.top = top;
|
||||||
emr.rclClip.right = right;
|
emr.rclClip.right = right;
|
||||||
emr.rclClip.bottom = bottom;
|
emr.rclClip.bottom = bottom;
|
||||||
return EMFDRV_WriteRecord( dev, &emr.emr );
|
ret = EMFDRV_WriteRecord( dev, &emr.emr );
|
||||||
|
return ret ? next->funcs->pIntersectClipRect( next, left, top, right, bottom ) : ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
|
INT EMFDRV_OffsetClipRgn( PHYSDEV dev, INT x, INT y )
|
||||||
|
|
|
@ -2511,7 +2511,6 @@ static void test_emf_clipping(void)
|
||||||
rc_res.left, rc_res.top, rc_res.right, rc_res.bottom);
|
rc_res.left, rc_res.top, rc_res.right, rc_res.bottom);
|
||||||
|
|
||||||
ret = IntersectClipRect(hdc, 0, 0, 100, 100);
|
ret = IntersectClipRect(hdc, 0, 0, 100, 100);
|
||||||
todo_wine
|
|
||||||
ok(ret == SIMPLEREGION || broken(ret == COMPLEXREGION) /* XP */, "got %d\n", ret);
|
ok(ret == SIMPLEREGION || broken(ret == COMPLEXREGION) /* XP */, "got %d\n", ret);
|
||||||
if (ret == COMPLEXREGION)
|
if (ret == COMPLEXREGION)
|
||||||
{
|
{
|
||||||
|
@ -2524,7 +2523,6 @@ todo_wine
|
||||||
SetRect(&rc_res, -1, -1, -1, -1);
|
SetRect(&rc_res, -1, -1, -1, -1);
|
||||||
ret = GetClipBox(hdc, &rc_res);
|
ret = GetClipBox(hdc, &rc_res);
|
||||||
ok(ret == SIMPLEREGION, "got %d\n", ret);
|
ok(ret == SIMPLEREGION, "got %d\n", ret);
|
||||||
todo_wine
|
|
||||||
ok(EqualRect(&rc_res, &rc),
|
ok(EqualRect(&rc_res, &rc),
|
||||||
"expected (%d,%d)-(%d,%d), got (%d,%d)-(%d,%d)\n",
|
"expected (%d,%d)-(%d,%d), got (%d,%d)-(%d,%d)\n",
|
||||||
rc.left, rc.top, rc.right, rc.bottom,
|
rc.left, rc.top, rc.right, rc.bottom,
|
||||||
|
|
Loading…
Reference in New Issue