コンテンツにスキップ

RenderClipRoundRect クラス

子の描画を角丸矩形領域で切り抜くRenderObjectです。

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

public class RenderClipRoundRect : RenderCustomClip<SKRoundRect>, IHitTestTarget, IHasSingleChildRenderObject

object ← RenderObject ← RenderBox ← RenderProxyBox ← RenderCustomClip<SKRoundRect> ← RenderClipRoundRect

IHitTestTarget, IHasSingleChildRenderObject

RenderCustomClip<SKRoundRect>.Clipper, RenderCustomClip<SKRoundRect>.ClipBehavior, RenderCustomClip<SKRoundRect>.Clip, RenderCustomClip<SKRoundRect>.DefaultClip, RenderCustomClip<SKRoundRect>.MarkNeedsClip(), RenderCustomClip<SKRoundRect>.PerformLayout(), RenderProxyBox.Child, RenderProxyBox.SetupParentData(RenderObject), RenderProxyBox.PerformLayout(), RenderProxyBox.ComputeMinIntrinsicWidth(double), RenderProxyBox.ComputeMaxIntrinsicWidth(double), RenderProxyBox.ComputeMinIntrinsicHeight(double), RenderProxyBox.ComputeMaxIntrinsicHeight(double), 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.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()

既定のクリップ領域に適用する角の半径を取得または設定します。

public BorderRadius BorderRadius { get; set; }

BorderRadius

値が変更された場合、このRenderObjectをPaint Dirtyとしてマークし、 次のパイプライン更新時に新しい角の半径でクリップ領域と子を再描画します。 値が変更されなかった場合、Dirty状態は変更されません。

Clipperが未設定のときに使用する既定のクリップ領域を取得します。

protected override SKRoundRect DefaultClip { get; }

SKRoundRect

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

public override bool HitTest(HitTestResult result, Offset position)

result HitTestResult

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

position Offset

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

bool

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

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

子を指定した位置へ描画します。

public override void Paint(PaintingContext context, Offset offset)

context PaintingContext

描画命令と合成レイヤーを記録するコンテキスト。

offset Offset

親の座標系における描画原点。

子が存在しない場合は何も記録しません。