//------------------------------------------------------------------------------
//
// This code was generated by a tool.
//
// LottieGen version:
// 8.2.250604.1+b02a3ee244
//
// Command:
// LottieGen -Language CSharp -Public -WinUIVersion 3.0 -InputFile ThumbsDownAnimatedIcon.json
//
// Input file:
// ThumbsDownAnimatedIcon.json (4714 bytes created 16:34+02:00 Apr 20 2026)
//
// LottieGen source:
// http://aka.ms/Lottie
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
//------------------------------------------------------------------------------
// ____________________________________
// | Object stats | Count |
// |__________________________|_______|
// | All CompositionObjects | 58 |
// |--------------------------+-------|
// | Expression animators | 1 |
// | KeyFrame animators | 4 |
// | Reference parameters | 1 |
// | Expression operations | 0 |
// |--------------------------+-------|
// | Animated brushes | - |
// | Animated gradient stops | - |
// | ExpressionAnimations | 1 |
// | PathKeyFrameAnimations | - |
// |--------------------------+-------|
// | ContainerVisuals | 11 |
// | ShapeVisuals | 2 |
// |--------------------------+-------|
// | ContainerShapes | - |
// | CompositionSpriteShapes | 2 |
// |--------------------------+-------|
// | Brushes | 1 |
// | Gradient stops | - |
// | CompositionVisualSurface | - |
// ------------------------------------
using Microsoft.Graphics;
using Microsoft.Graphics.Canvas.Geometry;
using Microsoft.UI.Composition;
using Microsoft.UI.Xaml.Controls;
using System;
using System.Collections.Generic;
using System.Numerics;
using Windows.UI;
namespace ProtonVPN.Client.Common.UI.Assets.Animations
{
// Frame rate: 60 fps
// Frame count: 60
// Duration: 1000.0 mS
public class ThumbsDownAnimatedIcon
: IAnimatedVisualSource
, IAnimatedVisualSource2
{
// Animation duration: 1.000 seconds.
internal const long c_durationTicks = 10000000;
Color _foregroundColor = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF);
ThumbsDownAnimatedIcon_AnimatedVisual _animatedVisual;
public IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor)
{
object ignored = null;
return TryCreateAnimatedVisual(compositor, out ignored);
}
public IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor, out object diagnostics)
{
diagnostics = null;
var res =
new ThumbsDownAnimatedIcon_AnimatedVisual(
compositor,
_foregroundColor);
res.CreateAnimations();
_animatedVisual = res;
return res;
}
///
/// Gets the number of frames in the animation.
///
public double FrameCount => 60d;
///
/// Gets the frame rate of the animation.
///
public double Framerate => 60d;
///
/// Gets the duration of the animation.
///
public TimeSpan Duration => TimeSpan.FromTicks(10000000);
///
/// Converts a zero-based frame number to the corresponding progress value denoting the
/// start of the frame.
///
public double FrameToProgress(double frameNumber)
{
return frameNumber / 60d;
}
///
/// Returns a map from marker names to corresponding progress values.
///
public IReadOnlyDictionary Markers { get; } =
new Dictionary
{
// Play animation only when moving from PointerOver to Pressed
{ "PointerOverToPressed_Start", 0.00 },
{ "PointerOverToPressed_End", 1.00 },
// No animation for other state transitions
{ "PointerOverToNormal_Start", 0.00 },
{ "PointerOverToNormal_End", 0.00 },
{ "PressedToNormal_Start", 0.00 },
{ "PressedToNormal_End", 0.00 },
{ "PressedToPointerOver_Start", 0.00 },
{ "PressedToPointerOver_End", 0.00 },
{ "NormalToPressed_Start", 0.00 },
{ "NormalToPressed_End", 0.00 },
{ "NormalToPointerOver_Start", 0.00 },
{ "NormalToPointerOver_End", 0.00 },
};
///
/// Sets the color property with the given name, or does nothing if no such property
/// exists.
///
public void SetColorProperty(string propertyName, Color value)
{
if (propertyName == "Foreground")
{
_foregroundColor = value;
_animatedVisual?.UpdateForegroundColor(value);
}
}
///
/// Sets the scalar property with the given name, or does nothing if no such property
/// exists.
///
public void SetScalarProperty(string propertyName, double value)
{ }
sealed class ThumbsDownAnimatedIcon_AnimatedVisual
: IAnimatedVisual
, IAnimatedVisual2
{
const long c_durationTicks = 10000000;
readonly Compositor _c;
readonly ExpressionAnimation _reusableExpressionAnimation;
AnimationController _animationController_0;
CanvasGeometry _geometry_2;
CanvasGeometry _geometry_3;
CompositionColorBrush _foregroundColorBrush;
ContainerVisual _containerVisual_0;
ContainerVisual _containerVisual_2;
ContainerVisual _containerVisual_5;
ContainerVisual _containerVisual_7;
ContainerVisual _root;
CubicBezierEasingFunction _cubicBezierEasingFunction_0;
InsetClip _insetClip_0;
ScalarKeyFrameAnimation _rotationAngleInDegreesScalarAnimation_180_to_180;
StepEasingFunction _holdThenStepEasingFunction;
void BindProperty(
CompositionObject target,
string animatedPropertyName,
string expression,
string referenceParameterName,
CompositionObject referencedObject)
{
_reusableExpressionAnimation.ClearAllParameters();
_reusableExpressionAnimation.Expression = expression;
_reusableExpressionAnimation.SetReferenceParameter(referenceParameterName, referencedObject);
target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
}
ScalarKeyFrameAnimation CreateScalarKeyFrameAnimation(float initialProgress, float initialValue, CompositionEasingFunction initialEasingFunction)
{
var result = _c.CreateScalarKeyFrameAnimation();
result.Duration = TimeSpan.FromTicks(c_durationTicks);
result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
return result;
}
CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry, Matrix3x2 transformMatrix, CompositionBrush fillBrush)
{
var result = _c.CreateSpriteShape(geometry);
result.TransformMatrix = transformMatrix;
result.FillBrush = fillBrush;
return result;
}
AnimationController AnimationController_0()
{
if (_animationController_0 != null)
{ return _animationController_0; }
var result = _animationController_0 = _c.CreateAnimationController();
result.Pause();
BindProperty(_animationController_0, "Progress", "_.Progress", "_", _root);
return result;
}
// - - - - - - - - PreComp layer:
// - - - - - - - Transforms for Scale(1,1,0)
// - - - - - - Transforms for
// - - - - PreComp layer:
// - - - Layer aggregator
// - - Scale:1.3333,1.3333
// - ++.PathGeometry
CanvasGeometry Geometry_0()
{
var result = CanvasGeometry.CreateGroup(
null,
new CanvasGeometry[] { Geometry_1(), Geometry_2(), Geometry_3() },
CanvasFilledRegionDetermination.Alternate);
return result;
}
// - - - - - - - - - PreComp layer:
// - - - - - - - - Transforms for Scale(1,1,0)
// - - - - - - - Transforms for
// - - - - - PreComp layer:
// - - - - Layer aggregator
// - - - Scale:1.3333,1.3333
// - - ++.PathGeometry
CanvasGeometry Geometry_1()
{
CanvasGeometry result;
using (var builder = new CanvasPathBuilder(null))
{
builder.BeginFigure(new Vector2(6.94000006F, 1.5F));
builder.AddCubicBezier(new Vector2(6.78999996F, 1.5F), new Vector2(6.65999985F, 1.61000001F), new Vector2(6.63000011F, 1.75F));
builder.AddLine(new Vector2(6.38999987F, 2.95000005F));
builder.AddCubicBezier(new Vector2(6.36000013F, 3.07999992F), new Vector2(6.32000017F, 3.19000006F), new Vector2(6.25F, 3.29999995F));
builder.AddLine(new Vector2(5.19999981F, 5.07000017F));
builder.AddLine(new Vector2(5.15999985F, 5.13000011F));
builder.AddLine(new Vector2(5.0999999F, 5.17999983F));
builder.AddLine(new Vector2(3.75F, 6.19000006F));
builder.AddLine(new Vector2(3.75F, 8.40999985F));
builder.AddLine(new Vector2(6.01000023F, 9.69999981F));
builder.AddCubicBezier(new Vector2(6.07000017F, 9.73999977F), new Vector2(6.13000011F, 9.75F), new Vector2(6.19999981F, 9.75F));
builder.AddLine(new Vector2(8.85000038F, 9.75F));
builder.AddCubicBezier(new Vector2(9.01000023F, 9.75F), new Vector2(9.14999962F, 9.64999962F), new Vector2(9.19999981F, 9.5F));
builder.AddLine(new Vector2(10.54F, 5.75F));
builder.AddCubicBezier(new Vector2(10.6300001F, 5.51000023F), new Vector2(10.4499998F, 5.25F), new Vector2(10.1899996F, 5.25F));
builder.AddLine(new Vector2(8.25F, 5.25F));
builder.AddCubicBezier(new Vector2(8.06999969F, 5.25F), new Vector2(7.92000008F, 5.13000011F), new Vector2(7.88000011F, 4.94999981F));
builder.AddLine(new Vector2(7.23999977F, 1.75F));
builder.AddCubicBezier(new Vector2(7.21000004F, 1.61000001F), new Vector2(7.09000015F, 1.5F), new Vector2(6.94000006F, 1.5F));
builder.EndFigure(CanvasFigureLoop.Closed);
result = CanvasGeometry.CreatePath(builder);
}
return result;
}
CanvasGeometry Geometry_2()
{
CanvasGeometry result;
using (var builder = new CanvasPathBuilder(null))
{
builder.BeginFigure(new Vector2(1.5F, 9.75F));
builder.AddLine(new Vector2(2.63000011F, 9.75F));
builder.AddCubicBezier(new Vector2(2.83999991F, 9.75F), new Vector2(3F, 9.59000015F), new Vector2(3F, 9.38000011F));
builder.AddLine(new Vector2(3F, 4.88000011F));
builder.AddCubicBezier(new Vector2(3F, 4.67000008F), new Vector2(2.83999991F, 4.5F), new Vector2(2.63000011F, 4.5F));
builder.AddLine(new Vector2(1.5F, 4.5F));
builder.AddLine(new Vector2(1.5F, 9.75F));
builder.EndFigure(CanvasFigureLoop.Closed);
result = _geometry_2 = CanvasGeometry.CreatePath(builder);
}
return result;
}
CanvasGeometry Geometry_3()
{
CanvasGeometry result;
using (var builder = new CanvasPathBuilder(null))
{
builder.BeginFigure(new Vector2(6.94000006F, 0.75F));
builder.AddCubicBezier(new Vector2(7.44000006F, 0.75F), new Vector2(7.88000011F, 1.10000002F), new Vector2(7.98000002F, 1.60000002F));
builder.AddLine(new Vector2(8.56000042F, 4.5F));
builder.AddLine(new Vector2(10.1899996F, 4.5F));
builder.AddCubicBezier(new Vector2(10.9700003F, 4.5F), new Vector2(11.5100002F, 5.26999998F), new Vector2(11.25F, 6F));
builder.AddLine(new Vector2(9.90999985F, 9.75F));
builder.AddCubicBezier(new Vector2(9.75F, 10.1999998F), new Vector2(9.31999969F, 10.5F), new Vector2(8.85000038F, 10.5F));
builder.AddLine(new Vector2(6.19999981F, 10.5F));
builder.AddCubicBezier(new Vector2(6F, 10.5F), new Vector2(5.80999994F, 10.4499998F), new Vector2(5.63999987F, 10.3500004F));
builder.AddLine(new Vector2(3.75F, 9.27000046F));
builder.AddLine(new Vector2(3.75F, 9.38000011F));
builder.AddCubicBezier(new Vector2(3.75F, 10F), new Vector2(3.25F, 10.5F), new Vector2(2.63000011F, 10.5F));
builder.AddLine(new Vector2(0.75F, 10.5F));
builder.AddLine(new Vector2(0.75F, 3.75F));
builder.AddLine(new Vector2(2.63000011F, 3.75F));
builder.AddCubicBezier(new Vector2(3.25F, 3.75F), new Vector2(3.75F, 4.26000023F), new Vector2(3.75F, 4.88000011F));
builder.AddLine(new Vector2(3.75F, 5.25F));
builder.AddLine(new Vector2(4.59000015F, 4.61999989F));
builder.AddLine(new Vector2(5.61000013F, 2.92000008F));
builder.AddCubicBezier(new Vector2(5.63000011F, 2.88000011F), new Vector2(5.6500001F, 2.83999991F), new Vector2(5.65999985F, 2.79999995F));
builder.AddLine(new Vector2(5.9000001F, 1.60000002F));
builder.AddCubicBezier(new Vector2(6F, 1.10000002F), new Vector2(6.44000006F, 0.75F), new Vector2(6.94000006F, 0.75F));
builder.EndFigure(CanvasFigureLoop.Closed);
result = _geometry_3 = CanvasGeometry.CreatePath(builder);
}
return result;
}
// - - - - - - - - PreComp layer:
// - - - - - - - Transforms for Scale(1,1,0)
// - - - - - - Transforms for
// - - - - PreComp layer:
// - - - Layer aggregator
// - - Scale:1.3333,1.3333
// - +.PathGeometry
CanvasGeometry Geometry_4()
{
var result = CanvasGeometry.CreateGroup(
null,
new CanvasGeometry[] { Geometry_2(), Geometry_3() },
CanvasFilledRegionDetermination.Alternate);
return result;
}
CompositionColorBrush ForegroundColorBrush()
{
return (_foregroundColorBrush == null)
? _foregroundColorBrush = _c.CreateColorBrush(_foregroundColor)
: _foregroundColorBrush;
}
// - - - - - - PreComp layer:
// - - - - - Transforms for Scale(1,1,0)
// - - - - Transforms for
// - - PreComp layer:
// - Layer aggregator
// Scale:1.3333,1.3333
// ++.PathGeometry
CompositionPathGeometry PathGeometry_0()
{
return _c.CreatePathGeometry(new CompositionPath(Geometry_0()));
}
// - - - - - - PreComp layer:
// - - - - - Transforms for Scale(1,1,0)
// - - - - Transforms for
// - - PreComp layer:
// - Layer aggregator
// Scale:1.3333,1.3333
// +.PathGeometry
CompositionPathGeometry PathGeometry_1()
{
return _c.CreatePathGeometry(new CompositionPath(Geometry_4()));
}
// - - - - - PreComp layer:
// - - - - Transforms for Scale(1,1,0)
// - - - Transforms for
// - PreComp layer:
// Layer aggregator
// ++
CompositionSpriteShape SpriteShape_0()
{
// Scale:<1.3333, 1.3333>
var geometry = PathGeometry_0();
var result = CreateSpriteShape(geometry, new Matrix3x2(1.33329999F, 0F, 0F, 1.33329999F, 0F, 0F), ForegroundColorBrush());
;
return result;
}
// - - - - - PreComp layer:
// - - - - Transforms for Scale(1,1,0)
// - - - Transforms for
// - PreComp layer:
// Layer aggregator
// +
CompositionSpriteShape SpriteShape_1()
{
// Scale:<1.3333, 1.3333>
var geometry = PathGeometry_1();
var result = CreateSpriteShape(geometry, new Matrix3x2(1.33329999F, 0F, 0F, 1.33329999F, 0F, 0F), ForegroundColorBrush());
;
return result;
}
// Opacity for layer:
ContainerVisual ContainerVisual_0()
{
if (_containerVisual_0 != null)
{ return _containerVisual_0; }
var result = _containerVisual_0 = _c.CreateContainerVisual();
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Transforms for Scale(1,1,0)
result.Children.InsertAtTop(ContainerVisual_1());
return result;
}
// PreComp layer:
// Transforms for Scale(1,1,0)
ContainerVisual ContainerVisual_1()
{
var result = _c.CreateContainerVisual();
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Transforms for
result.Children.InsertAtTop(ContainerVisual_2());
return result;
}
// - PreComp layer:
// Transforms for Scale(1,1,0)
// Transforms for
ContainerVisual ContainerVisual_2()
{
if (_containerVisual_2 != null)
{ return _containerVisual_2; }
var result = _containerVisual_2 = _c.CreateContainerVisual();
result.CenterPoint = new Vector3(8F, 8F, 0F);
result.Offset = new Vector3(6F, 6F, 0F);
result.Scale = new Vector3(1F, 1F, 0F);
result.Children.InsertAtTop(ContainerVisual_3());
return result;
}
// - - PreComp layer:
// - Transforms for Scale(1,1,0)
// Transforms for
ContainerVisual ContainerVisual_3()
{
var result = _c.CreateContainerVisual();
result.Clip = InsetClip_0();
result.Size = new Vector2(16F, 16F);
// PreComp layer:
result.Children.InsertAtTop(ContainerVisual_4());
return result;
}
// - - - PreComp layer:
// - - Transforms for Scale(1,1,0)
// - Transforms for
// Transforms for Scale(1,1,0)
ContainerVisual ContainerVisual_4()
{
var result = _c.CreateContainerVisual();
result.Clip = InsetClip_0();
result.Size = new Vector2(16F, 16F);
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Layer aggregator
result.Children.InsertAtTop(ShapeVisual_0());
return result;
}
// Opacity for layer:
ContainerVisual ContainerVisual_5()
{
if (_containerVisual_5 != null)
{ return _containerVisual_5; }
var result = _containerVisual_5 = _c.CreateContainerVisual();
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Transforms for Scale(1,1,0)
result.Children.InsertAtTop(ContainerVisual_6());
return result;
}
// PreComp layer:
// Transforms for Scale(1,1,0)
ContainerVisual ContainerVisual_6()
{
var result = _c.CreateContainerVisual();
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Transforms for
result.Children.InsertAtTop(ContainerVisual_7());
return result;
}
// - PreComp layer:
// Transforms for Scale(1,1,0)
// Transforms for
ContainerVisual ContainerVisual_7()
{
if (_containerVisual_7 != null)
{ return _containerVisual_7; }
var result = _containerVisual_7 = _c.CreateContainerVisual();
result.CenterPoint = new Vector3(8F, 8F, 0F);
result.Offset = new Vector3(6F, 6F, 0F);
result.Scale = new Vector3(1F, 1F, 0F);
result.Children.InsertAtTop(ContainerVisual_8());
return result;
}
// - - PreComp layer:
// - Transforms for Scale(1,1,0)
// Transforms for
ContainerVisual ContainerVisual_8()
{
var result = _c.CreateContainerVisual();
result.Clip = InsetClip_0();
result.Size = new Vector2(16F, 16F);
// PreComp layer:
result.Children.InsertAtTop(ContainerVisual_9());
return result;
}
// - - - PreComp layer:
// - - Transforms for Scale(1,1,0)
// - Transforms for
// Transforms for Scale(1,1,0)
ContainerVisual ContainerVisual_9()
{
var result = _c.CreateContainerVisual();
result.Clip = InsetClip_0();
result.Size = new Vector2(16F, 16F);
// Scale:<1, 1>
result.TransformMatrix = new Matrix4x4(1F, 0F, 0F, 0F, 0F, 1F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 0F, 1F);
// Layer aggregator
result.Children.InsertAtTop(ShapeVisual_1());
return result;
}
// The root of the composition.
ContainerVisual Root()
{
if (_root != null)
{ return _root; }
var result = _root = _c.CreateContainerVisual();
var propertySet = result.Properties;
propertySet.InsertScalar("Progress", 0F);
var children = result.Children;
// PreComp layer:
children.InsertAtTop(ContainerVisual_0());
// PreComp layer:
children.InsertAtTop(ContainerVisual_5());
return result;
}
CubicBezierEasingFunction CubicBezierEasingFunction_0()
{
return (_cubicBezierEasingFunction_0 == null)
? _cubicBezierEasingFunction_0 = _c.CreateCubicBezierEasingFunction(new Vector2(0F, 0F), new Vector2(1F, 1F))
: _cubicBezierEasingFunction_0;
}
InsetClip InsetClip_0()
{
if (_insetClip_0 != null)
{ return _insetClip_0; }
var result = _insetClip_0 = _c.CreateInsetClip();
return result;
}
// PreComp layer:
// Layer opacity animation
ScalarKeyFrameAnimation OpacityScalarAnimation_0_to_1()
{
// Frame 0.
var result = CreateScalarKeyFrameAnimation(0F, 0F, HoldThenStepEasingFunction());
// Frame 19.2.
result.InsertKeyFrame(0.319999993F, 0F, HoldThenStepEasingFunction());
// Frame 25.2.
result.InsertKeyFrame(0.419999987F, 1F, CubicBezierEasingFunction_0());
return result;
}
// PreComp layer:
// Layer opacity animation
ScalarKeyFrameAnimation OpacityScalarAnimation_1_to_0()
{
// Frame 0.
var result = CreateScalarKeyFrameAnimation(0F, 1F, HoldThenStepEasingFunction());
// Frame 19.2.
result.InsertKeyFrame(0.319999993F, 1F, HoldThenStepEasingFunction());
// Frame 25.2.
result.InsertKeyFrame(0.419999987F, 0F, CubicBezierEasingFunction_0());
return result;
}
// Rotation
ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_180_to_180()
{
// Frame 0.
if (_rotationAngleInDegreesScalarAnimation_180_to_180 != null)
{ return _rotationAngleInDegreesScalarAnimation_180_to_180; }
var result = _rotationAngleInDegreesScalarAnimation_180_to_180 = CreateScalarKeyFrameAnimation(0F, 180F, HoldThenStepEasingFunction());
// Frame 12.
result.InsertKeyFrame(0.200000003F, 205F, _c.CreateCubicBezierEasingFunction(new Vector2(0F, 0F), new Vector2(0F, 1F)));
// Frame 18.
result.InsertKeyFrame(0.300000012F, 205F, HoldThenStepEasingFunction());
// Frame 25.5.
result.InsertKeyFrame(0.425000012F, 175F, _c.CreateCubicBezierEasingFunction(new Vector2(0F, 0F), new Vector2(0.200000003F, 1F)));
// Frame 48.
result.InsertKeyFrame(0.800000012F, 180F, _c.CreateCubicBezierEasingFunction(new Vector2(0.200000003F, 0F), new Vector2(0.25F, 1F)));
return result;
}
// - - - - PreComp layer:
// - - - Transforms for Scale(1,1,0)
// - - Transforms for
// PreComp layer:
// Layer aggregator
ShapeVisual ShapeVisual_0()
{
var result = _c.CreateShapeVisual();
result.Size = new Vector2(16F, 16F);
// Scale:1.3333,1.3333
result.Shapes.Add(SpriteShape_0());
return result;
}
// - - - - PreComp layer:
// - - - Transforms for Scale(1,1,0)
// - - Transforms for
// PreComp layer:
// Layer aggregator
ShapeVisual ShapeVisual_1()
{
var result = _c.CreateShapeVisual();
result.Size = new Vector2(16F, 16F);
// Scale:1.3333,1.3333
result.Shapes.Add(SpriteShape_1());
return result;
}
StepEasingFunction HoldThenStepEasingFunction()
{
if (_holdThenStepEasingFunction != null)
{ return _holdThenStepEasingFunction; }
var result = _holdThenStepEasingFunction = _c.CreateStepEasingFunction();
result.IsFinalStepSingleFrame = true;
return result;
}
Color _foregroundColor;
internal ThumbsDownAnimatedIcon_AnimatedVisual(
Compositor compositor,
Color foregroundColor
)
{
_c = compositor;
_reusableExpressionAnimation = compositor.CreateExpressionAnimation();
_foregroundColor = foregroundColor;
Root();
}
internal void UpdateForegroundColor(Color color)
{
_foregroundColor = color;
if (_foregroundColorBrush != null)
{
_foregroundColorBrush.Color = color;
}
}
public Visual RootVisual => _root;
public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
public Vector2 Size => new Vector2(28F, 28F);
void IDisposable.Dispose() => _root?.Dispose();
public void CreateAnimations()
{
_containerVisual_0.StartAnimation("Opacity", OpacityScalarAnimation_1_to_0(), AnimationController_0());
_containerVisual_2.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_180_to_180(), AnimationController_0());
_containerVisual_5.StartAnimation("Opacity", OpacityScalarAnimation_0_to_1(), AnimationController_0());
_containerVisual_7.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_180_to_180(), AnimationController_0());
}
public void DestroyAnimations()
{
_containerVisual_0.StopAnimation("Opacity");
_containerVisual_2.StopAnimation("RotationAngleInDegrees");
_containerVisual_5.StopAnimation("Opacity");
_containerVisual_7.StopAnimation("RotationAngleInDegrees");
}
}
}
}