コンテンツにスキップ

RenderWrap クラス

複数の子を run へ分割し、利用可能な主軸領域で折り返して配置する RenderObject です。

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

public class RenderWrap : RenderBox, IHitTestTarget, IHasMultiChildrenRenderObject

object ← RenderObject ← RenderBox ← RenderWrap

IHitTestTarget, IHasMultiChildrenRenderObject

RenderBox.Size, RenderBox.GetMinIntrinsicWidth(double), RenderBox.GetMaxIntrinsicWidth(double), RenderBox.GetMinIntrinsicHeight(double), RenderBox.GetMaxIntrinsicHeight(double), RenderBox.ComputeMinIntrinsicWidth(double), RenderBox.ComputeMaxIntrinsicWidth(double), RenderBox.ComputeMinIntrinsicHeight(double), RenderBox.ComputeMaxIntrinsicHeight(double), RenderBox.HitTest(HitTestResult, Offset), RenderBox.HitTestChildren(HitTestResult, Offset), RenderBox.HitTestSelf(Offset), RenderBox.HandleEvent(PointerEvent, HitTestEntry), RenderObject.Constraints, RenderObject.ParentData, RenderObject.Parent, RenderObject.Owner, RenderObject.Layer, RenderObject.Size, RenderObject.NeedsPaint, RenderObject.NeedsLayout, RenderObject.Depth, RenderObject.IsRepaintBoundary, RenderObject.Attached, RenderObject.RelayoutBoundary, RenderObject.SizedByParent, RenderObject.PerformLayout(), RenderObject.Layout(BoxConstraints, bool), RenderObject.LayoutWithoutResize(), RenderObject.CleanChildRelayoutBoundary(), RenderObject.MarkNeedsLayout(), RenderObject.MarkParentNeedsLayout(), RenderObject.Attach(RenderPipeline?), RenderObject.AdoptChild(RenderObject), RenderObject.RedepthChild(RenderObject), RenderObject.RedepthChildren(), RenderObject.VisitChildren(Action<RenderObject>), RenderObject.SetupParentData(RenderObject), RenderObject.Paint(PaintingContext, Offset), RenderObject.MarkNeedsPaint(), RenderObject.Detach(), RenderObject.DropChild(RenderObject), RenderObject.HandleEvent(PointerEvent, HitTestEntry), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

子を持たない Wrap レイアウトを初期化します。

public RenderWrap()

各 run 内で子を主軸方向へ配置する方法を取得または設定します。

public WrapAlignment Alignment { get; set; }

WrapAlignment

レイアウト対象となる子のコレクションを取得します。

public MultiChildrenCollection<RenderBox> Children { get; }

MultiChildrenCollection<RenderBox>

各 run 内で子を交差軸方向へ配置する方法を取得または設定します。

public WrapCrossAlignment CrossAxisAlignment { get; set; }

WrapCrossAlignment

子を並べる主軸の方向を取得または設定します。

public Axis Direction { get; set; }

Axis

run 全体を交差軸方向へ配置する方法を取得または設定します。

public WrapAlignment RunAlignment { get; set; }

WrapAlignment

隣接する run 同士の最小間隔を取得または設定します。

public double RunSpacing { get; set; }

double

ArgumentOutOfRangeException

値が負数または有限値ではありません。

同じ run にある子同士の最小間隔を取得または設定します。

public double Spacing { get; set; }

double

ArgumentOutOfRangeException

値が負数または有限値ではありません。

垂直方向における開始側と終了側の向きを取得または設定します。

public VerticalDirection VerticalDirection { get; set; }

VerticalDirection

指定した RenderObject を末尾の子として追加します。

public void AddChild(RenderObject child)

child RenderObject

追加する RenderObject。RenderBoxである必要があります。

このRenderObjectを指定した描画パイプラインへ接続します。

public override void Attach(RenderPipeline? owner)

owner RenderPipeline?

接続先のパイプライン。パイプラインを関連付けずに接続する場合はnullです。

接続前からレイアウトDirtyで再レイアウト境界が設定済みの場合は、境界へレイアウト要求を登録し直します。 描画Dirtyで既存レイヤーがある場合は、再描画境界へ描画要求を登録し直します。 派生型は保持する子にも接続を伝播します。

派生型固有の最大intrinsic高さを計算します。

protected override double ComputeMaxIntrinsicHeight(double width)

width double

double

派生型固有の最大intrinsic幅を計算します。

protected override double ComputeMaxIntrinsicWidth(double height)

height double

double

派生型固有の最小intrinsic高さを計算します。

protected override double ComputeMinIntrinsicHeight(double width)

width double

double

派生型固有の最小intrinsic幅を計算します。

protected override double ComputeMinIntrinsicWidth(double height)

height double

double

このRenderObjectを描画パイプラインから切り離します。

public override void Detach()

接続先を解除します。子を保持する派生型は子にも切り離しを伝播します。

指定したローカル座標が子にヒットするかを判定します。

public override bool HitTestChildren(HitTestResult result, Offset position)

result HitTestResult

ヒットした子を追加する結果。

position Offset

このRenderBoxのローカル座標系における判定位置。

bool

子がヒットした場合はtrue、それ以外の場合はfalseです。

指定したRenderObjectをafterの次へ挿入します。afterがnullなら先頭へ挿入します。

public void InsertChild(RenderObject child, RenderObject? after)

child RenderObject

挿入するRenderObject。RenderBoxである必要があります。

after RenderObject?

挿入位置の基準にする子。

保持している子をafterの次へ移動します。afterがnullなら先頭へ移動します。

public void MoveChild(RenderObject child, RenderObject? after)

child RenderObject

移動するRenderObject。

after RenderObject?

移動先の基準にする子。

指定した位置を原点として、このRenderObjectを描画コンテキストへ記録します。

public override void Paint(PaintingContext context, Offset offset)

context PaintingContext

描画命令と合成レイヤーを記録するコンテキスト。

offset Offset

親の座標系における描画原点。

現在のConstraintsに従って自身と必要な子をレイアウトします。

public override void PerformLayout()

派生型は処理の完了前にSizeを確定します。

直下の子を起点として子孫の深さを更新します。

public override void RedepthChildren()

子を保持する派生型がオーバーライドします。

指定した RenderObject を子のコレクションから削除します。

public bool RemoveChild(RenderObject child)

child RenderObject

削除する RenderObject。

bool

子が見つかり削除された場合は true。

指定した子が必要とする親データを準備します。

public override void SetupParentData(RenderObject child)

child RenderObject

このRenderObjectへ組み込む子。

親固有のIParentDataを使用する派生型がオーバーライドします。

直下の各子に処理を適用します。

public override void VisitChildren(Action<RenderObject> visitor)

visitor Action<RenderObject>

各子に一度ずつ適用する処理。

子を保持する派生型がオーバーライドします。