I made a partial fix of this bug - https://bugs.winehq.org/show_bug.cgi?id=17982, only for the PATCOPY rop. It's based on the observation that the Polygon() function does support arbitrary parallelograms, including when defined through the XFORM matrix, so for PATCOPY we can just delegate the implementation to it (with a NULL_PEN because PatBlt doesn't use a pen).

Is this patch acceptable? I have no idea if delegating to Polygon() will hurt performance. If that is a concern, I can do it only in case the physical coordinates after the world transform are not rectangular.

If it is, I will submit it to wine-patches, then.