/// <summary> /// MouseDragEvent /// </summary> /// <param name="args">Args</param> protected override void MouseDragEvent(MouseMoveEventArgs args) { if (args.Button == MouseButton.Left) { if (TimeLine != null) { _DeltaX += args.Delta.x; double time = _TimeLine.GetSnapedTime(_StartTime + _TimeLine.GetDeltaTime(_DeltaX)); if (time < _TimeLine.MinTime) { time = _TimeLine.MinTime; } else if (time > _TimeLine.MaxTime) { time = _TimeLine.MaxTime; } OwnerEvent.FireTime = time; OnLayoutChanged(); EditorFrame.RepaintParentEditorWindow(this); args.Handled = true; } } base.MouseDragEvent(args); }
/// <summary> /// Zoom time line /// </summary> /// <param name="deltaTime">delta time to zoom ( negative for zoom out, positive to zoom in)</param> public void Zoom(double deltaTime) { deltaTime *= 0.5f; if (deltaTime < 0) { StartVisible += deltaTime; EndVisible -= deltaTime; } else { EndVisible -= deltaTime; StartVisible += deltaTime; } EditorFrame.RepaintParentEditorWindow(this); }
/// <summary> /// Scroll time line /// </summary> /// <param name="deltaTime">delta time to scroll</param> public void Scroll(double deltaTime) { if (deltaTime < 0) { double preStartTime = StartVisible; StartVisible += deltaTime; EndVisible += StartVisible - preStartTime; } else { double preEndTime = EndVisible; EndVisible += deltaTime; StartVisible += EndVisible - preEndTime; } EditorFrame.RepaintParentEditorWindow(this); }