Subject: bug#46556: 27.1; transparent images are displayed incorrectly if rotated

From: Eli Zaretskii <[email-masked]>
Date: Wed, 17 Feb 2021 19:05:38 +0200

> Date: Tue, 16 Feb 2021 21:24:24 +0000
> From: Alan Third <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> > Would it be possible for you to test with Emacs 28 and see whether the
> > problem you report (on Windows) is still present there?
> 
> It does sound like something must be going wrong on Windows.
> Unfortunately I don't know what that could be because, as I said on
> the other bug report, NS and Windows use the same rotation logic, and
> NS is fine, so it must be when it comes to actually drawing that the
> problem manifests.

I've now stepped through the code which implements rotation, and I see
nothing wrong with the results.  The pixel coordinates of the rotated
square are exact and accurate, without any roundoff that I could spot.
Each square starts exactly 50+8 = 58 pixels after the previous one (8
pixels are taken by the SPC character between the squares), and ends
exactly 50 pixels after it starts.

So I have no idea why the one-pixel shift happens.  Of course, I don't
really understand what that code does (although I hacked it quite
extensively), so maybe someone who really understands that stuff could
take a look and tell what's wrong there.