示例#1
0
 private void TrackMouseWithSprite(AgateInputEventArgs e)
 {
     // Center the sprite on the mouse position
     position = new Point(
         e.MousePosition.X - size.Width / 2,
         e.MousePosition.Y - size.Height / 2);
 }
示例#2
0
 void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
 {
     if (e.KeyCode == KeyCode.Space)
     {
         useKerning = !useKerning;
     }
 }
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            IResolution resolution;

            switch (e.KeyCode)
            {
            case KeyCode.Escape:
                AgateApp.IsAlive = false;
                break;

            case KeyCode.F1:
            case KeyCode.F2:
            case KeyCode.F3:
            case KeyCode.F4:
            case KeyCode.F5:
            case KeyCode.F6:
            case KeyCode.F7:
            case KeyCode.F8:
            case KeyCode.F9:
            case KeyCode.F10:
            case KeyCode.F11:
            case KeyCode.F12:
                var index = e.KeyCode - KeyCode.F1;

                if (e.KeyModifiers.Shift)
                {
                    ChangeDisplayWindow(index);
                }
                else
                {
                    ChangeResolution(index);
                }

                break;

            case KeyCode.Left:
                resolution = currentResolution.Clone(
                    new Size(currentResolution.Width - 1, currentResolution.Height));
                ChangeResolution(resolution);
                break;

            case KeyCode.Right:
                resolution = currentResolution.Clone(
                    new Size(currentResolution.Width + 1, currentResolution.Height));
                ChangeResolution(resolution);
                break;

            case KeyCode.Up:
                resolution = currentResolution.Clone(
                    new Size(currentResolution.Width, currentResolution.Height - 1));
                ChangeResolution(resolution);
                break;

            case KeyCode.Down:
                resolution = currentResolution.Clone(
                    new Size(currentResolution.Width, currentResolution.Height + 1));
                ChangeResolution(resolution);
                break;
            }
        }
示例#4
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            this.lblKeyPress.Text  = "Pressed key " + e.KeyCode;
            this.lblKeyString.Text = "Pressed key string [" + e.KeyString + "]";

            UpdatePressedKeys();
        }
示例#5
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            if (e.KeyCode >= KeyCode.NumPad0 && e.KeyCode <= KeyCode.NumPad9)
            {
                int key = e.KeyCode - KeyCode.NumPad0 - 1;

                if (key < 0)
                {
                    key = 10;
                }

                if (key < fonts.Count)
                {
                    currentFont = key;
                }
            }
            else if (e.KeyCode == KeyCode.BackSpace && text.Length > 0)
            {
                text = text.Substring(0, text.Length - 1);
            }
            else if (!string.IsNullOrEmpty(e.KeyString))
            {
                text += e.KeyString;
            }
        }
示例#6
0
        private void InputHandler_KeyDown(object sender, AgateInputEventArgs e)
        {
            switch (e.KeyCode)
            {
            case KeyCode.Plus:
            case KeyCode.NumPadPlus:
                size = new Size(size.Width + 5, size.Height + 5);
                break;

            case KeyCode.Minus:
            case KeyCode.NumPadMinus:
                size = new Size(size.Width - 5, size.Height - 5);
                break;

            case KeyCode.Up:
                position.Y -= 10;
                break;

            case KeyCode.Down:
                position.Y += 10;
                break;

            case KeyCode.Left:
                position.X -= 10;
                break;

            case KeyCode.Right:
                position.X += 10;
                break;
            }

            AddLine($"Key down: KeyCode={e.KeyCode}, KeyString={e.KeyString}");
        }
示例#7
0
        private void InputHandler_MouseMove(object sender, AgateInputEventArgs e)
        {
            if (inputHandler.IsMouseButtonDown(MouseButton.Primary))
            {
                TrackMouseWithSprite(e);

                AddLine($"Mouse move at {e.MousePosition}");
            }
        }
示例#8
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            if (e.KeyCode == KeyCode.Space)
            {
                fontIndex++;
            }

            Input.Unhandled.Keys.Release(KeyCode.Space);
        }
示例#9
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            if (e.KeyCode == KeyCode.A)
            {
                snda.Play();
            }

            if (e.KeyCode == KeyCode.B)
            {
                sndb.Play();
            }
        }
示例#10
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            if (e.KeyCode == KeyCode.Space)
            {
                IncrementCounter();

                Input.Unhandled.Keys.Release(KeyCode.Space);
            }
            else if (e.KeyCode == KeyCode.Escape)
            {
                Display.CurrentWindow.Dispose();
            }
        }
示例#11
0
        void Mouse_MouseDown(object sender, AgateInputEventArgs e)
        {
            if (last == snda)
            {
                last = sndb;
            }
            else
            {
                last = snda;
            }

            last.Play();
        }
        void Mouse_MouseMove(object sender, AgateInputEventArgs e)
        {
            Color clr;
            Point pt = new Point(e.MousePosition.X - imageLocation.X,
                                 e.MousePosition.Y - imageLocation.Y);

            if (buffer.IsPointValid(pt) == false)
            {
                frm.lblPixelColor.Text = "No Pixel";
                return;
            }

            if (mouseDown)
            {
                // do a circle of radius 3
                for (int y = -3; y <= 3; y++)
                {
                    for (int x = -3; x <= 3; x++)
                    {
                        // if we're out of the circle radius, go to the next iteration.
                        if (x * x + y * y > 9)
                        {
                            continue;
                        }

                        Point newpt = new Point(pt.X + x, pt.Y + y);

                        if (newpt.X < 0 || newpt.X >= buffer.Width)
                        {
                            continue;
                        }
                        if (newpt.Y < 0 || newpt.Y >= buffer.Height)
                        {
                            continue;
                        }

                        buffer.SetPixel(newpt.X, newpt.Y, Color.FromArgb(frm.btnColor.BackColor.ToArgb()));
                    }
                }
                image.WritePixels(buffer);
            }

            clr = buffer.GetPixel(e.MousePosition.X - imageLocation.X,
                                  e.MousePosition.Y - imageLocation.Y);

            frm.lblPixelColor.Text =
                string.Format("R: {0}  G: {1}\r\nB: {2}  A: {3}",
                              FormatComponent(clr.R), FormatComponent(clr.G),
                              FormatComponent(clr.B), FormatComponent(clr.A));
        }
示例#13
0
        private static void InputKeyDown(object sender, AgateInputEventArgs agateInputEventArgs)
        {
            // The get method will throw an exception if there is no item in the settings data named "color".
            var setting = AgateApp.Settings.Get <ColorSetting>("color");

            switch (agateInputEventArgs.KeyCode)
            {
            case KeyCode.Escape:
                AgateApp.IsAlive = false;
                break;

            case KeyCode.Minus:
            case KeyCode.NumPadMinus:
                setting.Hue -= 10;
                break;

            case KeyCode.Plus:
            case KeyCode.NumPadPlus:
                setting.Hue += 10;
                break;

            case KeyCode.Period:
                setting.Saturation += 0.1;
                if (setting.Saturation > 1)
                {
                    setting.Saturation = 1;
                }
                break;

            case KeyCode.Comma:
                setting.Saturation -= 0.1;
                if (setting.Saturation < 0)
                {
                    setting.Saturation = 0;
                }
                break;
            }
        }
示例#14
0
        void Keyboard_KeyDown(object sender, AgateInputEventArgs e)
        {
            const float speed = 3f;

            switch (e.KeyCode)
            {
            case KeyCode.Up: eye += (float)(speed * AgateApp.GameClock.Elapsed.TotalSeconds) * LookDir; break;

            case KeyCode.Down: eye -= (float)(speed * AgateApp.GameClock.Elapsed.TotalSeconds) * LookDir; break;

            case KeyCode.Left: lookAngle += (float)(speed * AgateApp.GameClock.Elapsed.TotalSeconds); break;

            case KeyCode.Right: lookAngle -= (float)(speed * AgateApp.GameClock.Elapsed.TotalSeconds); break;

            case KeyCode.L: lightEnable = !lightEnable; break;

            case KeyCode.P: paused = !paused; break;

            case KeyCode.A: advance = true; break;

            case KeyCode.Escape: done = true; break;
            }
        }
示例#15
0
 private void Joystick_HatChanged(object sender, AgateInputEventArgs e)
 {
     lblJoystick.Text = $"Joystick {e.JoystickIndex} hat changed.";
 }
示例#16
0
 private void Joystick_ButtonReleased(object sender, AgateInputEventArgs e)
 {
     lblJoystick.Text = $"Joystick {e.JoystickIndex} button {e.JoystickButtonIndex} released.";
 }
示例#17
0
        private void Handler_KeyDown(object sender, AgateInputEventArgs e)
        {
            if (e.KeyCode == KeyCode.Escape)
            {
                AgateApp.Quit();
            }

            if (e.KeyCode == KeyCode.Z)
            {
                InitializeExample();
            }
            if (e.KeyCode == KeyCode.Space && !running)
            {
                Advance();
            }
            if (e.KeyCode == KeyCode.Space && running)
            {
                running = false;
            }
            if (e.KeyCode == KeyCode.Enter || e.KeyCode == KeyCode.Return)
            {
                running = !running;
            }

            if (e.KeyCode == KeyCode.NumPadPlus || e.KeyCode == KeyCode.Plus)
            {
                CurrentExample.AddParticle();
                InitializeExample();
            }
            if (e.KeyCode == KeyCode.NumPadMinus || e.KeyCode == KeyCode.Minus)
            {
                CurrentExample.RemoveParticle();
                InitializeExample();
            }
            if (e.KeyCode == KeyCode.Left)
            {
                debugParticleIndex--;
                if (debugParticleIndex < 0)
                {
                    debugParticleIndex = 0;
                }
            }
            if (e.KeyCode == KeyCode.Right)
            {
                debugParticleIndex++;
                if (debugParticleIndex >= system.Particles.Count)
                {
                    debugParticleIndex = system.Particles.Count - 1;
                }
            }
            if (e.KeyCode == KeyCode.Down)
            {
                historyIndex--;
                if (historyIndex < 0)
                {
                    historyIndex = 0;
                }

                LoadHistory();
            }
            if (e.KeyCode == KeyCode.Up)
            {
                historyIndex++;
                if (historyIndex >= history.Count)
                {
                    historyIndex = history.Count - 1;
                }

                LoadHistory();
            }
            if (e.KeyCode == KeyCode.PageDown)
            {
                exampleIndex++;
                if (exampleIndex >= examples.Count)
                {
                    exampleIndex = examples.Count - 1;
                }

                InitializeExample();
            }
            if (e.KeyCode == KeyCode.PageUp)
            {
                exampleIndex--;
                if (exampleIndex < 0)
                {
                    exampleIndex = 0;
                }

                InitializeExample();
            }

            if (e.KeyCode >= KeyCode.D1 && e.KeyCode <= KeyCode.D2)
            {
                debugInfoPage = (int)(e.KeyCode - KeyCode.D1);
            }

            if (e.KeyCode >= KeyCode.F1 && e.KeyCode <= KeyCode.F12)
            {
                solverIndex = (int)(e.KeyCode - KeyCode.F1) % solvers.Count;

                InitializeExample();
            }
        }
示例#18
0
        void Keyboard_KeyUp(object sender, AgateInputEventArgs e)
        {
            this.lblKeyPress.Text = "Released key " + e.KeyCode;

            UpdatePressedKeys();
        }
示例#19
0
 void Mouse_MouseWheel(object sender, AgateInputEventArgs e)
 {
     lblMouseButton.Text = "Mouse Wheel " + e.MouseWheelDelta.ToString();
 }
示例#20
0
        private void InputHandler_MouseWheel(object sender, AgateInputEventArgs e)
        {
            TrackMouseWithSprite(e);

            AddLine($"Mouse wheel moved {e.MouseWheelDelta} at {e.MousePosition}");
        }
示例#21
0
 void Mouse_MouseDown(object sender, AgateInputEventArgs e)
 {
     lblMouseButton.Text = "Mouse Button Down " + e.MouseButton.ToString();
 }
示例#22
0
 void Mouse_MouseDoubleClickEvent(object sender, AgateInputEventArgs e)
 {
     lblMouseButton.Text = "Mouse Double Click " + e.MouseButton.ToString();
 }
 private void Mouse_MouseMove(object sender, AgateInputEventArgs e)
 {
     mousePosition = e.MousePosition;
     mouseWindow   = e.MouseWindow;
 }
示例#24
0
 private void InputHandler_KeyUp(object sender, AgateInputEventArgs e)
 {
     AddLine($"Key up:   KeyCode={e.KeyCode}, KeyString={e.KeyString}");
 }
示例#25
0
        private void InputHandler_MouseUp(object sender, AgateInputEventArgs e)
        {
            TrackMouseWithSprite(e);

            AddLine($"Mouse button {e.MouseButton} up at {e.MousePosition}");
        }
示例#26
0
 void Mouse_MouseDown(object sender, AgateInputEventArgs e)
 {
     CreateTestFramebuffer();
 }
示例#27
0
 void Mouse_MouseDown(object sender, AgateInputEventArgs e)
 {
     IncrementCounter();
 }
 void Mouse_MouseDown(object sender, AgateInputEventArgs e)
 {
     mouseDown = true;
     Mouse_MouseMove(sender, e);
 }
示例#29
0
 void Mouse_MouseMove(object sender, AgateInputEventArgs e)
 {
     lblMouseMove.Text = "Mouse Moved " + e.MousePosition.ToString();
 }