コンテンツにスキップ

RenderBox クラス

矩形のサイズを持ち、ボックス制約によるレイアウトとヒットテストを行うRenderObjectの基底クラスです。

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

public abstract class RenderBox : RenderObject, IHitTestTarget

object ← RenderObject ← RenderBox

RenderConstrainedOverflowBox, RenderFlex, RenderFractionallySizedOverflowBox, RenderImage, RenderParagraph, RenderPositionedBox, RenderProxyBox, RenderSizedOverflowBox, RenderStack, RenderWrap

IHitTestTarget

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()

intrinsic測定は通常レイアウトとは独立した追加走査であり、入れ子では最悪O(N²)になり得ます。 スクロール領域や大規模ツリーでは繰り返し問い合わせず、可能なら固定制約または通常レイアウトを使用してください。

レイアウトで決定されたサイズを取得します。

public override SKSize Size { get; protected set; }

SKSize

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

protected virtual double ComputeMaxIntrinsicHeight(double width)

width double

double

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

protected virtual double ComputeMaxIntrinsicWidth(double height)

height double

double

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

protected virtual double ComputeMinIntrinsicHeight(double width)

width double

double

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

protected virtual double ComputeMinIntrinsicWidth(double height)

height double

double

指定した幅で内容が自然に占める最大の高さを問い合わせます。

public double GetMaxIntrinsicHeight(double width)

width double

利用可能な幅。0以上の有限値または正の無限大を指定します。

double

0以上の論理ピクセル単位の高さ。

問い合わせは通常レイアウトの状態を変更しません。複数回の問い合わせは高コストになり得ます。

ArgumentOutOfRangeException

widthが負、NaN、または負の無限大です。

NotSupportedException

派生型がintrinsic測定を実装していません。

指定した高さで内容が自然に占める最大の幅を問い合わせます。

public double GetMaxIntrinsicWidth(double height)

height double

利用可能な高さ。0以上の有限値または正の無限大を指定します。

double

0以上の論理ピクセル単位の幅。

問い合わせは通常レイアウトの状態を変更しません。複数回の問い合わせは高コストになり得ます。

ArgumentOutOfRangeException

heightが負、NaN、または負の無限大です。

NotSupportedException

派生型がintrinsic測定を実装していません。

指定した幅で内容を欠落させずに表示できる最小の高さを問い合わせます。

public double GetMinIntrinsicHeight(double width)

width double

利用可能な幅。0以上の有限値または正の無限大を指定します。

double

0以上の論理ピクセル単位の高さ。

問い合わせは通常レイアウトの状態を変更しません。複数回の問い合わせは高コストになり得ます。

ArgumentOutOfRangeException

widthが負、NaN、または負の無限大です。

NotSupportedException

派生型がintrinsic測定を実装していません。

指定した高さで内容を欠落させずに表示できる最小の幅を問い合わせます。

public double GetMinIntrinsicWidth(double height)

height double

利用可能な高さ。0以上の有限値または正の無限大を指定します。

double

0以上の論理ピクセル単位の幅。

問い合わせは通常レイアウトのSize、Dirty状態、親データ、描画状態を変更しません。

ArgumentOutOfRangeException

heightが負、NaN、または負の無限大です。

NotSupportedException

派生型がintrinsic測定を実装していません。

このRenderBoxへ配信されたポインターイベントを処理します。

public override void HandleEvent(PointerEvent pointerEvent, HitTestEntry entry)

pointerEvent PointerEvent

配信されたポインターイベント。

entry HitTestEntry

このRenderBoxに対応するヒットテスト結果。

既定の実装はイベントを処理しません。

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

public virtual bool HitTest(HitTestResult result, Offset position)

result HitTestResult

ヒットした対象を奥から手前の順に追加する結果。

position Offset

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

bool

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

位置がSizeの範囲外の場合は子と自身を判定しません。 ヒットした場合は子の結果に続けて自身のエントリを追加します。

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

public virtual bool HitTestChildren(HitTestResult result, Offset position)

result HitTestResult

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

position Offset

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

bool

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

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

public virtual bool HitTestSelf(Offset position)

position Offset

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

bool

自身がヒット対象の場合はtrue、それ以外の場合はfalseです。