Fix Screen Curtain for Windows 10/11 insiders (#12684)
Link to issue number:
Fix for #12491
Summary of the issue:
Screen curtain does not work as intended for new Windows builds. This is due to an API change. Previously, NVDA used a fully transparent colour transformation to create the screen curtain, which now no longer results in a black screen.
In the future, the API is unstable: "The Magnification API is not supported under WOW64; that is, a 32-bit magnifier application will not run correctly on 64-bit Windows.".
Description of how this pull request fixes the issue:
Implements the screen curtain with a fully solid opacity.
Adds a warning to test newer Windows builds when using screen curtain.
Testing strategy:
Test starting screencurtain using this PR build on a Windows 10 insiders build
Test starting screencurtain using this PR build on a Windows 11 insiders build
Test starting screencurtain using this PR build on a Windows 10 stable build
Test starting screencurtain using this PR build on a Windows 8 stable build
Known issues with pull request:
This may occur again in the future due to the API not being fully supported, or another undefined behaviour change like this one. It would be good to add a test that confirms the screen is black using an independent tool, and/or move towards a different API.