Fix build error.
This commit is contained in:
@@ -1,556 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// LottieGen version:
|
||||
// 8.2.250604.1+b02a3ee244
|
||||
//
|
||||
// Command:
|
||||
// LottieGen -Language CSharp -Public -WinUIVersion 2.4 -InputFile sync.json
|
||||
//
|
||||
// Input file:
|
||||
// sync.json (2404 bytes created 20:18+02:00 Apr 4 2026)
|
||||
//
|
||||
// LottieGen source:
|
||||
// http://aka.ms/Lottie
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
// ___________________________________________________________
|
||||
// | Object stats | UAP v15 count | UAP v7 count |
|
||||
// |__________________________|_______________|______________|
|
||||
// | All CompositionObjects | 26 | 26 |
|
||||
// |--------------------------+---------------+--------------|
|
||||
// | Expression animators | 1 | 1 |
|
||||
// | KeyFrame animators | 1 | 1 |
|
||||
// | Reference parameters | 1 | 1 |
|
||||
// | Expression operations | 0 | 0 |
|
||||
// |--------------------------+---------------+--------------|
|
||||
// | Animated brushes | - | - |
|
||||
// | Animated gradient stops | - | - |
|
||||
// | ExpressionAnimations | 1 | 1 |
|
||||
// | PathKeyFrameAnimations | - | - |
|
||||
// |--------------------------+---------------+--------------|
|
||||
// | ContainerVisuals | 1 | 1 |
|
||||
// | ShapeVisuals | 1 | 1 |
|
||||
// |--------------------------+---------------+--------------|
|
||||
// | ContainerShapes | 1 | 1 |
|
||||
// | CompositionSpriteShapes | 2 | 2 |
|
||||
// |--------------------------+---------------+--------------|
|
||||
// | Brushes | 1 | 1 |
|
||||
// | Gradient stops | - | - |
|
||||
// | CompositionVisualSurface | - | - |
|
||||
// -----------------------------------------------------------
|
||||
using Microsoft.Graphics.Canvas.Geometry;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using Windows.Graphics;
|
||||
using Windows.UI;
|
||||
using Windows.UI.Composition;
|
||||
|
||||
namespace AnimatedVisuals
|
||||
{
|
||||
// Name: main_libary_shelf_icon_sync
|
||||
// Frame rate: 60 fps
|
||||
// Frame count: 61
|
||||
// Duration: 1016.7 mS
|
||||
sealed class Sync
|
||||
: Microsoft.UI.Xaml.Controls.IAnimatedVisualSource
|
||||
{
|
||||
// Animation duration: 1.017 seconds.
|
||||
internal const long c_durationTicks = 10166666;
|
||||
|
||||
public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor)
|
||||
{
|
||||
object ignored = null;
|
||||
return TryCreateAnimatedVisual(compositor, out ignored);
|
||||
}
|
||||
|
||||
public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor, out object diagnostics)
|
||||
{
|
||||
diagnostics = null;
|
||||
|
||||
if (Sync_AnimatedVisual_UAPv15.IsRuntimeCompatible())
|
||||
{
|
||||
var res =
|
||||
new Sync_AnimatedVisual_UAPv15(
|
||||
compositor
|
||||
);
|
||||
return res;
|
||||
}
|
||||
|
||||
if (Sync_AnimatedVisual_UAPv7.IsRuntimeCompatible())
|
||||
{
|
||||
var res =
|
||||
new Sync_AnimatedVisual_UAPv7(
|
||||
compositor
|
||||
);
|
||||
return res;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of frames in the animation.
|
||||
/// </summary>
|
||||
public double FrameCount => 61d;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the frame rate of the animation.
|
||||
/// </summary>
|
||||
public double Framerate => 60d;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the duration of the animation.
|
||||
/// </summary>
|
||||
public TimeSpan Duration => TimeSpan.FromTicks(10166666);
|
||||
|
||||
/// <summary>
|
||||
/// Converts a zero-based frame number to the corresponding progress value denoting the
|
||||
/// start of the frame.
|
||||
/// </summary>
|
||||
public double FrameToProgress(double frameNumber)
|
||||
{
|
||||
return frameNumber / 61d;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a map from marker names to corresponding progress values.
|
||||
/// </summary>
|
||||
public IReadOnlyDictionary<string, double> Markers =>
|
||||
new Dictionary<string, double>
|
||||
{
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Sets the color property with the given name, or does nothing if no such property
|
||||
/// exists.
|
||||
/// </summary>
|
||||
public void SetColorProperty(string propertyName, Color value)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the scalar property with the given name, or does nothing if no such property
|
||||
/// exists.
|
||||
/// </summary>
|
||||
public void SetScalarProperty(string propertyName, double value)
|
||||
{
|
||||
}
|
||||
|
||||
sealed class Sync_AnimatedVisual_UAPv15
|
||||
: Microsoft.UI.Xaml.Controls.IAnimatedVisual
|
||||
{
|
||||
const long c_durationTicks = 10166666;
|
||||
readonly Compositor _c;
|
||||
readonly ExpressionAnimation _reusableExpressionAnimation;
|
||||
AnimationController _animationController_0;
|
||||
CompositionColorBrush _colorBrush_AlmostDarkSlateGray_FF2D3846;
|
||||
ContainerVisual _root;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
AnimationController AnimationController_0()
|
||||
{
|
||||
var result = _animationController_0 = _c.CreateAnimationController();
|
||||
result.Pause();
|
||||
BindProperty(result, "Progress", "_.Progress", "_", _root);
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// - - ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
CanvasGeometry Geometry_0()
|
||||
{
|
||||
CanvasGeometry result;
|
||||
using (var builder = new CanvasPathBuilder(null))
|
||||
{
|
||||
builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
|
||||
builder.BeginFigure(new Vector2(11.7449999F, 5.09700012F));
|
||||
builder.AddCubicBezier(new Vector2(11.7449999F, -3.66000009F), new Vector2(4.56699991F, -10.9189997F), new Vector2(-4.25500011F, -10.9189997F));
|
||||
builder.AddCubicBezier(new Vector2(-8.6239996F, -10.9189997F), new Vector2(-12.7040005F, -9.20300007F), new Vector2(-15.7449999F, -6.08900023F));
|
||||
builder.AddLine(new Vector2(-12.8739996F, -3.32599998F));
|
||||
builder.AddCubicBezier(new Vector2(-10.5930004F, -5.66200018F), new Vector2(-7.53200006F, -6.94799995F), new Vector2(-4.25500011F, -6.94799995F));
|
||||
builder.AddCubicBezier(new Vector2(2.36199999F, -6.94799995F), new Vector2(7.74499989F, -1.47099996F), new Vector2(7.74499989F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(3.74499989F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(9.74499989F, 10.9189997F));
|
||||
builder.AddLine(new Vector2(15.7449999F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(11.7449999F, 5.09700012F));
|
||||
builder.EndFigure(CanvasFigureLoop.Closed);
|
||||
result = CanvasGeometry.CreatePath(builder);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// - - ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
CanvasGeometry Geometry_1()
|
||||
{
|
||||
CanvasGeometry result;
|
||||
using (var builder = new CanvasPathBuilder(null))
|
||||
{
|
||||
builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
|
||||
builder.BeginFigure(new Vector2(4.25500011F, 6.94799995F));
|
||||
builder.AddCubicBezier(new Vector2(-2.36199999F, 6.94799995F), new Vector2(-7.74499989F, 1.472F), new Vector2(-7.74499989F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-3.74499989F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-9.74499989F, -10.9189997F));
|
||||
builder.AddLine(new Vector2(-15.7449999F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-11.7449999F, -5.09499979F));
|
||||
builder.AddCubicBezier(new Vector2(-11.7449999F, 3.66199994F), new Vector2(-4.56699991F, 10.9189997F), new Vector2(4.25500011F, 10.9189997F));
|
||||
builder.AddCubicBezier(new Vector2(8.6260004F, 10.9189997F), new Vector2(12.7060003F, 9.20300007F), new Vector2(15.7449999F, 6.08900023F));
|
||||
builder.AddLine(new Vector2(12.8739996F, 3.32500005F));
|
||||
builder.AddCubicBezier(new Vector2(10.5930004F, 5.66099977F), new Vector2(7.53200006F, 6.94799995F), new Vector2(4.25500011F, 6.94799995F));
|
||||
builder.EndFigure(CanvasFigureLoop.Closed);
|
||||
result = CanvasGeometry.CreatePath(builder);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
CompositionColorBrush ColorBrush_AlmostDarkSlateGray_FF2D3846()
|
||||
{
|
||||
return _colorBrush_AlmostDarkSlateGray_FF2D3846 = _c.CreateColorBrush(Color.FromArgb(0xFF, 0x2D, 0x38, 0x46));
|
||||
}
|
||||
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
CompositionContainerShape ContainerShape()
|
||||
{
|
||||
var result = _c.CreateContainerShape();
|
||||
result.CenterPoint = new Vector2(24F, 24F);
|
||||
var shapes = result.Shapes;
|
||||
// ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
shapes.Add(SpriteShape_0());
|
||||
// ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
shapes.Add(SpriteShape_1());
|
||||
result.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_0_to_360(), AnimationController_0());
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
CompositionPathGeometry PathGeometry_0()
|
||||
{
|
||||
return _c.CreatePathGeometry(new CompositionPath(Geometry_0()));
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
CompositionPathGeometry PathGeometry_1()
|
||||
{
|
||||
return _c.CreatePathGeometry(new CompositionPath(Geometry_1()));
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Path 1
|
||||
CompositionSpriteShape SpriteShape_0()
|
||||
{
|
||||
// Offset:<28.255, 18.903>
|
||||
var geometry = PathGeometry_0();
|
||||
var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 28.2549992F, 18.9029999F), ColorBrush_AlmostDarkSlateGray_FF2D3846());;
|
||||
return result;
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Path 1
|
||||
CompositionSpriteShape SpriteShape_1()
|
||||
{
|
||||
// Offset:<19.745, 29.096>
|
||||
var geometry = PathGeometry_1();
|
||||
var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 19.7450008F, 29.0960007F), _colorBrush_AlmostDarkSlateGray_FF2D3846);;
|
||||
return result;
|
||||
}
|
||||
|
||||
// The root of the composition.
|
||||
ContainerVisual Root()
|
||||
{
|
||||
var result = _root = _c.CreateContainerVisual();
|
||||
var propertySet = result.Properties;
|
||||
propertySet.InsertScalar("Progress", 0F);
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
result.Children.InsertAtTop(ShapeVisual_0());
|
||||
return result;
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Rotation
|
||||
ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_0_to_360()
|
||||
{
|
||||
// Frame 0.
|
||||
var result = CreateScalarKeyFrameAnimation(0F, 0F, HoldThenStepEasingFunction());
|
||||
// Frame 61.
|
||||
result.InsertKeyFrame(1F, 360F, _c.CreateCubicBezierEasingFunction(new Vector2(0.314999998F, 0F), new Vector2(0.465000004F, 0.861999989F)));
|
||||
return result;
|
||||
}
|
||||
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
ShapeVisual ShapeVisual_0()
|
||||
{
|
||||
var result = _c.CreateShapeVisual();
|
||||
result.Size = new Vector2(48F, 48F);
|
||||
result.Shapes.Add(ContainerShape());
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// RotationAngleInDegrees
|
||||
StepEasingFunction HoldThenStepEasingFunction()
|
||||
{
|
||||
var result = _c.CreateStepEasingFunction();
|
||||
result.IsFinalStepSingleFrame = true;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal Sync_AnimatedVisual_UAPv15(
|
||||
Compositor compositor
|
||||
)
|
||||
{
|
||||
_c = compositor;
|
||||
_reusableExpressionAnimation = compositor.CreateExpressionAnimation();
|
||||
Root();
|
||||
}
|
||||
|
||||
public Visual RootVisual => _root;
|
||||
public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
|
||||
public Vector2 Size => new Vector2(48F, 48F);
|
||||
void IDisposable.Dispose() => _root?.Dispose();
|
||||
|
||||
internal static bool IsRuntimeCompatible()
|
||||
{
|
||||
return Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 15);
|
||||
}
|
||||
}
|
||||
|
||||
sealed class Sync_AnimatedVisual_UAPv7
|
||||
: Microsoft.UI.Xaml.Controls.IAnimatedVisual
|
||||
{
|
||||
const long c_durationTicks = 10166666;
|
||||
readonly Compositor _c;
|
||||
readonly ExpressionAnimation _reusableExpressionAnimation;
|
||||
CompositionColorBrush _colorBrush_AlmostDarkSlateGray_FF2D3846;
|
||||
ContainerVisual _root;
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
// - - - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// - - ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
CanvasGeometry Geometry_0()
|
||||
{
|
||||
CanvasGeometry result;
|
||||
using (var builder = new CanvasPathBuilder(null))
|
||||
{
|
||||
builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
|
||||
builder.BeginFigure(new Vector2(11.7449999F, 5.09700012F));
|
||||
builder.AddCubicBezier(new Vector2(11.7449999F, -3.66000009F), new Vector2(4.56699991F, -10.9189997F), new Vector2(-4.25500011F, -10.9189997F));
|
||||
builder.AddCubicBezier(new Vector2(-8.6239996F, -10.9189997F), new Vector2(-12.7040005F, -9.20300007F), new Vector2(-15.7449999F, -6.08900023F));
|
||||
builder.AddLine(new Vector2(-12.8739996F, -3.32599998F));
|
||||
builder.AddCubicBezier(new Vector2(-10.5930004F, -5.66200018F), new Vector2(-7.53200006F, -6.94799995F), new Vector2(-4.25500011F, -6.94799995F));
|
||||
builder.AddCubicBezier(new Vector2(2.36199999F, -6.94799995F), new Vector2(7.74499989F, -1.47099996F), new Vector2(7.74499989F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(3.74499989F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(9.74499989F, 10.9189997F));
|
||||
builder.AddLine(new Vector2(15.7449999F, 5.09700012F));
|
||||
builder.AddLine(new Vector2(11.7449999F, 5.09700012F));
|
||||
builder.EndFigure(CanvasFigureLoop.Closed);
|
||||
result = CanvasGeometry.CreatePath(builder);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// - - ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
CanvasGeometry Geometry_1()
|
||||
{
|
||||
CanvasGeometry result;
|
||||
using (var builder = new CanvasPathBuilder(null))
|
||||
{
|
||||
builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
|
||||
builder.BeginFigure(new Vector2(4.25500011F, 6.94799995F));
|
||||
builder.AddCubicBezier(new Vector2(-2.36199999F, 6.94799995F), new Vector2(-7.74499989F, 1.472F), new Vector2(-7.74499989F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-3.74499989F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-9.74499989F, -10.9189997F));
|
||||
builder.AddLine(new Vector2(-15.7449999F, -5.09499979F));
|
||||
builder.AddLine(new Vector2(-11.7449999F, -5.09499979F));
|
||||
builder.AddCubicBezier(new Vector2(-11.7449999F, 3.66199994F), new Vector2(-4.56699991F, 10.9189997F), new Vector2(4.25500011F, 10.9189997F));
|
||||
builder.AddCubicBezier(new Vector2(8.6260004F, 10.9189997F), new Vector2(12.7060003F, 9.20300007F), new Vector2(15.7449999F, 6.08900023F));
|
||||
builder.AddLine(new Vector2(12.8739996F, 3.32500005F));
|
||||
builder.AddCubicBezier(new Vector2(10.5930004F, 5.66099977F), new Vector2(7.53200006F, 6.94799995F), new Vector2(4.25500011F, 6.94799995F));
|
||||
builder.EndFigure(CanvasFigureLoop.Closed);
|
||||
result = CanvasGeometry.CreatePath(builder);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
CompositionColorBrush ColorBrush_AlmostDarkSlateGray_FF2D3846()
|
||||
{
|
||||
return _colorBrush_AlmostDarkSlateGray_FF2D3846 = _c.CreateColorBrush(Color.FromArgb(0xFF, 0x2D, 0x38, 0x46));
|
||||
}
|
||||
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
CompositionContainerShape ContainerShape()
|
||||
{
|
||||
var result = _c.CreateContainerShape();
|
||||
result.CenterPoint = new Vector2(24F, 24F);
|
||||
var shapes = result.Shapes;
|
||||
// ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
shapes.Add(SpriteShape_0());
|
||||
// ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
shapes.Add(SpriteShape_1());
|
||||
result.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_0_to_360());
|
||||
var controller = result.TryGetAnimationController("RotationAngleInDegrees");
|
||||
controller.Pause();
|
||||
BindProperty(controller, "Progress", "_.Progress", "_", _root);
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// ShapeGroup: Group 2 Offset:<28.255, 18.903>
|
||||
CompositionPathGeometry PathGeometry_0()
|
||||
{
|
||||
return _c.CreatePathGeometry(new CompositionPath(Geometry_0()));
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// ShapeGroup: Group 1 Offset:<19.745, 29.096>
|
||||
CompositionPathGeometry PathGeometry_1()
|
||||
{
|
||||
return _c.CreatePathGeometry(new CompositionPath(Geometry_1()));
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Path 1
|
||||
CompositionSpriteShape SpriteShape_0()
|
||||
{
|
||||
// Offset:<28.255, 18.903>
|
||||
var geometry = PathGeometry_0();
|
||||
var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 28.2549992F, 18.9029999F), ColorBrush_AlmostDarkSlateGray_FF2D3846());;
|
||||
return result;
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Path 1
|
||||
CompositionSpriteShape SpriteShape_1()
|
||||
{
|
||||
// Offset:<19.745, 29.096>
|
||||
var geometry = PathGeometry_1();
|
||||
var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 19.7450008F, 29.0960007F), _colorBrush_AlmostDarkSlateGray_FF2D3846);;
|
||||
return result;
|
||||
}
|
||||
|
||||
// The root of the composition.
|
||||
ContainerVisual Root()
|
||||
{
|
||||
var result = _root = _c.CreateContainerVisual();
|
||||
var propertySet = result.Properties;
|
||||
propertySet.InsertScalar("Progress", 0F);
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
result.Children.InsertAtTop(ShapeVisual_0());
|
||||
return result;
|
||||
}
|
||||
|
||||
// - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// Rotation
|
||||
ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_0_to_360()
|
||||
{
|
||||
// Frame 0.
|
||||
var result = CreateScalarKeyFrameAnimation(0F, 0F, HoldThenStepEasingFunction());
|
||||
// Frame 61.
|
||||
result.InsertKeyFrame(1F, 360F, _c.CreateCubicBezierEasingFunction(new Vector2(0.314999998F, 0F), new Vector2(0.465000004F, 0.861999989F)));
|
||||
return result;
|
||||
}
|
||||
|
||||
// Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
ShapeVisual ShapeVisual_0()
|
||||
{
|
||||
var result = _c.CreateShapeVisual();
|
||||
result.Size = new Vector2(48F, 48F);
|
||||
result.Shapes.Add(ContainerShape());
|
||||
return result;
|
||||
}
|
||||
|
||||
// - - Shape tree root for layer: main_library_shelf_icon_sync Outlines
|
||||
// RotationAngleInDegrees
|
||||
StepEasingFunction HoldThenStepEasingFunction()
|
||||
{
|
||||
var result = _c.CreateStepEasingFunction();
|
||||
result.IsFinalStepSingleFrame = true;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal Sync_AnimatedVisual_UAPv7(
|
||||
Compositor compositor
|
||||
)
|
||||
{
|
||||
_c = compositor;
|
||||
_reusableExpressionAnimation = compositor.CreateExpressionAnimation();
|
||||
Root();
|
||||
}
|
||||
|
||||
public Visual RootVisual => _root;
|
||||
public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
|
||||
public Vector2 Size => new Vector2(48F, 48F);
|
||||
void IDisposable.Dispose() => _root?.Dispose();
|
||||
|
||||
internal static bool IsRuntimeCompatible()
|
||||
{
|
||||
return Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
<UserControl
|
||||
x:Class="Wino.Mail.WinUI.Controls.SyncAnimationControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:animatedvisuals="using:Wino.Mail.WinUI.AnimatedVisuals">
|
||||
|
||||
<AnimatedVisualPlayer
|
||||
x:Name="AnimationPlayer"
|
||||
AutoPlay="True"
|
||||
Stretch="Uniform">
|
||||
<animatedvisuals:SyncRefreshAnimation />
|
||||
</AnimatedVisualPlayer>
|
||||
|
||||
</UserControl>
|
||||
@@ -1,54 +0,0 @@
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Wino.Mail.WinUI.Controls;
|
||||
|
||||
public sealed partial class SyncAnimationControl : UserControl
|
||||
{
|
||||
public static readonly DependencyProperty IsPlayingProperty = DependencyProperty.Register(
|
||||
nameof(IsPlaying),
|
||||
typeof(bool),
|
||||
typeof(SyncAnimationControl),
|
||||
new PropertyMetadata(true, OnIsPlayingChanged));
|
||||
|
||||
public bool IsPlaying
|
||||
{
|
||||
get => (bool)GetValue(IsPlayingProperty);
|
||||
set => SetValue(IsPlayingProperty, value);
|
||||
}
|
||||
|
||||
public SyncAnimationControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
Loaded += OnLoaded;
|
||||
}
|
||||
|
||||
private void OnLoaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (IsPlaying)
|
||||
{
|
||||
PlayAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnIsPlayingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
var control = (SyncAnimationControl)d;
|
||||
|
||||
if ((bool)e.NewValue)
|
||||
{
|
||||
control.PlayAnimation();
|
||||
}
|
||||
else
|
||||
{
|
||||
control.AnimationPlayer.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayAnimation()
|
||||
{
|
||||
#pragma warning disable CS4014 // Fire-and-forget is intentional for looped animation playback.
|
||||
AnimationPlayer.PlayAsync(0, 1, looped: true);
|
||||
#pragma warning restore CS4014
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
<svg width="1200" height="560" viewBox="0 0 1200 560" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Wino Mail feature pillars">
|
||||
<rect width="1200" height="560" fill="#0f172a" rx="24"/>
|
||||
<text x="60" y="85" fill="#f8fafc" font-size="44" font-family="Segoe UI, Arial" font-weight="700">Feature Pillars</text>
|
||||
|
||||
<g font-family="Segoe UI, Arial">
|
||||
<rect x="60" y="130" width="340" height="180" rx="18" fill="#1d4ed8"/>
|
||||
<text x="85" y="180" fill="white" font-size="36">📨 Mail</text>
|
||||
<text x="85" y="225" fill="#dbeafe" font-size="23">Outlook, Gmail, IMAP/SMTP</text>
|
||||
<text x="85" y="258" fill="#dbeafe" font-size="23">Drafts, attachments, threading</text>
|
||||
|
||||
<rect x="430" y="130" width="340" height="180" rx="18" fill="#047857"/>
|
||||
<text x="455" y="180" fill="white" font-size="36">📅 Calendar</text>
|
||||
<text x="455" y="225" fill="#d1fae5" font-size="23">Event compose and reminders</text>
|
||||
<text x="455" y="258" fill="#d1fae5" font-size="23">CalDAV sync and snooze</text>
|
||||
|
||||
<rect x="800" y="130" width="340" height="180" rx="18" fill="#7c3aed"/>
|
||||
<text x="825" y="180" fill="white" font-size="36">👥 Contacts</text>
|
||||
<text x="825" y="225" fill="#ede9fe" font-size="23">People management workflows</text>
|
||||
<text x="825" y="258" fill="#ede9fe" font-size="23">Profile and settings integration</text>
|
||||
|
||||
<rect x="60" y="340" width="520" height="170" rx="18" fill="#b45309"/>
|
||||
<text x="85" y="388" fill="white" font-size="34">⚡ Performance & Quality</text>
|
||||
<text x="85" y="428" fill="#ffedd5" font-size="22">Batch DB fetch, indexes, tests, CI workflows</text>
|
||||
|
||||
<rect x="620" y="340" width="520" height="170" rx="18" fill="#be123c"/>
|
||||
<text x="645" y="388" fill="white" font-size="34">🎨 WinUI Experience</text>
|
||||
<text x="645" y="428" fill="#ffe4e6" font-size="22">Onboarding, dialogs, settings, toasts, shortcuts</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -1,19 +0,0 @@
|
||||
<svg width="1200" height="520" viewBox="0 0 1200 520" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Wino Mail vNext highlights">
|
||||
<defs>
|
||||
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#1e3a8a"/>
|
||||
<stop offset="100%" stop-color="#0ea5e9"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1200" height="520" fill="url(#bg)" rx="24"/>
|
||||
<text x="60" y="100" fill="white" font-size="56" font-family="Segoe UI, Arial" font-weight="700">Wino Mail vNext</text>
|
||||
<text x="60" y="150" fill="#dbeafe" font-size="30" font-family="Segoe UI, Arial">Major improvements shipped this cycle</text>
|
||||
|
||||
<g fill="white" font-family="Segoe UI, Arial" font-size="29">
|
||||
<text x="70" y="240">📅 Calendar compose, reminders, snooze, and CalDAV reliability</text>
|
||||
<text x="70" y="295">👥 Contact management improvements and account integration</text>
|
||||
<text x="70" y="350">🔄 Synchronizer resilience (Outlook/Gmail/IMAP/CalDAV)</text>
|
||||
<text x="70" y="405">✉️ Editor, drafts, and large-attachment send pipeline upgrades</text>
|
||||
<text x="70" y="460">⚡ Faster data access, indexing, and better test/CI coverage</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
Reference in New Issue
Block a user