Пример #1
0
        private void UpdateElement(AnimationElement element)
        {
            // First check if in this tick we can update counters
            element.CurrentStep--;
            if (element.CurrentStep > 0)
            {
                return;
            }

            // And fill again step count
            element.CurrentStep = element.Steps;

            // Then waits for delay time
            if (element.Delay > 0)
            {
                element.Delay--;
                return;
            }

            // Checks for duration animation
            if (element.Duration == -1 || element.Duration > 0)
            {
                element.Duration = (element.Duration != -1) ? element.Duration - 1 : -1;
                element.Update();
            }
        }
Пример #2
0
        public void Add(Control parent, AnimationElement element)
        {
            lock (syncRoot) {
                if (!elements.ContainsKey(parent))
                {
                    elements.Add(parent, new List <AnimationElement>());
                    parent.Paint += HandleControlPaint;
                }

                elements[parent].Add(element);
            }
        }
Пример #3
0
        public void Remove(Control parent, AnimationElement element)
        {
            lock (syncRoot) {
                if (!elements.ContainsKey(parent))
                {
                    throw new ArgumentException();
                }

                elements[parent].Remove(element);

                if (elements[parent].Count == 0)
                {
                    parent.Paint -= HandleControlPaint;
                    elements.Remove(parent);
                }
            }
        }
Пример #4
0
 public bool Contains(Control parent, AnimationElement element)
 {
     lock (syncRoot)
         return(elements.ContainsKey(parent) && elements[parent].Contains(element));
 }
Пример #5
0
 private bool IsEnabled(AnimationElement element)
 {
     return((element.Delay == 0) && (element.Duration == -1 || element.Duration > 0));
 }