Skip to content

ButtonNode

Namespace: Hex1b

Assembly: Hex1b.dll

csharp
public sealed class ButtonNode : Hex1bNode

Inheritance

ObjectHex1bNodeButtonNode

Properties

ClickAction

The async action to execute when the button is activated. This is the wrapped handler that receives InputBindingActionContext.

Returns: Func<InputBindingActionContext, Task>

csharp
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

csharp
public override Rect HitTestBounds { get; }

IsFocusable

Returns true if this node can receive focus.

Returns: Boolean

csharp
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

csharp
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

csharp
public override bool IsHovered { get; set; }

Label

Returns: String

csharp
public string Label { get; set; }

SourceWidget

The source widget that was reconciled into this node. Used to create typed event args.

Returns: ButtonWidget

csharp
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:

csharp
public override void ConfigureDefaultBindings(InputBindingsBuilder bindings)

MeasureCore(Constraints)

Override this method to implement measuring logic for this node.

Parameters:

Returns: Size

csharp
protected override Size MeasureCore(Constraints constraints)

Render(Hex1bRenderContext)

Renders the node to the given context.

Parameters:

csharp
public override void Render(Hex1bRenderContext context)

Released under the MIT License.