Sign in

    wzzc-dev/moui/backend does not have a README file

    PlatformViewEventCallback

    type PlatformViewEventCallback = (UInt64, String,
    PlatformViewEvent
    ) -> Unit

    Callback invoked by the native event dispatcher when a platform view fires an event. Parameters: (native window handle, platform-view id, event). The host converts the handle to a WindowId, then dispatches the event as @core.AppEvent::PlatformView(id, event).

    EventResult

    pub(all) struct EventResult {
    needs_rebuild : Bool
    needs_redraw : Bool
    redraw_requested : Bool
    close_requested : Bool
    } derive(Eq, ToJson,
    Debug
    )

    EventResult::equal

    fn EventResult::equal(EventResult, EventResult) -> Bool

    EventResult::not_equal

    fn EventResult::not_equal(x : EventResult, y : EventResult) -> Bool

    EventResult::to_json

    fn EventResult::to_json(EventResult) -> Json

    HostAppInfo

    pub(all) struct HostAppInfo {
    backend : HostBackendKind
    uses_shared_event_model : Bool
    uses_shared_surface_model : Bool
    uses_shared_input_model : Bool
    description : String
    } derive(Eq, ToJson,
    Debug
    )

    HostAppInfo::equal

    fn HostAppInfo::equal(HostAppInfo, HostAppInfo) -> Bool

    HostAppInfo::new

    fn HostAppInfo::new(backend~ : HostBackendKind, description? : String, uses_shared_event_model? : Bool, uses_shared_surface_model? : Bool, uses_shared_input_model? : Bool) -> HostAppInfo

    HostAppInfo::not_equal

    fn HostAppInfo::not_equal(x : HostAppInfo, y : HostAppInfo) -> Bool

    HostAppInfo::to_json

    fn HostAppInfo::to_json(HostAppInfo) -> Json

    HostApplicationMenu

    pub(all) struct HostApplicationMenu {
    title : String
    items : Array[HostApplicationMenuItem]
    placement : HostApplicationMenuPlacement
    } derive(Eq, ToJson,
    Debug
    )

    One application menu group. MenuBar creates a top-level menu; hosts with a standard application menu may place ApplicationMenu items there.

    HostApplicationMenu::equal

    HostApplicationMenu::new

    HostApplicationMenu::not_equal

    HostApplicationMenu::to_json

    HostApplicationMenuItem

    pub(all) struct HostApplicationMenuItem {
    title : String
    action_id : Int
    key_equivalent : String
    key_modifier_mask : Int
    separator : Bool
    enabled : Bool
    } derive(Eq, ToJson,
    Debug
    )

    One item in a host application menu bar.

    Use separator=true for dividers; other fields are ignored for separators. action_id is host-defined and is delivered to the platform action handler when the item is chosen. Keyboard accelerators use key_equivalent plus key_modifier_mask (platform bit masks; see platform notes).

    HostApplicationMenuItem::equal

    HostApplicationMenuItem::new

    fn HostApplicationMenuItem::new(title~ : String, action_id~ : Int, key_equivalent? : String, key_modifier_mask? : Int, separator? : Bool, enabled? : Bool) -> HostApplicationMenuItem

    HostApplicationMenuItem::not_equal

    HostApplicationMenuItem::separator

    HostApplicationMenuItem::to_json

    HostApplicationMenuPlacement

    pub(all) enum HostApplicationMenuPlacement {
    MenuBar
    ApplicationMenu
    } derive(Eq, ToJson,
    Debug
    )

    HostApplicationMenuPlacement::not_equal

    HostApplicationMenuPlacement::to_json

    HostBackendKind

    pub(all) enum HostBackendKind {
    Native
    Web
    Wechat
    Test
    } derive(Eq, ToJson,
    Debug
    )

    HostBackendKind::equal

    HostBackendKind::label

    fn HostBackendKind::label(self : HostBackendKind) -> String

    HostBackendKind::not_equal

    fn HostBackendKind::not_equal(x : HostBackendKind, y : HostBackendKind) -> Bool

    HostBackendKind::to_json

    HostBinaryFileDiagnostic

    pub struct HostBinaryFileDiagnostic {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    HostBinaryFileDiagnostic::byte_length

    fn HostBinaryFileDiagnostic::byte_length(self : HostBinaryFileDiagnostic) -> Int

    HostBinaryFileDiagnostic::equal

    HostBinaryFileDiagnostic::not_equal

    HostBinaryFileDiagnostic::operation

    fn HostBinaryFileDiagnostic::operation(self : HostBinaryFileDiagnostic) -> String

    HostBinaryFileDiagnostic::path

    HostBinaryFileDiagnostic::to_json

    HostBinaryFileRequest

    pub(all) enum HostBinaryFileRequest {
    ReadBytes(String)
    WriteBytes(String, Bytes)
    } derive(Eq, ToJson,
    Debug
    )

    HostBinaryFileRequest::diagnostic

    HostBinaryFileRequest::equal

    HostBinaryFileRequest::not_equal

    HostBinaryFileRequest::to_json

    HostCapabilitySummary

    pub(all) struct HostCapabilitySummary {
    backend : HostBackendKind
    label : String
    services : HostServiceCapabilities
    input : HostInputCapabilities
    window_lifecycle : Bool
    multi_window : Bool
    text_input_available : Bool
    ime_available : Bool
    drag_drop_available : Bool
    async_services : Bool
    native_accessibility_available : Bool
    web_view_available : Bool
    host_modal_available : Bool
    web_view_description : String
    description : String
    } derive(Eq, ToJson,
    Debug
    )

    HostCapabilitySummary::equal

    HostCapabilitySummary::from_contracts

    fn HostCapabilitySummary::from_contracts(info~ : HostAppInfo, services~ : HostServiceCapabilities, input~ : HostInputCapabilities, label? : String, window_lifecycle? : Bool, multi_window? : Bool, text_input_available? : Bool, ime_available? : Bool, drag_drop_available? : Bool, async_services? : Bool, native_accessibility_available? : Bool, web_view_available? : Bool, host_modal_available? : Bool, web_view_description? : String, description? : String) -> HostCapabilitySummary

    HostCapabilitySummary::has_required_app_basics

    fn HostCapabilitySummary::has_required_app_basics(self : HostCapabilitySummary) -> Bool

    HostCapabilitySummary::input_count

    fn HostCapabilitySummary::input_count(self : HostCapabilitySummary) -> Int

    HostCapabilitySummary::new

    fn HostCapabilitySummary::new(backend~ : HostBackendKind, label? : String, services? : HostServiceCapabilities, input? : HostInputCapabilities, window_lifecycle? : Bool, multi_window? : Bool, text_input_available? : Bool, ime_available? : Bool, drag_drop_available? : Bool, async_services? : Bool, native_accessibility_available? : Bool, web_view_available? : Bool, host_modal_available? : Bool, web_view_description? : String, description? : String) -> HostCapabilitySummary

    HostCapabilitySummary::not_equal

    HostCapabilitySummary::preflight_fields

    fn HostCapabilitySummary::preflight_fields(self : HostCapabilitySummary) -> String

    HostCapabilitySummary::service_count

    fn HostCapabilitySummary::service_count(self : HostCapabilitySummary) -> Int

    HostCapabilitySummary::test_host

    fn HostCapabilitySummary::test_host(label? : String) -> HostCapabilitySummary

    HostCapabilitySummary::to_json

    HostCapabilitySummary::unavailable

    fn HostCapabilitySummary::unavailable(label? : String, description? : String) -> HostCapabilitySummary

    HostClipboardRequest

    pub(all) enum HostClipboardRequest {
    ReadText
    WriteText(String)
    ReadImage
    WriteImage(String, Bytes)
    } derive(Eq, ToJson,
    Debug
    )

    HostClipboardRequest::equal

    HostClipboardRequest::not_equal

    HostClipboardRequest::to_json

    HostCompletedServiceResponse

    pub(all) struct HostCompletedServiceResponse {
    id : HostServiceRequestId
    request : HostServiceRequest
    response : HostServiceResponse
    } derive(Eq, ToJson,
    Debug
    )

    HostCompletedServiceResponse::not_equal

    HostCompletedServiceResponse::to_json

    HostCoordinatePolicy

    pub(all) struct HostCoordinatePolicy {
    input_space : HostCoordinateSpace
    surface_space : HostCoordinateSpace
    scale_factor_applied : Bool
    description : String
    } derive(Eq, ToJson,
    Debug
    )

    HostCoordinatePolicy::equal

    HostCoordinatePolicy::logical

    fn HostCoordinatePolicy::logical(description? : String) -> HostCoordinatePolicy

    HostCoordinatePolicy::not_equal

    HostCoordinatePolicy::physical

    fn HostCoordinatePolicy::physical(description? : String) -> HostCoordinatePolicy

    HostCoordinatePolicy::to_json

    HostCoordinateSpace

    pub(all) enum HostCoordinateSpace {
    LogicalPixels
    PhysicalPixels
    } derive(Eq, ToJson,
    Debug
    )

    HostCoordinateSpace::equal

    HostCoordinateSpace::not_equal

    HostCoordinateSpace::to_json

    HostDirectoryEntry

    pub struct HostDirectoryEntry {
    // private fields
    } derive(Eq, ToJson,
    Debug
    )

    HostDirectoryEntry::equal

    HostDirectoryEntry::is_directory

    fn HostDirectoryEntry::is_directory(self : HostDirectoryEntry) -> Bool

    HostDirectoryEntry::name

    fn HostDirectoryEntry::name(self : HostDirectoryEntry) -> String

    HostDirectoryEntry::new

    fn HostDirectoryEntry::new(name~ : String, path~ : String, is_directory? : Bool) -> HostDirectoryEntry

    HostDirectoryEntry::not_equal

    HostDirectoryEntry::path

    fn HostDirectoryEntry::path(self : HostDirectoryEntry) -> String

    HostDirectoryEntry::to_json

    HostFileDialogKind

    pub(all) enum HostFileDialogKind {
    OpenFile
    SaveFile
    PickDirectory
    } derive(Eq, ToJson,
    Debug
    )

    HostFileDialogKind::equal

    HostFileDialogKind::not_equal

    HostFileDialogKind::to_json

    HostFileDialogOptions

    pub(all) struct HostFileDialogOptions {
    kind : HostFileDialogKind
    title : String
    filters : Array[String]
    default_name : String?
    } derive(Eq, ToJson,
    Debug
    )

    HostFileDialogOptions::equal

    HostFileDialogOptions::new

    fn HostFileDialogOptions::new(kind~ : HostFileDialogKind, title? : String, filters? : Array[String], default_name? : String?) -> HostFileDialogOptions

    HostFileDialogOptions::not_equal

    HostFileDialogOptions::to_json

    HostFocusEvent

    pub(all) struct HostFocusEvent {
    focused : Bool
    pointer_cancel_position :
    Point
    ?
    } derive(Eq, ToJson,
    Debug
    )

    HostFocusEvent::equal

    HostFocusEvent::new

    fn HostFocusEvent::new(focused~ : Bool, pointer_cancel_position? :
    Point
    ?) -> HostFocusEvent

    HostFocusEvent::not_equal

    fn HostFocusEvent::not_equal(x : HostFocusEvent, y : HostFocusEvent) -> Bool

    HostFocusEvent::to_core

    HostFocusEvent::to_json

    HostInputCapabilities

    pub(all) struct HostInputCapabilities {
    pointer : Bool
    scroll : Bool
    keyboard : Bool
    focus : Bool
    text_input : Bool
    ime : Bool
    clipboard : Bool
    drag_drop : Bool
    } derive(Eq, ToJson,
    Debug
    )

    HostInputCapabilities::enabled_labels

    fn HostInputCapabilities::enabled_labels(self : HostInputCapabilities) -> Array[String]

    HostInputCapabilities::equal

    HostInputCapabilities::new

    fn HostInputCapabilities::new(pointer? : Bool, scroll? : Bool, keyboard? : Bool, focus? : Bool, text_input? : Bool, ime? : Bool, clipboard? : Bool, drag_drop? : Bool) -> HostInputCapabilities

    HostInputCapabilities::none

    HostInputCapabilities::not_equal

    HostInputCapabilities::to_json

    HostInputContract

    pub(all) struct HostInputContract {
    capabilities : HostInputCapabilities
    coordinates : HostCoordinatePolicy
    } derive(Eq, ToJson,
    Debug
    )

    HostInputContract::equal

    HostInputContract::new

    HostInputContract::not_equal

    fn HostInputContract::not_equal(x : HostInputContract, y : HostInputContract) -> Bool

    HostInputContract::to_json

    HostModalCapabilities

    pub(all) struct HostModalCapabilities {
    native_modal : Bool
    surface_attach : Bool
    input_transform : Bool
    semantics_bridge : Bool
    } derive(Eq, ToJson,
    Debug
    )

    Capabilities are declarative; a missing capability must transparently use the view-level presentation path.

    HostModalCapabilities::equal

    HostModalCapabilities::full

    HostModalCapabilities::not_equal

    HostModalCapabilities::supports_input_transform

    fn HostModalCapabilities::supports_input_transform(self : HostModalCapabilities) -> Bool

    HostModalCapabilities::supports_native_modal

    fn HostModalCapabilities::supports_native_modal(self : HostModalCapabilities) -> Bool

    HostModalCapabilities::supports_semantics_bridge

    fn HostModalCapabilities::supports_semantics_bridge(self : HostModalCapabilities) -> Bool

    HostModalCapabilities::supports_surface_attach

    fn HostModalCapabilities::supports_surface_attach(self : HostModalCapabilities) -> Bool

    HostModalCapabilities::to_json

    HostModalCapabilities::unavailable

    HostModalEvent

    pub(all) enum HostModalEvent {
    Pending(Int, String, Int)
    Accepted(Int, String, Int)
    Rejected(Int, String, Int, String)
    Closed(Int, String, Int)
    SurfaceAttached(Int, String, Int, String)
    SurfaceDetached(Int, String, Int, String)
    Input(Int, String, Int,
    PointerEvent
    )
    } derive(Eq, ToJson,
    Debug
    )

    Typed host lifecycle facts returned to the runtime/TEA boundary.

    HostModalEvent::equal

    HostModalEvent::not_equal

    fn HostModalEvent::not_equal(x : HostModalEvent, y : HostModalEvent) -> Bool

    HostModalEvent::to_json

    HostModalModality

    pub(all) enum HostModalModality {
    NonModal
    Modal
    } derive(Eq, ToJson,
    Debug
    )

    HostModalModality::equal

    HostModalModality::not_equal

    fn HostModalModality::not_equal(x : HostModalModality, y : HostModalModality) -> Bool

    HostModalModality::to_json

    HostModalRequest

    pub(all) struct HostModalRequest {
    request_id : Int
    presentation_id : String
    generation : Int
    bounds :
    Rect

    modality : HostModalModality
    semantics_generation : Int
    } derive(Eq, ToJson,
    Debug
    )

    Neutral request to present an existing MoUI surface in a host-owned modal layer. The host never receives application state or a second content model.

    HostModalRequest::bounds

    HostModalRequest::equal

    HostModalRequest::generation

    fn HostModalRequest::generation(self : HostModalRequest) -> Int

    HostModalRequest::modality

    HostModalRequest::new

    fn HostModalRequest::new(request_id~ : Int, presentation_id~ : String, generation~ : Int, bounds~ :
    Rect
    , modality? : HostModalModality, semantics_generation? : Int) -> HostModalRequest

    HostModalRequest::not_equal

    fn HostModalRequest::not_equal(x : HostModalRequest, y : HostModalRequest) -> Bool

    HostModalRequest::presentation_id

    fn HostModalRequest::presentation_id(self : HostModalRequest) -> String

    HostModalRequest::request_id

    fn HostModalRequest::request_id(self : HostModalRequest) -> Int

    HostModalRequest::semantics_generation

    fn HostModalRequest::semantics_generation(self : HostModalRequest) -> Int

    HostModalRequest::to_json

    HostModalResult

    pub(all) enum HostModalResult {
    Accepted
    Rejected(String)
    Closed
    } derive(Eq, ToJson,
    Debug
    )

    Result of accepting or rejecting a request. Pending is represented by the absence of a result while the host negotiates capabilities.

    HostModalResult::equal

    HostModalResult::not_equal

    fn HostModalResult::not_equal(x : HostModalResult, y : HostModalResult) -> Bool

    HostModalResult::to_json

    HostPendingServiceRequest

    pub(all) struct HostPendingServiceRequest {
    id : HostServiceRequestId
    request : HostServiceRequest
    } derive(Eq, ToJson,
    Debug
    )

    HostPendingServiceRequest::equal

    HostPendingServiceRequest::not_equal

    HostPendingServiceRequest::to_json

    HostScrollDelta

    HostScrollDelta::equal

    HostScrollDelta::not_equal

    fn HostScrollDelta::not_equal(x : HostScrollDelta, y : HostScrollDelta) -> Bool

    HostScrollDelta::to_json

    HostScrollDelta::to_logical_pixels

    fn HostScrollDelta::to_logical_pixels(self : HostScrollDelta, line_extent? : Double) ->
    Point

    HostScrollEvent

    pub(all) struct HostScrollEvent {
    position :
    Point

    delta : HostScrollDelta
    phase : HostScrollPhase
    } derive(Eq, ToJson,
    Debug
    )

    HostScrollEvent::equal

    HostScrollEvent::new

    HostScrollEvent::not_equal

    fn HostScrollEvent::not_equal(x : HostScrollEvent, y : HostScrollEvent) -> Bool

    HostScrollEvent::to_json

    HostScrollEvent::to_pointer_event

    HostScrollPhase

    pub(all) enum HostScrollPhase {
    Started
    Moved
    Ended
    Cancelled
    } derive(Eq, ToJson,
    Debug
    )

    HostScrollPhase::equal

    HostScrollPhase::not_equal

    fn HostScrollPhase::not_equal(x : HostScrollPhase, y : HostScrollPhase) -> Bool

    HostScrollPhase::to_json

    HostServiceBridge

    pub struct HostServiceBridge {
    // private fields
    }

    HostServiceBridge::can_handle

    fn HostServiceBridge::can_handle(self : HostServiceBridge, request : HostServiceRequest) -> Bool

    HostServiceBridge::capabilities

    HostServiceBridge::dispatch

    HostServiceBridge::environment_with_system_theme

    HostServiceBridge::new

    HostServiceBridge::query_system_theme

    HostServiceBridge::unavailable

    HostServiceCapabilities

    pub(all) struct HostServiceCapabilities {
    clipboard : Bool
    menus : Bool
    file_dialogs : Bool
    file_access : Bool
    open_url : Bool
    system_theme : Bool
    settings : Bool
    } derive(Eq, ToJson,
    Debug
    )

    HostServiceCapabilities::enabled_labels

    fn HostServiceCapabilities::enabled_labels(self : HostServiceCapabilities) -> Array[String]

    HostServiceCapabilities::equal

    HostServiceCapabilities::new

    fn HostServiceCapabilities::new(clipboard? : Bool, menus? : Bool, file_dialogs? : Bool, file_access? : Bool, open_url? : Bool, system_theme? : Bool, settings? : Bool) -> HostServiceCapabilities

    HostServiceCapabilities::none

    HostServiceCapabilities::not_equal

    HostServiceCapabilities::to_json

    HostServiceKind

    pub(all) enum HostServiceKind {
    ClipboardService
    MenuService
    FileDialogService
    TextFileService
    BinaryFileService
    OpenUrlService
    SystemThemeService
    SettingsService
    DirectoryListingService
    FileDeleteService
    PlatformChannelService
    } derive(Eq, ToJson,
    Debug
    )

    HostServiceKind::equal

    HostServiceKind::not_equal

    fn HostServiceKind::not_equal(x : HostServiceKind, y : HostServiceKind) -> Bool

    HostServiceKind::to_json

    HostServiceRequest

    pub(all) enum HostServiceRequest {
    Clipboard(HostClipboardRequest)
    ShowMenu(Array[
    ActionCommand
    ])
    SetApplicationMenu(Array[HostApplicationMenu])
    FileDialog(HostFileDialogOptions)
    TextFile(HostTextFileRequest)
    BinaryFile(HostBinaryFileRequest)
    OpenUrl(String)
    QuerySystemTheme
    Settings(HostSettingsRequest)
    ListDirectory(String)
    DeleteFile(String)
    PlatformChannel(PlatformChannelRequest)
    } derive(Eq, ToJson,
    Debug
    )

    HostServiceRequest::equal

    HostServiceRequest::kind

    HostServiceRequest::not_equal

    HostServiceRequest::to_json

    HostServiceRequest::unavailable_message

    fn HostServiceRequest::unavailable_message(self : HostServiceRequest) -> String

    HostServiceRequestId

    pub(all) struct HostServiceRequestId {
    value : Int
    } derive(Eq, ToJson,
    Debug
    )

    HostServiceRequestId::equal

    HostServiceRequestId::new

    HostServiceRequestId::not_equal

    HostServiceRequestId::to_json

    HostServiceResponse

    pub(all) enum HostServiceResponse {
    Unavailable(String)
    Pending(HostServiceRequestId)
    ClipboardText(String)
    ClipboardWritten
    ClipboardImage(Bytes)
    MenuAction(
    ActionCommand
    )
    MenuCommand(
    CommandIntent
    )
    ApplicationMenuInstalled
    FileDialogSelection(Array[String])
    TextFileContent(String, String)
    TextFileWritten(String)
    BinaryFileContent(String, Bytes)
    BinaryFileWritten(String)
    UrlOpened
    SystemTheme(
    ColorScheme
    )
    SettingValue(String?)
    SettingWritten
    SettingRemoved
    DirectoryListing(String, Array[HostDirectoryEntry])
    FileDeleted(String)
    PlatformChannel(PlatformChannelResponse)
    } derive(Eq, ToJson,
    Debug
    )

    HostServiceResponse::binary_file_diagnostic

    HostServiceResponse::equal

    HostServiceResponse::is_pending

    fn HostServiceResponse::is_pending(self : HostServiceResponse) -> Bool

    HostServiceResponse::not_equal

    HostServiceResponse::to_json

    HostSettingsRequest

    pub(all) enum HostSettingsRequest {
    Read(String)
    Write(String, String)
    Remove(String)
    } derive(Eq, ToJson,
    Debug
    )

    HostSettingsRequest::equal

    HostSettingsRequest::not_equal

    HostSettingsRequest::to_json

    HostTextFileRequest

    pub(all) enum HostTextFileRequest {
    ReadText(String)
    WriteText(String, String)
    } derive(Eq, ToJson,
    Debug
    )

    HostTextFileRequest::equal

    HostTextFileRequest::not_equal

    HostTextFileRequest::to_json

    PlatformChannelRequest

    pub(all) struct PlatformChannelRequest {
    channel : String
    operation : String
    payload : String
    } derive(Eq, ToJson,
    Debug
    )

    PlatformChannelRequest::equal

    PlatformChannelRequest::new

    fn PlatformChannelRequest::new(channel~ : String, operation~ : String, payload? : String) -> PlatformChannelRequest

    PlatformChannelRequest::not_equal

    PlatformChannelRequest::to_json

    PlatformChannelResponse

    pub(all) enum PlatformChannelResponse {
    Ok(String)
    Unavailable(String)
    Error(String)
    } derive(Eq, ToJson,
    Debug
    )

    PlatformChannelResponse::equal

    PlatformChannelResponse::not_equal

    PlatformChannelResponse::to_json

    PlatformViewPlugin

    pub struct PlatformViewPlugin {
    kind : String
    capabilities_summary : String
    install_event_dispatcher : ((UInt64, String,
    PlatformViewEvent
    ) -> Unit) -> Unit
    sync_platform_views : (UInt64,
    DrawFrame
    , Double) -> Unit
    drain_commands : (UInt64) -> Unit
    dispose_platform_views : (UInt64) -> Unit
    setup_platform_view_draw : (UInt64,
    DrawFrame
    , Double, ((
    PlatformViewPixelSink
    ) -> Unit) -> Unit) -> Unit?
    poll_native : () -> Int64??
    }

    Platform-agnostic platform-view host plugin. Holds callbacks for every touchpoint between the MoUI rendering loop and a native platform view.

    • kind – the PlatformViewPlacement.kind this plugin owns (e.g. "web_view"). Used to filter frame.platform_views and to route native events. Two plugins must not share a kind.
    • capabilities_summary – human-readable description of the backend (e.g. "available" / "unavailable").
    • install_event_dispatcher – called once at app startup to wire the native event callback.
    • sync_platform_views – called each redraw to position/resize native views to match the current layout frame. The plugin filters frame.platform_views by its own kind.
    • drain_commands – called each redraw to flush queued commands (LoadUrl, Reload, etc.) to the native bridge.
    • dispose_platform_views – called when a window is torn down.
    • setup_platform_view_draw – optional callback used by the Linux offscreen-rendering path to inject a pixel-draw function between command rendering and buffer flush. Receives the native window handle, the renderer, the current frame, and the content offset. None on macOS/Windows.
    • poll_native – optional native event-pump probe used by backends whose platform view runs a nested event loop (Linux WebKitGTK). Returns the absolute deadline (ms) of the next outstanding native work, or None when there is nothing pending. The host uses the earliest non-None deadline to keep the event loop spinning via ControlFlow::wait_until; None on macOS/Windows.

    PlatformViewPlugin::new

    fn PlatformViewPlugin::new(kind~ : String, capabilities_summary~ : String, install_event_dispatcher~ : ((UInt64, String,
    PlatformViewEvent
    ) -> Unit) -> Unit, sync_platform_views~ : (UInt64,
    DrawFrame
    , Double) -> Unit, drain_commands~ : (UInt64) -> Unit, dispose_platform_views~ : (UInt64) -> Unit, setup_platform_view_draw? : (UInt64,
    DrawFrame
    , Double, ((
    PlatformViewPixelSink
    ) -> Unit) -> Unit) -> Unit?, poll_native? : () -> Int64??) -> PlatformViewPlugin

    WindowId

    pub(all) struct WindowId {
    value : Int
    } derive(Eq, ToJson,
    Debug
    )

    WindowId::equal

    fn WindowId::equal(WindowId, WindowId) -> Bool

    WindowId::new

    fn WindowId::new(value : Int) -> WindowId

    WindowId::not_equal

    fn WindowId::not_equal(x : WindowId, y : WindowId) -> Bool

    WindowId::to_json

    fn WindowId::to_json(WindowId) -> Json

    WindowId::to_repr

    WindowLifecyclePhase

    pub(all) enum WindowLifecyclePhase {
    WindowCreated
    WindowVisible
    WindowFocused
    WindowMinimized
    WindowCloseRequested
    WindowClosed
    } derive(Eq, ToJson,
    Debug
    )

    WindowLifecyclePhase::equal

    WindowLifecyclePhase::not_equal

    WindowLifecyclePhase::to_json

    WindowOpenRequest

    pub(all) struct WindowOpenRequest {
    title : String
    scene : WindowScene
    metrics :
    SurfaceMetrics

    primary : Bool
    } derive(Eq, ToJson,
    Debug
    )

    WindowOpenRequest::equal

    WindowOpenRequest::new

    fn WindowOpenRequest::new(title~ : String, scene? : WindowScene, metrics~ :
    SurfaceMetrics
    , primary? : Bool) -> WindowOpenRequest

    WindowOpenRequest::not_equal

    fn WindowOpenRequest::not_equal(x : WindowOpenRequest, y : WindowOpenRequest) -> Bool

    WindowOpenRequest::to_json

    WindowRecord

    pub(all) struct WindowRecord {
    id : WindowId
    title : String
    scene : WindowScene
    metrics :
    SurfaceMetrics

    phase : WindowLifecyclePhase
    primary : Bool
    } derive(Eq, ToJson,
    Debug
    )

    WindowRecord::equal

    WindowRecord::new

    fn WindowRecord::new(id~ : WindowId, title~ : String, scene? : WindowScene, metrics~ :
    SurfaceMetrics
    , phase? : WindowLifecyclePhase, primary? : Bool) -> WindowRecord

    WindowRecord::not_equal

    fn WindowRecord::not_equal(x : WindowRecord, y : WindowRecord) -> Bool

    WindowRecord::to_json

    WindowRequest

    pub(all) enum WindowRequest {
    OpenWindow(WindowOpenRequest)
    FocusWindow(WindowId)
    CloseWindow(WindowId)
    ResizeWindow(WindowId,
    SurfaceMetrics
    )
    MinimizeWindow(WindowId)
    ShowWindow(WindowId)
    SetPrimaryWindow(WindowId)
    } derive(Eq, ToJson,
    Debug
    )

    WindowRequest::equal

    WindowRequest::not_equal

    fn WindowRequest::not_equal(x : WindowRequest, y : WindowRequest) -> Bool

    WindowRequest::to_json

    WindowRequestCompletion

    pub(all) struct WindowRequestCompletion {
    request : WindowRequest
    result : WindowRequestResult
    } derive(Eq, ToJson,
    Debug
    )

    WindowRequestCompletion::equal

    WindowRequestCompletion::not_equal

    WindowRequestCompletion::to_json

    WindowRequestResult

    pub(all) enum WindowRequestResult {
    WindowOpened(WindowId)
    WindowUpdated(WindowId)
    WindowRejected(String)
    } derive(Eq, ToJson,
    Debug
    )

    WindowRequestResult::equal

    WindowRequestResult::not_equal

    WindowRequestResult::to_json

    WindowRequests

    pub struct WindowRequests {
    push_fn : (WindowRequest) -> Unit
    pending_count_fn : () -> Int
    completed_count_fn : () -> Int
    drain_fn : () -> Array[WindowRequest]
    record_result_fn : (WindowRequest, WindowRequestResult) -> Unit
    subscribe_completed_fn : ((WindowRequestCompletion) -> Unit) -> (() -> Unit)
    }

    Stateless request port shared by runtime composition and backend/common. Queue storage and completion fanout live in backend/common.

    WindowRequests::completed_count

    fn WindowRequests::completed_count(self : WindowRequests) -> Int

    WindowRequests::drain

    WindowRequests::drain_with_handler

    WindowRequests::new

    fn WindowRequests::new(push? : (WindowRequest) -> Unit, pending_count? : () -> Int, completed_count? : () -> Int, drain? : () -> Array[WindowRequest], record_result? : (WindowRequest, WindowRequestResult) -> Unit, subscribe_completed? : ((WindowRequestCompletion) -> Unit) -> (() -> Unit)) -> WindowRequests

    WindowRequests::pending_count

    fn WindowRequests::pending_count(self : WindowRequests) -> Int

    WindowRequests::push

    fn WindowRequests::push(self : WindowRequests, request : WindowRequest) -> Unit

    WindowRequests::record_result

    fn WindowRequests::record_result(self : WindowRequests, request : WindowRequest, result : WindowRequestResult) -> Unit

    WindowRequests::subscribe_completed

    fn WindowRequests::subscribe_completed(self : WindowRequests, handle : (WindowRequestCompletion) -> Unit) -> (() -> Unit)

    WindowRequests::unavailable

    fn WindowRequests::unavailable() -> WindowRequests

    WindowScene

    pub(all) struct WindowScene {
    scene_id : String
    payload : String
    } derive(Eq, ToJson,
    Debug
    )

    WindowScene::equal

    fn WindowScene::equal(WindowScene, WindowScene) -> Bool

    WindowScene::main

    fn WindowScene::main() -> WindowScene

    WindowScene::new

    fn WindowScene::new(scene_id~ : String, payload? : String) -> WindowScene

    WindowScene::not_equal

    fn WindowScene::not_equal(x : WindowScene, y : WindowScene) -> Bool

    WindowScene::to_json

    fn WindowScene::to_json(WindowScene) -> Json