コンテンツにスキップ

HitTestResult クラス

ポインター位置でヒットした対象の経路と、走査中の座標変換を保持します。

名前空間: FloatSoda.Gesture
アセンブリ: FloatSoda.dll

public class HitTestResult

object ← HitTestResult

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

座標変換はPushOffsetまたはPushTransformとPopTransformを対にして管理し、Add時点の累積値を各エントリへ保存します。

現在のグローバル座標からローカル座標への累積変換を取得します。

public Matrix3x2 LastTransform { get; }

Matrix3x2

まだ確定していない変換がある場合は、取得時に累積変換へ反映します。

ヒットした対象を配送順に保持する読み取り専用の経路を取得します。

public IReadOnlyList<HitTestEntry> Path { get; }

IReadOnlyList<HitTestEntry>

現在の累積座標変換を設定してヒットテスト経路へエントリを追加します。

public void Add(HitTestEntry entry)

entry HitTestEntry

追加する対象。指定されている座標変換は現在の累積値で置き換えられます。

AddWidthPaintOffset(Offset?, Offset, Func<HitTestResult, Offset, bool>)

Section titled “AddWidthPaintOffset(Offset?, Offset, Func<HitTestResult, Offset, bool>)”

描画時の子要素オフセットを座標へ反映し、子要素のヒットテストを実行します。

public bool AddWidthPaintOffset(Offset? offset, Offset position, Func<HitTestResult, Offset, bool> hitTest)

offset Offset?

親座標系における子要素の論理ピクセル単位の位置。位置がない場合はnullです。

position Offset

親座標系におけるポインター位置。

hitTest Func<HitTestResult, Offset, bool>

この結果と子要素のローカル座標を受け取り、ヒット判定を行う処理。

bool

子要素がヒットした場合はtrue、ヒットしなかった場合はfalse。

指定したオフセットは処理の呼び出し中だけ積まれ、処理が戻ると元の変換状態へ戻されます。

AddWithPaintTransform(Matrix3x2, Offset, Func<HitTestResult, Offset, bool>)

Section titled “AddWithPaintTransform(Matrix3x2, Offset, Func<HitTestResult, Offset, bool>)”

描画時のアフィン変換を座標へ反映し、子要素のヒットテストを実行します。

public bool AddWithPaintTransform(Matrix3x2 transform, Offset position, Func<HitTestResult, Offset, bool> hitTest)

transform Matrix3x2

子要素のローカル座標から親座標へ変換する描画行列。

position Offset

親座標系におけるポインター位置。

hitTest Func<HitTestResult, Offset, bool>

この結果と子要素のローカル座標を受け取り、ヒット判定を行う処理。

bool

子要素がヒットした場合はtrue、ヒットしなかった場合はfalse。

逆行列を計算できない場合はヒットしません。逆変換は処理の呼び出し中だけ積まれ、処理が戻ると元の変換状態へ戻されます。

直前に積まれた座標変換を取り除きます。

public void PopTransform()

PushOffsetまたはPushTransformと対にして呼び出す必要があります。未確定の変換があればそれを、なければ確定済みの累積変換を1段戻します。

子要素のヒットテスト中に適用する座標オフセットを積みます。

public void PushOffset(Offset offset)

offset Offset

現在の座標へ加算する論理ピクセル単位のオフセット。

走査を戻る際はPopTransformを同じ回数だけ呼び出します。

子要素のヒットテスト中に適用するアフィン座標変換を積みます。

public void PushTransform(Matrix3x2 transform)

transform Matrix3x2

現在の座標から子要素のローカル座標へ変換する行列。

走査を戻る際はPopTransformを同じ回数だけ呼び出します。

HitTestEntry