AcTools.Render.Wrapper.BaseKn5FormWrapper.OnMouseMove C# (CSharp) Method

OnMouseMove() protected method

protected OnMouseMove ( object sender, MouseEventArgs e ) : void
sender object
e MouseEventArgs
return void
        protected void OnMouseMove(object sender, MouseEventArgs e) {
            if (!Form.Focused) {
                _moving = false;
                return;
            }

            MousePosition = e.Location;

            if (Math.Abs(e.X - _startMousePos.X) > 2 || Math.Abs(e.Y - _startMousePos.Y) > 2) {
                _moved = true;
            }

            if (_moving && !_down) {
                var dx = e.X - _lastMousePos.X;
                var dy = e.Y - _lastMousePos.Y;

                if (e.Button == (InvertMouseButtons ? MouseButtons.Left : MouseButtons.Middle) || e.Button == MouseButtons.Left && IsPressed(Keys.Space)) {
                    CameraMousePan(dx, dy);
                } else if (e.Button == (InvertMouseButtons ? MouseButtons.Right : MouseButtons.Left)) {
                    if (FormMoving) {
                        Form.Left += e.X - _lastMousePos.X;
                        Form.Top += e.Y - _lastMousePos.Y;
                        _lastMousePos = e.Location;
                        return;
                    }

                    CameraMouseRotate(dx, dy);
                } else if (e.Button == (InvertMouseButtons ? MouseButtons.Middle : MouseButtons.Right)) {
                    CameraMouseZoom(dx, dy);
                }
            }

            _down = false;
            _lastMousePos = e.Location;
        }