Пример #1
0
        private void deleteKeyframe(Keyframe key)
        {
            Keyframes keys        = currentSlide.keys;
            var       victimIndex = keys.IndexOf(key);

            if (currentKeyframeIndex == victimIndex)
            {
                if (currentKeyframeIndex == (keys.Count - 1))
                {
                    selectKeyframe(keys[currentKeyframeIndex - 1]);
                }
                else
                {
                    selectKeyframe(keys[currentKeyframeIndex + 1]);
                }
            }

            KeyframeControl kfc = key.keyframeControl;

            keyframePanel.Children.Remove(kfc);
            keys.Remove(key);

            if (currentKeyframeIndex > victimIndex)
            {
                currentKeyframeIndex--;
            }
        }
Пример #2
0
        private void placeKeyframe(Keyframe key, int insertIndex)
        {
            Keyframes keys = currentSlide.keys;

            keys.Insert(insertIndex, key);
            keyframePanel.Children.Insert(insertIndex, key.keyframeControl);
            if (currentKeyframeIndex >= insertIndex)
            {
                currentKeyframeIndex++;
            }
            selectKeyframe(key);
        }
Пример #3
0
        private void cutKeyframe(Keyframe key)
        {
            Keyframes keys = currentSlide.keys;

            if (keys.Count == 1)
            {
                MessageBox.Show("At least one keyframe is required");
                return;
            }
            kfDeletedHistory(key, keys.IndexOf(key));
            deleteKeyframe(key);
            clipboardKey = key;
        }
Пример #4
0
        /*********
         *  Keyframes
         */
        public void initializeKeysUI(Slide slide)
        {
            keyframePanel.Children.Clear();
            Keyframes keys = slide.keys;

            for (int i = 0; i < keys.Count; i++)
            {
                Keyframe key = keys[i];
                addKeyframeControl(key);
            }

            selectKeyframe(keys[0]);
        }
Пример #5
0
        public void selectKeyframe(Keyframe key)
        {
            Keyframes keys          = currentSlide.keys;
            int       keyFrameIndex = keys.IndexOf(key);

            if (currentKeyframeIndex >= 0)
            {
                Keyframe        oldKey       = keys[currentKeyframeIndex];
                KeyframeControl oldKFControl = oldKey.keyframeControl;
                unBindKFC(oldKFControl, oldKey);
                oldKFControl.DeSelect();
            }

            currentKeyframeIndex = keyFrameIndex;

            imageCropper.updateLayout();
            imageCropper.cropZoom = key.zoomFactor;
            imageCropper.cropX    = key.x;
            imageCropper.cropY    = key.y;

            imageCropper.updateLayout();

            KeyframeControl kfControl = key.keyframeControl;

            kfControl.Select();

            Binding xBinding = new Binding("cropX")
            {
                Source = imageCropper,
                Mode   = BindingMode.OneWay
            };

            kfControl.xTb.SetBinding(TextBox.TextProperty, xBinding);

            Binding yBinding = new Binding("cropY")
            {
                Source = imageCropper,
                Mode   = BindingMode.OneWay
            };

            kfControl.yTb.SetBinding(TextBox.TextProperty, yBinding);

            Binding zoomBinding = new Binding("cropZoom")
            {
                Source = imageCropper,
                Mode   = BindingMode.OneWay
            };

            kfControl.zoomTb.SetBinding(TextBox.TextProperty, zoomBinding);
        }
Пример #6
0
 public bool SameAs(Keyframes other)
 {
     if (this.Count != other.Count)
     {
         return(false);
     }
     for (int i = 0; i < this.Count; i++)
     {
         if (!this[i].SameAs(other[i]))
         {
             return(false);
         }
     }
     return(true);
 }
Пример #7
0
        private void insertKeyframeClick(object sender, RoutedEventArgs e, Keyframe key)
        {
            Keyframes keys        = currentSlide.keys;
            var       insertIndex = keys.IndexOf(key);
            Keyframe  newKey      = key.Clone(DEFAULT_DURATION);

            keys.Insert(insertIndex, newKey);
            addKeyframeControl(newKey, insertIndex);
            if (currentKeyframeIndex >= insertIndex)
            {
                currentKeyframeIndex++;
            }
            selectKeyframe(newKey);
            kfAddedHistory(insertIndex);
        }
Пример #8
0
 public Slide()
 {
     keys = new Keyframes();
 }
Пример #9
0
 public Slide(string s)
 {
     fileName = s;
     keys     = new Keyframes();
 }