コンテンツにスキップ

RenderIntrinsicWidth クラス

子の最大intrinsic幅を使って子の幅を決定するRenderObjectです。

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

public sealed class RenderIntrinsicWidth : RenderProxyBox, IHitTestTarget, IHasSingleChildRenderObject

object ← RenderObject ← RenderBox ← RenderProxyBox ← RenderIntrinsicWidth

IHitTestTarget, IHasSingleChildRenderObject

RenderProxyBox.Child, RenderProxyBox.SetupParentData(RenderObject), RenderProxyBox.PerformLayout(), RenderProxyBox.Paint(PaintingContext, Offset), RenderProxyBox.Attach(RenderPipeline?), RenderProxyBox.Detach(), RenderProxyBox.VisitChildren(Action<RenderObject>), RenderProxyBox.RedepthChildren(), RenderProxyBox.HitTestChildren(HitTestResult, Offset), RenderBox.Size, RenderBox.GetMinIntrinsicWidth(double), RenderBox.GetMaxIntrinsicWidth(double), RenderBox.GetMinIntrinsicHeight(double), RenderBox.GetMaxIntrinsicHeight(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.ReferenceEquals(object?, object?), object.ToString()

intrinsic測定は通常レイアウト前の追加走査を行い、入れ子では最悪O(N²)になり得ます。 スクロール領域や大規模なツリーでは固定制約を優先してください。

計測した幅を切り上げる単位を取得または設定します。

public double? StepWidth { get; set; }

double?

ArgumentOutOfRangeException

値が0以下または非有限値です。

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

protected override double ComputeMaxIntrinsicWidth(double height)

height double

double

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

protected override double ComputeMinIntrinsicWidth(double height)

height double

double

子を現在の制約でレイアウトし、そのサイズを自身へ反映します。

public override void PerformLayout()

子が存在しない場合は、現在の制約で許される最小サイズを使用します。