ButtonNode
Namespace: Hex1b
Assembly: Hex1b.dll
public sealed class ButtonNode : Hex1bNodeInheritance
Object → Hex1bNode → ButtonNode
Properties
ClickAction
The async action to execute when the button is activated. This is the wrapped handler that receives InputBindingActionContext.
Returns: Func<InputBindingActionContext, Task>
public Func<InputBindingActionContext, Task>? ClickAction { get; set; }HitTestBounds
Hit test bounds are limited to the actual button content, not the full arranged bounds. If the button hasn't been arranged (Bounds is zero), returns empty bounds to prevent accidental hits on nodes that are scrolled out of view or otherwise not displayed.
Returns: Rect
public override Rect HitTestBounds { get; }IsFocusable
Returns true if this node can receive focus.
Returns: Boolean
public override bool IsFocusable { get; }IsFocused
Gets or sets whether this node is currently focused. Only meaningful for focusable nodes (where IsFocusable is true).
Returns: Boolean
public override bool IsFocused { get; set; }IsHovered
Gets or sets whether the mouse is currently hovering over this node. Set by Hex1bApp based on mouse position during each frame. Only set on focusable nodes (tracked via FocusRing hit testing).
Returns: Boolean
public override bool IsHovered { get; set; }Label
Returns: String
public string Label { get; set; }SourceWidget
The source widget that was reconciled into this node. Used to create typed event args.
Returns: ButtonWidget
public ButtonWidget? SourceWidget { get; set; }Methods
ConfigureDefaultBindings(InputBindingsBuilder)
Configures the default input bindings for this node type. Override in derived classes to add default key bindings. These bindings can be inspected and modified by the user's callback.
Parameters:
bindings(InputBindingsBuilder): The builder to add bindings to.
public override void ConfigureDefaultBindings(InputBindingsBuilder bindings)MeasureCore(Constraints)
Override this method to implement measuring logic for this node.
Parameters:
constraints(Constraints):
Returns: Size
protected override Size MeasureCore(Constraints constraints)Render(Hex1bRenderContext)
Renders the node to the given context.
Parameters:
context(Hex1bRenderContext):
public override void Render(Hex1bRenderContext context)