Example #1
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);
        }
Example #2
0
        public void addKeyframeControl(Keyframe key, int insertIndex = -1)
        {
            KeyframeControl kfControl = new KeyframeControl();

            kfControl.DeSelect();
            key.keyframeControl = kfControl;
            if (insertIndex == -1)
            {
                keyframePanel.Children.Add(kfControl);
            }
            else
            {
                keyframePanel.Children.Insert(insertIndex, kfControl);
            }

            kfControl.PreviewMouseUp += delegate(object sender, MouseButtonEventArgs e) { keyFrameClick(sender, e, key); };

            kfControl.PreviewMouseDown += delegate(object sender, MouseButtonEventArgs e) { keyframePreviewMouseDown(sender, e, key); };
            kfControl.MouseMove        += delegate(object sender, MouseEventArgs e) { keyframeMouseMove(sender, e, key); };
            kfControl.DragOver         += delegate(object sender, DragEventArgs e) { keyframeDragOver(sender, e, key); };
            kfControl.Drop             += delegate(object sender, DragEventArgs e) { keyframeDrop(sender, e, key); };
            kfControl.GiveFeedback     += delegate(object sender, GiveFeedbackEventArgs e) { keyframeGiveFeedback(sender, e, key); };

            kfControl.xTb.Text    = key.x.ToString();
            kfControl.yTb.Text    = key.y.ToString();
            kfControl.zoomTb.Text = key.zoomFactor.ToString();
            kfControl.durTb.Text  = key.duration.ToString();

            kfControl.xTb.TextChanged    += delegate(object sender, TextChangedEventArgs e) { kfControlChangeEvent(sender, e, key); };
            kfControl.yTb.TextChanged    += delegate(object sender, TextChangedEventArgs e) { kfControlChangeEvent(sender, e, key); };
            kfControl.zoomTb.TextChanged += delegate(object sender, TextChangedEventArgs e) { kfControlChangeEvent(sender, e, key); };
            kfControl.durTb.TextChanged  += delegate(object sender, TextChangedEventArgs e) { kfControlChangeEvent(sender, e, key); };

            kfControl.CMCut.Click                += delegate(object sender, RoutedEventArgs e) { cutKeyframeClick(sender, e, key); };
            kfControl.CMPaste.Click              += delegate(object sender, RoutedEventArgs e) { pasteKeyframeClick(sender, e, key); };
            kfControl.CMInsert.Click             += delegate(object sender, RoutedEventArgs e) { insertKeyframeClick(sender, e, key); };
            kfControl.KeyframeContextMenu.Opened += delegate(object sender, RoutedEventArgs e) { keyframeContextMenuOpened(sender, e, key); };
        }