protected override void OnMouseClick(System.Windows.Forms.MouseEventArgs e)
 {
     if (!rotating && InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseClick, e);
     }
 }
예제 #2
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            if (IsDisposed)
            {
                return;
            }

            if (WindowMode == WindowMode.FullscreenWindowed)
            {
                e = new MouseEventArgs(e.Button, e.Clicks,
                                       (int)(e.X * ((float)GraphicsDevice.Settings.Resolution.Width / (float)ClientSize.Width)),
                                       (int)(e.Y * ((float)GraphicsDevice.Settings.Resolution.Height / (float)ClientSize.Height)),
                                       e.Delta);
            }
            base.OnMouseUp(e);
            if (WindowMode == WindowMode.Fullscreen)
            {
                Point l = PointToScreen(e.Location);
                e = new MouseEventArgs(e.Button, e.Clicks, l.X, l.Y, e.Delta);
            }

            if (InputHandler != null)
            {
                InputHandler.ProcessMessage(MessageType.MouseUp, e);
            }
        }
예제 #3
0
 protected override void OnKeyPress(KeyPressEventArgs e)
 {
     base.OnKeyPress(e);
     if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.KeyPress, e);
     }
 }
예제 #4
0
        protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);

            if (InputHandler != null)
            {
                InputHandler.ProcessMessage(MessageType.Resize, e);
            }
        }
예제 #5
0
 protected override void OnMouseLeave(EventArgs e)
 {
     base.OnMouseLeave(e);
     MouseIsOver = false;
     if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseLeave, e);
     }
 }
예제 #6
0
 protected override void OnMouseEnter(EventArgs e)
 {
     base.OnMouseEnter(e);
     MouseIsOver = true;
     if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseEnter, e);
     }
 }
 protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
 {
     if (e.Button == System.Windows.Forms.MouseButtons.Right)
     {
         rotating = false;
     }
     else if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseUp, e);
     }
 }
 protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
 {
     if (e.Button == System.Windows.Forms.MouseButtons.Right)
     {
         rotating  = true;
         prevMouse = new Vector2(e.X, e.Y);
     }
     else if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseDown, e);
     }
 }
 protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
 {
     if (rotating)
     {
         Vector2 mouse  = new Vector2(e.X, e.Y);
         Vector2 dmouse = prevMouse - mouse;
         Zrot     -= dmouse.X / 100;
         Xrot     += dmouse.Y / 100;
         prevMouse = mouse;
         UpdateRot();
     }
     else if (InputHandler != null)
     {
         InputHandler.ProcessMessage(MessageType.MouseMove, e);
     }
 }
        protected override void OnKeyUp(System.Windows.Forms.KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case System.Windows.Forms.Keys.W:
                Drun.Y = 0;
                break;

            case System.Windows.Forms.Keys.S:
                Drun.Y = 0;
                break;

            case System.Windows.Forms.Keys.A:
                Drun.X = 0;
                break;

            case System.Windows.Forms.Keys.D:
                Drun.X = 0;
                break;

            case System.Windows.Forms.Keys.OemBackslash:
            case System.Windows.Forms.Keys.Q:
                Drun.Z = 0;
                break;

            case System.Windows.Forms.Keys.Space:
            case System.Windows.Forms.Keys.E:
                Drun.Z = 0;
                break;

            default:
                if (InputHandler != null)
                {
                    InputHandler.ProcessMessage(MessageType.KeyUp, e);
                }
                break;
            }
        }