RenderAnimatedOpacity クラス
アニメーションで駆動される不透明度を子に適用するRenderObject。 Changedを購読し、値が変わったフレームだけ再ペイントする (Widgetのリビルドは発生しない)。FlutterのRenderAnimatedOpacity相当。
名前空間: FloatSoda.RenderObjects.Animation
アセンブリ: FloatSoda.dll
public class RenderAnimatedOpacity : RenderProxyBox, IHitTestTarget, IHasSingleChildRenderObjectobject ← RenderObject ← RenderBox ← RenderProxyBox ← RenderAnimatedOpacity
実装するインターフェイス
Section titled “実装するインターフェイス”IHitTestTarget, IHasSingleChildRenderObject
継承したメンバー
Section titled “継承したメンバー”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()
Opacity
Section titled “Opacity”不透明度を駆動するアニメーションを取得または設定します。
public required IAnimation<double> Opacity { get; set; }プロパティの値
Section titled “プロパティの値”値は0.0から1.0の範囲で指定します。 アタッチ中に参照が変更された場合は以前のアニメーションの購読を解除し、 新しいアニメーションを購読して現在値を反映します。 反映後のアルファ値が変化した場合、このRenderObjectをPaint Dirtyとしてマークし、 次のパイプライン更新時に不透明度レイヤーと子を再描画します。 同じ参照が設定された場合、購読とDirty状態は変更されません。
Attach(RenderPipeline?)
Section titled “Attach(RenderPipeline?)”このRenderProxyBoxと子を指定した描画パイプラインへ接続します。
public override void Attach(RenderPipeline? owner)パラメーター
Section titled “パラメーター”owner RenderPipeline?
接続先のパイプライン。パイプラインを関連付けずに接続する場合はnullです。
自身に対するDirty状態の再登録後、同じ接続先を子へ伝播します。
Detach()
Section titled “Detach()”このRenderProxyBoxと子を描画パイプラインから切り離します。
public override void Detach()Paint(PaintingContext, Offset)
Section titled “Paint(PaintingContext, Offset)”子を指定した位置へ描画します。
public override void Paint(PaintingContext context, Offset offset)パラメーター
Section titled “パラメーター”context PaintingContext
描画命令と合成レイヤーを記録するコンテキスト。
offset Offset
親の座標系における描画原点。
子が存在しない場合は何も記録しません。