Back to API Reference
Class

InteractiveModifierBase

abstract
Inherits:BaseModifier

Interactive ranges with shared hit policies, routed events and state rules.

Derived Types(3)

Types that inherit from InteractiveModifierBase.

public RangeChannel Channel{ get; set }

Stable event channel, or null to inherit the source channel.

public CursorType HoverCursor{ get; set }

Hardware cursor shown while a mouse or pen hovers this range.

public int InteractionPriority{ get; set }

Priority used to resolve overlapping interactive ranges.

public RangeInteractionScope ActivationScope{ get; set }

Target scope that must match the press origin for activation.

public UnitVector2 HitPadding{ get; set }

Symmetric expansion applied to hit geometry.

public UnitVector2 MinimumHitSize{ get; set }

Minimum width and height of every hit fragment.

public WrappedGapPolicy WrappedGapPolicy{ get; set }

Whether wrapped and BiDi fragments remain separate or bridge gaps.

public RangeWhitespacePolicy WhitespacePolicy{ get; set }

Whitespace included in the interactive target.

public InlineObjectPolicy InlineObjectPolicy{ get; set }

Whether inline objects participate in the interactive target.

public string RoutingProfile{ get; set }
public bool Focusable{ get; set }
public bool WrapNavigation{ get; set }

Whether navigation wraps at the first and last eligible entity.

public ReadOnlySpan<InteractiveRange> InteractiveRanges{ get }

The interactive ranges produced by the last modifier application cycle.

public RangeInteractionEvents Events{ get }

Events for this modifier's ranges, including those without a channel asset.

protected string AttributeKey{ get }

Per-instance attribute key. Override only for an intentional shared range buffer.

protected override void OnEnable()
protected override void OnDisable()
protected override void OnDestroy()
protected override void BeforeApply()
protected override void OnApply()

Adds the source range with its primary value and resolved interaction parameters.

protected void AddRange()

Adds a range with the supplied primary value and resolves shared parameters at their declared slots.

public virtual bool TryGetRange()

Finds the first owned range containing the rendered cluster.

protected virtual bool IsRangeEnabled()

Whether the entity currently participates in focus, hit testing and events.

public RangeState GetRangeState()

Current aggregate state across all pointer leases for this range.

protected virtual void HandleRangesRebuilt()

Reconciles modifier-owned entity state after the router rebuilds final geometry.

protected virtual void HandleInteraction()

Receives routed target events that public handlers have not marked as handled.

protected virtual void HandleDefaultAction()

Performs built-in behavior after all capture, channel, modifier and bubble handlers. It is skipped when a handler calls PreventDefault.