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--; } }
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); }
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; }
/********* * 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]); }
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); }
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); }
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); }
public Slide() { keys = new Keyframes(); }
public Slide(string s) { fileName = s; keys = new Keyframes(); }