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