RenderFlex クラス
複数の子を主軸に沿って並べ、主軸と交差軸の配置を調整するRenderObjectです。
名前空間: FloatSoda.RenderObjects.Layout
アセンブリ: FloatSoda.dll
public class RenderFlex : RenderBox, IHitTestTarget, IHasMultiChildrenRenderObjectobject ← RenderObject ← RenderBox ← RenderFlex
実装するインターフェイス
Section titled “実装するインターフェイス”IHitTestTarget, IHasMultiChildrenRenderObject
継承したメンバー
Section titled “継承したメンバー”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()
コンストラクター
Section titled “コンストラクター”RenderFlex()
Section titled “RenderFlex()”子を持たないFlexレイアウトを初期化します。
public RenderFlex()Children
Section titled “Children”レイアウト対象となる子のコレクションを取得します。
public MultiChildrenCollection<RenderBox> Children { get; }プロパティの値
Section titled “プロパティの値”MultiChildrenCollection<RenderBox>
CrossAxisAlignment
Section titled “CrossAxisAlignment”交差軸方向の子の配置方法を取得または設定します。
public CrossAxisAlignment CrossAxisAlignment { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に交差軸方向の制約と各子の位置を再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
Direction
Section titled “Direction”子を並べる主軸の方向を取得または設定します。
public Axis Direction { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に各子のサイズと位置を再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
MainAxisAlignment
Section titled “MainAxisAlignment”主軸方向の子の配置方法を取得または設定します。
public MainAxisAlignment MainAxisAlignment { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に主軸方向の余白と各子の位置を再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
MainAxisSize
Section titled “MainAxisSize”主軸方向に利用可能な領域を占有する方法を取得または設定します。
public MainAxisSize MainAxisSize { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に主軸方向のサイズと各子の位置を再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
VerticalDirection
Section titled “VerticalDirection”垂直方向における開始側と終了側の向きを取得または設定します。
public VerticalDirection VerticalDirection { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に各子の配置順と位置を再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
AddChild(RenderObject)
Section titled “AddChild(RenderObject)”指定したRenderObjectを末尾の子として追加します。
public void AddChild(RenderObject child)パラメーター
Section titled “パラメーター”child RenderObject
追加するRenderObject。RenderBoxである必要があります。
このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に全ての子のサイズと位置を再計算します。
Attach(RenderPipeline?)
Section titled “Attach(RenderPipeline?)”このRenderObjectを指定した描画パイプラインへ接続します。
public override void Attach(RenderPipeline? owner)パラメーター
Section titled “パラメーター”owner RenderPipeline?
接続先のパイプライン。パイプラインを関連付けずに接続する場合はnullです。
接続前からレイアウトDirtyで再レイアウト境界が設定済みの場合は、境界へレイアウト要求を登録し直します。 描画Dirtyで既存レイヤーがある場合は、再描画境界へ描画要求を登録し直します。 派生型は保持する子にも接続を伝播します。
ComputeMaxIntrinsicHeight(double)
Section titled “ComputeMaxIntrinsicHeight(double)”派生型固有の最大intrinsic高さを計算します。
protected override double ComputeMaxIntrinsicHeight(double width)パラメーター
Section titled “パラメーター”width double
ComputeMaxIntrinsicWidth(double)
Section titled “ComputeMaxIntrinsicWidth(double)”派生型固有の最大intrinsic幅を計算します。
protected override double ComputeMaxIntrinsicWidth(double height)パラメーター
Section titled “パラメーター”height double
ComputeMinIntrinsicHeight(double)
Section titled “ComputeMinIntrinsicHeight(double)”派生型固有の最小intrinsic高さを計算します。
protected override double ComputeMinIntrinsicHeight(double width)パラメーター
Section titled “パラメーター”width double
ComputeMinIntrinsicWidth(double)
Section titled “ComputeMinIntrinsicWidth(double)”派生型固有の最小intrinsic幅を計算します。
protected override double ComputeMinIntrinsicWidth(double height)パラメーター
Section titled “パラメーター”height double
Detach()
Section titled “Detach()”このRenderObjectを描画パイプラインから切り離します。
public override void Detach()接続先を解除します。子を保持する派生型は子にも切り離しを伝播します。
HitTestChildren(HitTestResult, Offset)
Section titled “HitTestChildren(HitTestResult, Offset)”指定したローカル座標が子にヒットするかを判定します。
public override bool HitTestChildren(HitTestResult result, Offset position)パラメーター
Section titled “パラメーター”result HitTestResult
ヒットした子を追加する結果。
position Offset
このRenderBoxのローカル座標系における判定位置。
子がヒットした場合はtrue、それ以外の場合はfalseです。
InsertChild(RenderObject, RenderObject?)
Section titled “InsertChild(RenderObject, RenderObject?)”指定したRenderObjectをafterの次へ挿入します。afterがnullなら先頭へ挿入します。
public void InsertChild(RenderObject child, RenderObject? after)パラメーター
Section titled “パラメーター”child RenderObject
挿入するRenderObject。RenderBoxである必要があります。
after RenderObject?
挿入位置の基準にする子。
MoveChild(RenderObject, RenderObject?)
Section titled “MoveChild(RenderObject, RenderObject?)”保持している子をafterの次へ移動します。afterがnullなら先頭へ移動します。
public void MoveChild(RenderObject child, RenderObject? after)パラメーター
Section titled “パラメーター”child RenderObject
移動するRenderObject。
after RenderObject?
移動先の基準にする子。
Paint(PaintingContext, Offset)
Section titled “Paint(PaintingContext, Offset)”指定した位置を原点として、このRenderObjectを描画コンテキストへ記録します。
public override void Paint(PaintingContext context, Offset offset)パラメーター
Section titled “パラメーター”context PaintingContext
描画命令と合成レイヤーを記録するコンテキスト。
offset Offset
親の座標系における描画原点。
PerformLayout()
Section titled “PerformLayout()”現在のConstraintsに従って自身と必要な子をレイアウトします。
public override void PerformLayout()派生型は処理の完了前にSizeを確定します。
RedepthChildren()
Section titled “RedepthChildren()”直下の子を起点として子孫の深さを更新します。
public override void RedepthChildren()子を保持する派生型がオーバーライドします。
RemoveChild(RenderObject)
Section titled “RemoveChild(RenderObject)”指定したRenderObjectを子のコレクションから削除します。
public bool RemoveChild(RenderObject child)パラメーター
Section titled “パラメーター”child RenderObject
削除するRenderObject。RenderBoxである必要があります。
子が見つかり削除された場合はtrue、それ以外の場合はfalse。
子が削除された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に残りの子のサイズと位置を再計算します。 子が見つからなかった場合、Dirty状態は変更されません。
SetupParentData(RenderObject)
Section titled “SetupParentData(RenderObject)”指定した子が必要とする親データを準備します。
public override void SetupParentData(RenderObject child)パラメーター
Section titled “パラメーター”child RenderObject
このRenderObjectへ組み込む子。
親固有のIParentDataを使用する派生型がオーバーライドします。
VisitChildren(Action<RenderObject>)
Section titled “VisitChildren(Action<RenderObject>)”直下の各子に処理を適用します。
public override void VisitChildren(Action<RenderObject> visitor)パラメーター
Section titled “パラメーター”visitor Action<RenderObject>
各子に一度ずつ適用する処理。
子を保持する派生型がオーバーライドします。