[Bug 17982] PatBlt cannot draw arbitrary parallelograms based on the world transform

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 13 10:57:58 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=17982

Alexander Almaleh <sashoalm at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sashoalm at gmail.com

--- Comment #7 from Alexander Almaleh <sashoalm at gmail.com> ---
Created attachment 48984
  --> https://bugs.winehq.org/attachment.cgi?id=48984
Patch that makes a "naive" solution to the problem by calling Polygon() inside
PatBlt()

I have a patch that "naively" substitutes PatBlt() with an appropriate call to
Polygon(), which does support world transform (I set a NULL_PEN temporarily
because Polygon() uses the pen while PatBlt() does not).

This fixes the behavior of PatBlt(), however it might have performance
consequences, depending on whether Polygon() is optimized when drawing normal
rectangles.

If anyone is interested, I can improve it to call Polygon() only when needed -
it will check if the rectangle is actually going to be inclined and call
Polygon() only then.

I already tested that this approach works for PatBlt(), but only when using
PAT_COPY. I have not yet tested with the other ROPs.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list