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