InteractiveModifierBase
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 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 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 override void OnApply(in RangeApplyContext context)Adds the source range with its primary value and resolved interaction parameters.
protected void AddRange(in RangeApplyContext context, string primaryValue)Adds a range with the supplied primary value and resolves shared parameters at their declared slots.
public virtual bool TryGetRange(int cluster, out InteractiveRange range)Finds the first owned range containing the rendered cluster.
protected virtual bool IsRangeEnabled(in InteractiveRange range)Whether the entity currently participates in focus, hit testing and events.
public RangeState GetRangeState(in InteractiveRange range)Current aggregate state across all pointer leases for this range.
protected virtual void HandleInteraction(RangeInteraction interaction)Receives routed target events that public handlers have not marked as handled.
protected virtual void HandleDefaultAction(RangeInteraction interaction)Performs built-in behavior after all capture, channel, modifier and bubble handlers. It is skipped when a handler calls RangeInteraction.PreventDefault.
