Skip to content

Conversation

@ASalavei
Copy link

@ASalavei ASalavei commented Oct 20, 2025

Add the placedAsOverlay API flag to the UIKitInteropProperties to allow interop UIKitView and UIKitViewController to be placed on top of the Compose drawing canvas. This change enables interop views with a transparent background or a background with a native shader effect to be used. To support this, the UserInputView class has been split into two: BackgroundInputView and OverlayInputView, which handle touches for interop views located below and above the Metal canvas, respectively.
Update the tests that use UIKitView and UIKitViewController to test interop views for both placement types.

Fixes: https://youtrack.jetbrains.com/issue/CMP-9114/Support-Overlay-flag-for-UIKitView

Testing

Full input regression is required. The minimal test should include testing of:

  • Interop views with and without multitouch
  • Interop views inside scrollable area
  • Mouse Hover and Scroll over interop views

Release Notes

Features - iOS

  • Add experimental UIKitInteropProperties.placedAsOverlay flag, which allows to place interop views above the Compose canvas. This allows interop views with a transparent background or shader effect to be used.

@ASalavei ASalavei changed the title [WIP] Interop views as overlay Support overlay placement for UIKitView Oct 21, 2025
@ASalavei ASalavei changed the title Support overlay placement for UIKitView Support overlay placement for interop views Oct 22, 2025
@ASalavei ASalavei marked this pull request as ready for review October 22, 2025 10:35
@ASalavei ASalavei requested a review from MatkovIvan October 22, 2025 11:31
@ASalavei ASalavei merged commit a6dd31c into jb-main Oct 23, 2025
19 checks passed
@ASalavei ASalavei deleted the andrei.salavei/overlay-interop branch October 23, 2025 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants