RenderObjectElement クラス
対応するRenderObjectを祖先のRenderObjectツリーへ接続するElementの基底クラスです。
名前空間: FloatSoda.Elements
アセンブリ: FloatSoda.dll
public abstract class RenderObjectElement : Element, IBuildContext, IComparable<Element>object ← Element ← RenderObjectElement
実装するインターフェイス
Section titled “実装するインターフェイス”IBuildContext, IComparable<Element>
継承したメンバー
Section titled “継承したメンバー”Element.Widget, Element.Parent, Element.Depth, Element.RenderObject, Element.InheritedWidgets, Element.Dependencies, Element.Owner, Element.DependOnInheritedWidgetOfExactType<T>(), Element.GetElementForInheritedWidgetOfExactType<T>(), Element.UpdateInheritance(), Element.InDirtyList, Element.Dirty, Element.VisitChildren(Action<Element>), Element.Mount(Element?), Element.Slot, Element.UpdateChild(Element?, Widget?), Element.UpdateChild(Element?, Widget?, object?), Element.UpdateSlotForChild(Element, object?), Element.UpdateSlot(object?), Element.Update(Widget), Element.InflateWidget(Widget, object?), Element.AttachRenderObject(), Element.DetachRenderObject(), Element.DeactivateChild(Element), Element.Deactivate(), Element.DidChangeDependencies(), Element.MarkNeedsBuild(), Element.Reassemble(), Element.Rebuild(), Element.PerformRebuild(), Element.CompareTo(Element?), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()
拡張メソッド
Section titled “拡張メソッド”ServiceScopeExtension.GetRequiredService<T>(IBuildContext), ServiceScopeExtension.GetService<T>(IBuildContext)
AttachRenderObject()
Section titled “AttachRenderObject()”最近傍の祖先RenderObjectElementへ、このElementのRenderObjectを子として接続します。
public override void AttachRenderObject()DetachRenderObject()
Section titled “DetachRenderObject()”接続先として記録された祖先RenderObjectElementから、このElementのRenderObjectを切り離します。
public override void DetachRenderObject()FindAncestorRenderObjectElement()
Section titled “FindAncestorRenderObjectElement()”Elementツリーを親方向へ探索し、最も近いRenderObjectElementを取得します。
public RenderObjectElement? FindAncestorRenderObjectElement()最も近い祖先のRenderObjectElement。該当する祖先が存在しない場合はnull。
InsertRenderObjectChild(RenderObject?)
Section titled “InsertRenderObjectChild(RenderObject?)”このElementのRenderObjectへ子RenderObjectを挿入します。
public virtual void InsertRenderObjectChild(RenderObject? child)パラメーター
Section titled “パラメーター”child RenderObject?
挿入する子RenderObject。子を持たないことを表す場合はnull。
InsertRenderObjectChild(RenderObject?, object?)
Section titled “InsertRenderObjectChild(RenderObject?, object?)”このElementのRenderObjectへ、slotが示す位置に子RenderObjectを挿入します。
public virtual void InsertRenderObjectChild(RenderObject? child, object? slot)パラメーター
Section titled “パラメーター”child RenderObject?
挿入する子RenderObject。子を持たないことを表す場合はnull。
slot object?
子のSlot。
基底実装はslotを使わず、InsertRenderObjectChildを呼び出します。
MoveRenderObjectChild(RenderObject, object?, object?)
Section titled “MoveRenderObjectChild(RenderObject, object?, object?)”このElementのRenderObjectの中で、子RenderObjectを新しいslotが示す位置へ移動します。
public virtual void MoveRenderObjectChild(RenderObject child, object? oldSlot, object? newSlot)パラメーター
Section titled “パラメーター”child RenderObject
移動する子RenderObject。
oldSlot object?
移動前のslot。
newSlot object?
移動後のslot。
基底実装は何もしません。子の順序を持つElementが上書きします。
RemoveRenderObjectChild(RenderObject?)
Section titled “RemoveRenderObjectChild(RenderObject?)”このElementのRenderObjectから子RenderObjectを取り除きます。
public virtual void RemoveRenderObjectChild(RenderObject? child)パラメーター
Section titled “パラメーター”child RenderObject?
取り除く子RenderObject。対象がない場合はnull。
UpdateChildren(List<Element>, List<Widget>, HashSet<Element>?)
Section titled “UpdateChildren(List<Element>, List<Widget>, HashSet<Element>?)”複数の子Elementを新しいWidget一覧へ更新し、型とキーが一致する子を再利用します。
protected List<Element> UpdateChildren(List<Element> oldChildren, List<Widget> newWidgets, HashSet<Element>? forgottenChildren = null)パラメーター
Section titled “パラメーター”更新前の子Element一覧。
更新後に子として構成するWidget一覧。
forgottenChildren HashSet<Element>?
再利用候補から除外する子Elementの集合。除外する子がない場合はnull。
新しいWidget一覧と同じ順序で構成された更新後の子Element一覧。
UpdateSlot(object?)
Section titled “UpdateSlot(object?)”slotを更新し、接続先の祖先へ、このElementのRenderObjectを新しい位置へ移動するよう伝えます。
protected override void UpdateSlot(object? newSlot)パラメーター
Section titled “パラメーター”newSlot object?
新しいslot。