Skip to content

Commit 12f43d7

Browse files
authored
Merge branch 'master' into FR-TemplateUpdate
2 parents 4c80a79 + 2c0a031 commit 12f43d7

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

Microsoft.Toolkit.Uwp.UI.Controls/OrbitView/OrbitView.cs

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using System.Collections.Generic;
77
using System.Linq;
88
using System.Numerics;
9-
using Microsoft.Toolkit.Uwp.UI.Animations.Expressions;
109
using Windows.UI;
1110
using Windows.UI.Composition;
1211
using Windows.UI.Xaml;
@@ -631,41 +630,48 @@ private Line CreateAnchor(UIElement element, double x, double y)
631630
var anchorVisual = ElementCompositionPreview.GetElementVisual(anchor);
632631
var elementVisual = ElementCompositionPreview.GetElementVisual(element);
633632
var centerVisual = ElementCompositionPreview.GetElementVisual(_centerContent);
634-
var elementNode = elementVisual.GetReference();
635-
var centerNode = centerVisual.GetReference();
636633

637-
ScalarNode expression;
638-
var elementY = elementNode.Offset.Y + (elementNode.Size.Y / 2);
639-
var centerY = centerNode.Offset.Y + (centerNode.Size.Y / 2);
640-
var elementX = elementNode.Offset.X + (elementNode.Size.X / 2);
641-
var centerX = centerNode.Offset.X + (centerNode.Size.X / 2);
634+
string expression = string.Empty;
635+
var elementY = "(elementVisual.Offset.Y + elementVisual.Size.Y / 2)";
636+
var centerY = "(centerVisual.Offset.Y + centerVisual.Size.Y / 2)";
637+
var elementX = "(elementVisual.Offset.X + elementVisual.Size.X / 2)";
638+
var centerX = "(centerVisual.Offset.X + centerVisual.Size.X / 2)";
642639

643640
var startingAngle = Math.Atan2(y, x);
644641

645642
if (startingAngle > Math.PI / 4 && startingAngle < 3 * Math.PI / 4)
646643
{
647-
expression = ExpressionFunctions.ATan((-1 * (elementX - centerX)) / (elementY - centerY)) - ((float)Math.PI / 2.0f);
644+
expression = $"Atan((-1 * ({elementX} - {centerX})) / ( {elementY} - {centerY})) - PI / 2";
648645
}
649646
else if (startingAngle >= 3 * Math.PI / 4 || startingAngle < -3 * Math.PI / 4)
650647
{
651-
expression = ExpressionFunctions.ATan((elementY - centerY) / (elementX - centerX)) + (float)Math.PI;
648+
expression = $"Atan(({elementY} - {centerY}) / ({elementX} - {centerX})) + PI";
652649
}
653650
else if (startingAngle >= -3 * Math.PI / 4 && startingAngle < Math.PI / -4)
654651
{
655-
expression = ExpressionFunctions.ATan((elementX - centerX) / (-1 * (elementY - centerY))) + ((float)Math.PI / 2.0f);
652+
expression = $"Atan(({elementX} - {centerX}) / (-1 * ({elementY} - {centerY}))) + PI / 2";
656653
}
657654
else
658655
{
659-
expression = ExpressionFunctions.ATan((elementY - centerY) / (elementX - centerX));
656+
expression = $"Atan(({elementY} - {centerY}) / ({elementX} - {centerX}))";
660657
}
661658

662659
anchorVisual.CenterPoint = new Vector3(0);
663-
anchorVisual.StartAnimation(nameof(anchorVisual.RotationAngle), expression);
664-
665-
var offsetExpression = ExpressionFunctions.Vector3(centerNode.Offset.X + (centerNode.Size.X / 2), centerNode.Offset.Y + (centerNode.Size.Y / 2), 0);
660+
var rotationExpression = _compositor.CreateExpressionAnimation();
661+
rotationExpression.Expression = expression;
662+
rotationExpression.SetReferenceParameter("centerVisual", centerVisual);
663+
rotationExpression.SetReferenceParameter("elementVisual", elementVisual);
664+
anchorVisual.StartAnimation(nameof(anchorVisual.RotationAngle), rotationExpression);
665+
666+
var offsetExpression = _compositor.CreateExpressionAnimation();
667+
offsetExpression.Expression = "Vector3(centerVisual.Offset.X + centerVisual.Size.X / 2, centerVisual.Offset.Y + centerVisual.Size.Y / 2, 0)";
668+
offsetExpression.SetReferenceParameter("centerVisual", centerVisual);
666669
anchorVisual.StartAnimation(nameof(anchorVisual.Offset), offsetExpression);
667670

668-
var scaleExpression = ExpressionFunctions.Vector3(ExpressionFunctions.Pow(ExpressionFunctions.Pow(elementX - centerX, 2) + ExpressionFunctions.Pow(elementY - centerY, 2), 0.5f) / 80, 1, 1);
671+
var scaleExpression = _compositor.CreateExpressionAnimation();
672+
scaleExpression.Expression = $"Vector3(Pow(Pow({elementX} - {centerX}, 2) + Pow({elementY} - {centerY}, 2), 0.5)/80, 1, 1)";
673+
scaleExpression.SetReferenceParameter("centerVisual", centerVisual);
674+
scaleExpression.SetReferenceParameter("elementVisual", elementVisual);
669675
anchorVisual.StartAnimation(nameof(anchorVisual.Scale), scaleExpression);
670676

671677
return anchor;

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102

103103
- job: SmokeTests
104104
dependsOn: BuildBits
105-
timeoutInMinutes: 40
105+
timeoutInMinutes: 60
106106

107107
steps:
108108
- task: DownloadPipelineArtifact@2

0 commit comments

Comments
 (0)