RemotePluginSurfaceInputRouter class final

Host-side router that maps global input into remote plugin surfaces.

This uses the same resolved placement logic as UV layer composition so host mouse, key, focus, and blur events can be delivered to the correct plugin surface without each host rebuilding hit testing by hand.

Constructors

RemotePluginSurfaceInputRouter({required RemotePluginSurfaceStore surfaces, required Map<String, RemotePluginSurfaceMessageSender> sendersBySurfaceId, Iterable<RemotePluginSurfacePlacement> placements = const []})
RemotePluginSurfaceInputRouter.forConnections({required RemotePluginSurfaceStore surfaces, required Map<String, RemotePluginHostConnection> connectionsBySurfaceId, Iterable<RemotePluginSurfacePlacement> placements = const []})
factory

Properties

focusedSurfaceId String?
Surface currently considered focused by the router.
no setter
hashCode int
The hash code for this object.
no setterinherited
placements List<RemotePluginSurfacePlacement>
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
surfaces RemotePluginSurfaceStore
final

Methods

focusSurface(String? surfaceId) Future<void>
Focuses surfaceId, blurring the previously focused surface first.
hitTest(int column, int row) RemotePluginSurfaceHit?
Resolves the topmost remote plugin surface at one host coordinate.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sendKey({required String key, String? code, bool ctrl = false, bool alt = false, bool shift = false, bool meta = false}) Future<void>
Sends one key event to the currently focused surface, if any.
sendMouse({required RemotePluginMouseAction action, required RemotePluginMouseButton button, required int column, required int row, bool ctrl = false, bool alt = false, bool shift = false, bool meta = false, bool focusOnPress = true}) Future<RemotePluginSurfaceHit?>
Sends one mouse event to the topmost hit surface, if any.
sendTuiMouse(MouseMsg event, {bool focusOnPress = true}) Future<RemotePluginSurfaceHit?>
Sends one TUI mouse event to the topmost hit surface, if supported.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited