private void pictDisplay_MouseMove(object sender, MouseEventArgs e) { TimeController timeController = _timeController; if (timeController == null) { return; } decimal cursorTime = getTimeFromPosition(e.X); //cursorTime = Math.Min(timeController.VisibleEndTime, Math.Max(timeController.VisibleBeginTime, cursorTime)); timeController.CursorTime = cursorTime; RegulatedMouseInfo info = _mouse.MouseMove(e); decimal timeDelta = getTimeSpanFromDelta(_mouse.MoveDelta.X); switch (info.Button) { case RegulatedMouseButton.Left: timeController.CursorTime = cursorTime; timeController.SelectRange(Math.Min(cursorTime, _selectingTime), Math.Max(cursorTime, _selectingTime)); break; case RegulatedMouseButton.CtrlLeft: timeController.CurrentTime = cursorTime; timeController.SelectRange(Math.Min(cursorTime, _selectingTime), Math.Max(cursorTime, _selectingTime)); break; case RegulatedMouseButton.AltLeft: decimal timeOffset = timeDelta; if (!this.IsGlobalTimeLineMode) { timeOffset = -timeOffset; } timeController.SetVisibleTime(timeController.VisibleBeginTime + timeOffset, timeController.VisibleEndTime + timeOffset); break; case RegulatedMouseButton.ShiftLeft: timeController.AdjustSelectedRange(cursorTime); break; case RegulatedMouseButton.ShiftCtrlLeft: timeController.CurrentTime = cursorTime; timeController.AdjustSelectedRange(cursorTime); break; } }
/// <summary> /// ボタンが離された時の処理を行います. /// </summary> /// <param name="e"></param> /// <returns></returns> public RegulatedMouseInfo MouseUp(MouseEventArgs e) { _location = e.Location; _pressed &= ~e.Button; if (_multiPressed) { return(new RegulatedMouseInfo { Button = RegulatedMouseButton.None, State = RegulatedMouseClickState.Click }); } RegulatedMouseInfo ret = new RegulatedMouseInfo { Button = _buttonType, State = _clickType }; _buttonType = RegulatedMouseButton.None; _clickType = RegulatedMouseClickState.Click; return(ret); }
private void pictDisplay_MouseUp(object sender, MouseEventArgs e) { RegulatedMouseInfo info = _mouse.MouseUp(e); }