https://bugs.winehq.org/show_bug.cgi?id=52254
Bug ID: 52254 Summary: Cold Steel Subs: Application is not transparent (relies on DwmExtendFrameIntoClientArea) Product: Wine Version: 7.0-rc2 Hardware: x86-64 URL: https://zerofield.net/2020/09/30/hajimari-no-kiseki-sp readsheet-translation/ OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dwmapi Assignee: wine-bugs@winehq.org Reporter: johnny@localmomentum.net Distribution: ---
Created attachment 71376 --> https://bugs.winehq.org/attachment.cgi?id=71376 ColdSteelSubs transparency code (currently not in the distributed application)
This application provides a transparent clickthrough overlay to show English translations on top of the original Japanese source.
It relies on layered windows and DwmExtendFrameIntoClientArea to handle the transparent display.
Currently, the main UI elements show, but the game (or any other application) does not show through. This seems to be because DwmExtendFrameIntoClientArea is only a stub. I'm not sure if that's the only reason it's not transparent, but it's at least one of the reasons.
The program itself uses the unity3d engine along with some native dll calls to the relevant user32 apis to handle the transparency.
I was able to get a copy of the relevant code (but not the whole application), of which I will attach.
Since I can't get all of the code, I've been using an unity sample application to try to figure out some parts myself (the relevant code is here https://github.com/pheonise/Unity3D-Desktop-Overlay/blob/master/Assets/Scrip...).
This unity3d application works as expected on windows, but is not transparent via wine (as expected). When i comment the call to DwmExtendFrameIntoClientArea, then it its also no longer transparent on windows as well.
It seems that if the sample application works, then I can make sure the dev applies to the same technique to the overlay application.
Please let me know If i can provide any more information.