LavaUI docs GitHub

enum ClientSurfaceBridge

Swift

enum ClientSurfaceBridge

How a client turns openWindow into a compositor surface.

Both nil in a windowed app and in a test: the engine opens the window itself. A client has no device, so the second view tree still lives here but the pixels and the input belong to a surface the compositor creates. LavaClient fills these for the duration of run.

Sources/LavaUI/LavaApp.swift:318

Properties

nonisolated(unsafe) static var close: ((WindowID) -> Void)?

The view tree is gone. Drop the compositor surface. Idempotent.

Sources/LavaUI/LavaApp.swift:331

nonisolated(unsafe) static var open: ((Float, Float, String, SurfaceAnchor?) -> WindowID?)?

Create the engine window, its arena and its compositor surface. The anchor, when there is one, makes a borderless popup of the window the app started with rather than another cascaded window. Nil means the surface could not be opened.

Sources/LavaUI/LavaApp.swift:323

nonisolated(unsafe) static var openMenuPlate: ((Float, Float) -> WindowID?)?

A hidden menu fly-out: width, height. The compositor places it later, beside a row, so creating it must not put a window on screen. Nil in a windowed app, which has no menu compositor to ask.

Sources/LavaUI/LavaApp.swift:328