/// <summary>
        /// Compiles a <see cref="UvssStoryboardKeyframe"/> from the specified syntax node.
        /// </summary>
        private static UvssStoryboardKeyframe CompileStoryboardKeyframe(UvssAnimationKeyframeSyntax node, CultureInfo culture)
        {
            var time =
                Double.Parse(node.TimeToken.Text);

            var value =
                new DependencyValue(node.Value.Value, culture);

            var easing =
                node.EasingIdentifier?.Text;

            return(new UvssStoryboardKeyframe(time, value, easing));
        }
Esempio n. 2
0
        /// <inheritdoc/>
        public override SyntaxNode VisitAnimationKeyframe(UvssAnimationKeyframeSyntax node)
        {
            var unchanged = true;

            var newKeyframeKeyword = (SyntaxToken)Visit(node.KeyframeKeyword);

            if (newKeyframeKeyword != node.KeyframeKeyword)
            {
                unchanged = false;
            }

            var newTimeToken = (SyntaxToken)Visit(node.TimeToken);

            if (newTimeToken != node.TimeToken)
            {
                unchanged = false;
            }

            var newEasingIdentifier = (UvssIdentifierBaseSyntax)Visit(node.EasingIdentifier);

            if (newEasingIdentifier != node.EasingIdentifier)
            {
                unchanged = false;
            }

            var newValue = (UvssPropertyValueWithBracesSyntax)Visit(node.Value);

            if (newValue != node.Value)
            {
                unchanged = false;
            }

            return(unchanged ? node : new UvssAnimationKeyframeSyntax(
                       newKeyframeKeyword,
                       newTimeToken,
                       newEasingIdentifier,
                       newValue));
        }
 /// <summary>
 /// Visits the specified animation keyframe node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 /// <returns>A node which should replace the visited node, or a reference to the visited node
 /// itself if no changes were made.</returns>
 public virtual SyntaxNode VisitAnimationKeyframe(UvssAnimationKeyframeSyntax node)
 {
     return(VisitSyntaxNode(node));
 }
 /// <summary>
 /// Visits an animation keyframe declaration node..
 /// </summary>
 /// <param name="animationKeyframe">The animation keyframe declaration node to visit.</param>
 private void VisitAnimationKeyframe(UvssAnimationKeyframeSyntax animationKeyframe)
 {
     Style(animationKeyframe.EasingIdentifier, typeUvssKeyword);
 }