Пример #1
0
        public override void UnregisterValue(RadElement element)
        {
            int key = this.GetHashCode();

            ElementValuesAnimator animator = element.ValuesAnimators[key] as ElementValuesAnimator;

            if (animator != null)
            {
                animator.Stop();
                element.ValuesAnimators.Remove(key);
            }

            this.OnAnimationFinished(new AnimationStatusEventArgs(element, false, true));
        }
Пример #2
0
        private void StopAnimation(RadObject element, bool cancel)
        {
            ElementValuesAnimator valuesAnimator = element.ValuesAnimators[(object)this.GetHashCode()] as ElementValuesAnimator;

            if (valuesAnimator == null || !valuesAnimator.Waiting && !valuesAnimator.IsRunning)
            {
                return;
            }
            valuesAnimator.Stop();
            if (!cancel)
            {
                valuesAnimator.Value = this.GetEndValue(element);
            }
            this.OnAnimationFinished(new AnimationStatusEventArgs(element, true, !cancel && !this.RemoveAfterApply));
        }
Пример #3
0
 public void Stop(RadElement element)
 {
     if (this.RemoveDelayTimer(element))
     {
         this.OnAnimationFinished(new AnimationStatusEventArgs(element, true, true));
     }
     else
     {
         ElementValuesAnimator animator = this.GetExistingAnimator(element);
         if (animator != null && animator.IsRunning)
         {
             animator.Stop();
             this.OnAnimationFinished(new AnimationStatusEventArgs(element, true, true));
         }
     }
 }
Пример #4
0
        private void RemovePreviousAnimation(RadObject element)
        {
            AnimatedPropertySetting currentAnimation = element.GetCurrentAnimation(this.Property);

            if (currentAnimation == null)
            {
                return;
            }
            ElementValuesAnimator valuesAnimator = element.ValuesAnimators[(object)currentAnimation.GetHashCode()] as ElementValuesAnimator;

            if (valuesAnimator == null || !valuesAnimator.IsRunning)
            {
                return;
            }
            valuesAnimator.Stop();
            currentAnimation.OnAnimationFinished(new AnimationStatusEventArgs(element, true, false));
        }
Пример #5
0
        public void AppendValue(
            RadObject element,
            RadProperty property,
            object startValue,
            object endValue,
            int frames,
            int interval)
        {
            if (this.Property != property)
            {
                return;
            }
            this.StartValue = startValue;
            this.EndValue   = endValue;
            this.NumFrames  = frames;
            this.Interval   = interval;
            ElementValuesAnimator animator = this.GetAnimator(element);

            animator.Stop();
            animator.Initialize(element, this.StartValue);
            animator.Start(element);
        }