+ PREGION prgnClip;
+ RECTL rcl;
+ PSURFACE pSurface;
+
+ // See IntSetDefaultRegion.
+
+ rcl.left = 0;
+ rcl.top = 0;
+ rcl.right = dc->dclevel.sizl.cx;
+ rcl.bottom = dc->dclevel.sizl.cy;
+
+ //EngAcquireSemaphoreShared(pdc->ppdev->hsemDevLock);
+ if (dc->ppdev->flFlags & PDEV_META_DEVICE)
+ {
+ pSurface = dc->dclevel.pSurface;
+ if (pSurface && pSurface->flags & PDEV_SURFACE)
+ {
+ rcl.left += dc->ppdev->ptlOrigion.x;
+ rcl.top += dc->ppdev->ptlOrigion.y;
+ rcl.right += dc->ppdev->ptlOrigion.x;
+ rcl.bottom += dc->ppdev->ptlOrigion.y;
+ }
+ }
+ //EngReleaseSemaphore(pdc->ppdev->hsemDevLock);
+
+ rcl.left += dc->ptlDCOrig.x;
+ rcl.top += dc->ptlDCOrig.y;
+ rcl.right += dc->ptlDCOrig.x;
+ rcl.bottom += dc->ptlDCOrig.y;
+
+ prgnClip = IntSysCreateRectpRgnIndirect(&rcl);
+
+ Ret = IntGdiCombineRgn(prgnNClip, prgnClip, prgn, fnMode);
+
+ if (Ret)