compose-multiplatform icon indicating copy to clipboard operation
compose-multiplatform copied to clipboard

Make `SwingPanel` interop blending by default

Open MatkovIvan opened this issue 1 year ago • 1 comments
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 ComposePanel case: 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

MatkovIvan avatar Jun 07 '24 08:06 MatkovIvan

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

ivakub avatar Aug 27 '24 08:08 ivakub