RenderView クラス
RenderObjectツリーのルートとして、表示領域のサイズ、初期レイアウト、初期描画を管理します。
名前空間: FloatSoda.RenderObjects
アセンブリ: FloatSoda.dll
public class RenderView : RenderObject, IHitTestTarget, IHasSingleChildRenderObjectobject ← RenderObject ← RenderView
実装するインターフェイス
Section titled “実装するインターフェイス”IHitTestTarget, IHasSingleChildRenderObject
継承したメンバー
Section titled “継承したメンバー”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 “コンストラクター”RenderView(float, float)
Section titled “RenderView(float, float)”指定した初期サイズでRenderObjectツリーのルートを初期化します。
public RenderView(float width = 1000, float height = 1000)パラメーター
Section titled “パラメーター”width float
初期の表示幅。
height float
初期の表示高さ。
表示領域へ配置するルートの子を取得または設定します。
public RenderBox? Child { get; set; }プロパティの値
Section titled “プロパティの値”子を差し替えると、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に表示領域と子のサイズを再計算します。 同じ子を再設定した場合も、子の取り外しと追加が行われるためLayout Dirtyとなります。
FixedSize
Section titled “FixedSize”ウィンドウの固定サイズ。null の場合は子のレイアウト結果サイズに追従します。
public SKSize? FixedSize { get; set; }プロパティの値
Section titled “プロパティの値”値が変更された場合、このRenderObjectをLayout Dirtyとしてマークし、 次のパイプライン更新時に表示領域と子のサイズを再計算します。 値が変更されなかった場合、Dirty状態は変更されません。
IsRepaintBoundary
Section titled “IsRepaintBoundary”このRenderObjectが再描画境界かどうかを取得します。
public override bool IsRepaintBoundary { get; }プロパティの値
Section titled “プロパティの値”レイアウトで決定されたサイズを取得します。
public override SKSize Size { get; protected set; }プロパティの値
Section titled “プロパティの値”Attach(RenderPipeline?)
Section titled “Attach(RenderPipeline?)”このRenderObjectを指定した描画パイプラインへ接続します。
public override void Attach(RenderPipeline? owner)パラメーター
Section titled “パラメーター”owner RenderPipeline?
接続先のパイプライン。パイプラインを関連付けずに接続する場合はnullです。
接続前からレイアウトDirtyで再レイアウト境界が設定済みの場合は、境界へレイアウト要求を登録し直します。 描画Dirtyで既存レイヤーがある場合は、再描画境界へ描画要求を登録し直します。 派生型は保持する子にも接続を伝播します。
Detach()
Section titled “Detach()”このRenderObjectを描画パイプラインから切り離します。
public override void Detach()接続先を解除します。子を保持する派生型は子にも切り離しを伝播します。
HandleEvent(PointerEvent, HitTestEntry)
Section titled “HandleEvent(PointerEvent, HitTestEntry)”ヒットテストで選択されたこのRenderObjectへポインターイベントを配信します。
public override void HandleEvent(PointerEvent pointerEvent, HitTestEntry entry)パラメーター
Section titled “パラメーター”pointerEvent PointerEvent
配信するポインターイベント。
entry HitTestEntry
ヒットテスト時に生成された、このRenderObjectに対応する結果。
HitTest(HitTestResult, Offset)
Section titled “HitTest(HitTestResult, Offset)”指定位置に対して子からルートまでのヒットテスト結果を構築します。
public bool HitTest(HitTestResult result, Offset position)パラメーター
Section titled “パラメーター”result HitTestResult
ヒットした対象を追加する結果。
position Offset
表示領域のローカル座標。
ルートは常にヒット対象となるため、常にtrue。
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()”FixedSize があれば Tight 制約でレイアウトし、なければ Loosen(無限上限)制約を 渡して子ウィジェットのレイアウト結果サイズを Size(=オーバーレイサイズ)に採用します。
public override void PerformLayout()PrepareInitialFrame()
Section titled “PrepareInitialFrame()”最初のフレームに必要なレイアウトと描画をパイプラインへ登録します。
public void PrepareInitialFrame()このRenderObjectをLayout DirtyおよびPaint Dirtyの処理対象として登録し、 自身をレイアウト境界、生成したルートレイヤーを再描画境界として設定します。
RedepthChildren()
Section titled “RedepthChildren()”直下の子を起点として子孫の深さを更新します。
public override void RedepthChildren()子を保持する派生型がオーバーライドします。
VisitChildren(Action<RenderObject>)
Section titled “VisitChildren(Action<RenderObject>)”直下の各子に処理を適用します。
public override void VisitChildren(Action<RenderObject> visitor)パラメーター
Section titled “パラメーター”visitor Action<RenderObject>
各子に一度ずつ適用する処理。
子を保持する派生型がオーバーライドします。