compose-multiplatform
compose-multiplatform copied to clipboard
Make `SwingPanel` interop blending by default
trafficstars
https://github.com/JetBrains/compose-multiplatform-core/pull/915 introduces interop blending under compose.interop.blending flag.
This issue is for tracking remaining problems why it cannot be enabled by default yet.
- [ ] No support of OpenGL and Software renderer (so it means no Linux support). Current workaround for
ComposePanelcase: use offscreen rendering (might be enabled by another feature flag:compose.swing.render.on.graphics) - [ ] On DirectX, it cannot overlay another DirectX component - instead of blending it wipes first one. Example: Compose above GPU rendered video player or another Compose view. It seems like Windows OS blending limitation
- [ ] On macOS/Metal, render and event dispatching order differs. It means that interop view might catch the mouse event even if visually it renders below Compose content. It's due to bug the Metal is drawn above everything despite of AWT hierarchy. Current workaround: https://github.com/JetBrains/compose-multiplatform-core/pull/915#issuecomment-1954155894
Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.