コンテンツにスキップ

RenderTransform クラス

レイアウト後の子へ2次元変換を適用するRenderObjectです。

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

public class RenderTransform : RenderProxyBox, IHitTestTarget, IHasSingleChildRenderObject

object ← RenderObject ← RenderBox ← RenderProxyBox ← RenderTransform

IHitTestTarget, IHasSingleChildRenderObject

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

ボックス内で変換原点を決める配置を取得または設定します。 nullの場合、左上を変換原点として使用します。

public Alignment? Alignment { get; set; }

Alignment?

変換原点へ加算するローカル座標のオフセットを取得または設定します。

public Offset Origin { get; set; }

Offset

子へ適用する2次元アフィン変換を取得または設定します。

public Matrix3x2 Transform { get; set; }

Matrix3x2

ヒットテスト座標へ変換行列の逆変換を適用するかを取得または設定します。

public bool TransformHitTests { get; set; }

bool

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

public override bool HitTest(HitTestResult result, Offset position)

result HitTestResult

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

position Offset

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

bool

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

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

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

public override bool HitTestChildren(HitTestResult result, Offset position)

result HitTestResult

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

position Offset

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

bool

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

TransformHitTestsがtrueの場合は、変換をresultへ積んでから子を判定します。 そのため、子へ届くTransformに拡大や回転が反映されます。

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

public override void Paint(PaintingContext context, Offset offset)

context PaintingContext

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

offset Offset

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

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