예제 #1
0
        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;
            }
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 private void pictDisplay_MouseUp(object sender, MouseEventArgs e)
 {
     RegulatedMouseInfo info = _mouse.MouseUp(e);
 }