MouseBinding
Namespace: Hex1b.Input
Assembly: Hex1b.dll
A binding that triggers an action on a mouse event.
public sealed class MouseBindingInheritance
Object → MouseBinding
Constructors
MouseBinding(MouseButton, MouseAction, Hex1bModifiers, Action, string?, ActionId?, bool)
Creates a mouse binding with a simple action handler (no context).
Parameters:
button(MouseButton):action(MouseAction):modifiers(Hex1bModifiers):handler(Action):description(String):actionId(Nullable<ActionId>):overridesCapture(Boolean):
public MouseBinding(MouseButton button, MouseAction action, Hex1bModifiers modifiers, Action handler, string? description, ActionId? actionId = null, bool overridesCapture = false)MouseBinding(MouseButton, MouseAction, Hex1bModifiers, int, Action, string?, ActionId?, bool)
Creates a mouse binding with a simple action handler and click count (no context).
Parameters:
button(MouseButton):action(MouseAction):modifiers(Hex1bModifiers):clickCount(Int32):handler(Action):description(String):actionId(Nullable<ActionId>):overridesCapture(Boolean):
public MouseBinding(MouseButton button, MouseAction action, Hex1bModifiers modifiers, int clickCount, Action handler, string? description, ActionId? actionId = null, bool overridesCapture = false)MouseBinding(MouseButton, MouseAction, Hex1bModifiers, int, Action<InputBindingActionContext>, string?, ActionId?, bool)
Creates a mouse binding with a synchronous context-aware handler.
Parameters:
button(MouseButton):action(MouseAction):modifiers(Hex1bModifiers):clickCount(Int32):handler(Action<InputBindingActionContext>):description(String):actionId(Nullable<ActionId>):overridesCapture(Boolean):
public MouseBinding(MouseButton button, MouseAction action, Hex1bModifiers modifiers, int clickCount, Action<InputBindingActionContext> handler, string? description, ActionId? actionId = null, bool overridesCapture = false)MouseBinding(MouseButton, MouseAction, Hex1bModifiers, int, Func<InputBindingActionContext, Task>, string?, ActionId?, bool)
Creates a mouse binding with an async context-aware handler.
Parameters:
button(MouseButton):action(MouseAction):modifiers(Hex1bModifiers):clickCount(Int32):handler(Func<InputBindingActionContext, Task>):description(String):actionId(Nullable<ActionId>):overridesCapture(Boolean):
public MouseBinding(MouseButton button, MouseAction action, Hex1bModifiers modifiers, int clickCount, Func<InputBindingActionContext, Task> handler, string? description, ActionId? actionId = null, bool overridesCapture = false)Properties
Action
The mouse action that triggers this binding (default: Down for click).
Returns: MouseAction
public MouseAction Action { get; }ActionId
A stable identifier for the action this binding performs. Used for programmatic rebinding via .
Returns: Nullable<ActionId>
public ActionId? ActionId { get; }Button
The mouse button that triggers this binding.
Returns: MouseButton
public MouseButton Button { get; }ClickCount
The minimum click count required to trigger this binding. 1 = single click (default), 2 = double click, 3 = triple click. A binding with ClickCount=2 will match events with ClickCount >= 2.
Returns: Int32
public int ClickCount { get; }Description
Human-readable description of what this binding does.
Returns: String
public string? Description { get; }Modifiers
Required modifier keys.
Returns: Hex1bModifiers
public Hex1bModifiers Modifiers { get; }OverridesCapture
Whether this binding overrides input capture. When true and the owning node has captured input, the binding is checked even if the click would not normally route to the node (the click only needs to fall within the captured node's bounds). Mirrors for keyboard bindings — useful for "while in this mode, my widget owns this mouse button" patterns (e.g., right-click commit during copy mode).
Returns: Boolean
public bool OverridesCapture { get; }Methods
ExecuteAsync(InputBindingActionContext)
Executes the handler for this binding.
Parameters:
context(InputBindingActionContext):
Returns: Task
public Task ExecuteAsync(InputBindingActionContext context)Matches(Hex1bMouseEvent)
Checks if this binding matches the given mouse event. For click count: binding matches if event's click count is >= binding's required count.
Parameters:
mouseEvent(Hex1bMouseEvent):
Returns: Boolean
public bool Matches(Hex1bMouseEvent mouseEvent)