Esempio n. 1
0
        public void TestButtonPressOnFocusAffectingControl()
        {
            Control parent = new Control();

            Controls.Desktop.WindowControl child1 = new Controls.Desktop.WindowControl();
            Controls.Desktop.WindowControl child2 = new Controls.Desktop.WindowControl();
            GamePadTestControl             child3 = new GamePadTestControl(true);

            parent.Children.Add(child1);
            parent.Children.Add(child2);
            parent.Children.Add(child3);
            GamePadTestControl child1child1 = new GamePadTestControl(false);
            GamePadTestControl child1child2 = new GamePadTestControl(false);
            GamePadTestControl child2child1 = new GamePadTestControl(false);

            child1.Children.Add(child1child1);
            child1.Children.Add(child1child2);
            child2.Children.Add(child2child1);

            parent.ProcessButtonPress(Buttons.A);
            Assert.AreEqual(1, child1child1.HeldButtonCount);
            Assert.AreEqual(1, child1child2.HeldButtonCount); // because child 1 returned false
            Assert.AreEqual(0, child2child1.HeldButtonCount); // because its parent affects focus
            Assert.AreEqual(1, child3.HeldButtonCount);       // because it doesn't affect focus
        }
Esempio n. 2
0
        public void TestButtonPressWithActivatedControl()
        {
            Control parent = new Control();

            parent.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
            GamePadTestControl child1 = new GamePadTestControl(true);
            GamePadTestControl child2 = new GamePadTestControl(true);

            child2.Bounds = new UniRectangle(10.0f, 10.0f, 25.0f, 60.0f);

            parent.Children.Add(child1);
            parent.Children.Add(child2);

            parent.ProcessMouseMove(100.0f, 100.0f, 20.0f, 30.0f);
            parent.ProcessMousePress(MouseButtons.Left);

            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(0, child2.HeldButtonCount);
            parent.ProcessButtonPress(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(1, child2.HeldButtonCount); // Because child 1 was activated
            parent.ProcessButtonRelease(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(0, child2.HeldButtonCount);
        }
Esempio n. 3
0
        public void TestInjectButtonPress()
        {
            Screen             screen  = new Screen();
            GamePadTestControl control = new GamePadTestControl();

            screen.Desktop.Children.Add(control);

            screen.InjectButtonPress(Buttons.A);
            Assert.AreEqual(1, control.HeldButtonCount);
        }
Esempio n. 4
0
        public void TestButtonPressWithFocusedControl()
        {
            Screen             screen = new Screen(100.0f, 100.0f);
            GamePadTestControl child1 = new GamePadTestControl();
            GamePadTestControl child2 = new GamePadTestControl();

            screen.Desktop.Children.Add(child1);
            screen.Desktop.Children.Add(child2);

            screen.FocusedControl = child2;

            screen.InjectButtonPress(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(1, child2.HeldButtonCount);
            screen.InjectButtonRelease(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(0, child2.HeldButtonCount);
        }
Esempio n. 5
0
        public void TestButtonPressWithActivatedControl()
        {
            Screen             screen = new Screen(100.0f, 100.0f);
            GamePadTestControl child1 = new GamePadTestControl();
            GamePadTestControl child2 = new GamePadTestControl();

            child2.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
            screen.Desktop.Children.Add(child1);
            screen.Desktop.Children.Add(child2);

            // Click on child 2
            screen.InjectMouseMove(50.0f, 50.0f);
            screen.InjectMousePress(MouseButtons.Left);

            // Now child 2 should be receiving the input instead of child 1
            screen.InjectButtonPress(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(1, child2.HeldButtonCount);
            screen.InjectButtonRelease(Buttons.A);
            Assert.AreEqual(0, child1.HeldButtonCount);
            Assert.AreEqual(0, child2.HeldButtonCount);
        }
Esempio n. 6
0
    public void TestButtonPressOnFocusAffectingControl() {
      Control parent = new Control();
      Controls.Desktop.WindowControl child1 = new Controls.Desktop.WindowControl();
      Controls.Desktop.WindowControl child2 = new Controls.Desktop.WindowControl();
      GamePadTestControl child3 = new GamePadTestControl(true);
      parent.Children.Add(child1);
      parent.Children.Add(child2);
      parent.Children.Add(child3);
      GamePadTestControl child1child1 = new GamePadTestControl(false);
      GamePadTestControl child1child2 = new GamePadTestControl(false);
      GamePadTestControl child2child1 = new GamePadTestControl(false);
      child1.Children.Add(child1child1);
      child1.Children.Add(child1child2);
      child2.Children.Add(child2child1);

      parent.ProcessButtonPress(Buttons.A);
      Assert.AreEqual(1, child1child1.HeldButtonCount);
      Assert.AreEqual(1, child1child2.HeldButtonCount); // because child 1 returned false
      Assert.AreEqual(0, child2child1.HeldButtonCount); // because its parent affects focus
      Assert.AreEqual(1, child3.HeldButtonCount); // because it doesn't affect focus
    }
Esempio n. 7
0
    public void TestButtonPressWithActivatedControl() {
      Control parent = new Control();
      parent.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
      GamePadTestControl child1 = new GamePadTestControl(true);
      GamePadTestControl child2 = new GamePadTestControl(true);
      child2.Bounds = new UniRectangle(10.0f, 10.0f, 25.0f, 60.0f);

      parent.Children.Add(child1);
      parent.Children.Add(child2);

      parent.ProcessMouseMove(100.0f, 100.0f, 20.0f, 30.0f);
      parent.ProcessMousePress(MouseButtons.Left);

      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(0, child2.HeldButtonCount);
      parent.ProcessButtonPress(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(1, child2.HeldButtonCount); // Because child 1 was activated
      parent.ProcessButtonRelease(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(0, child2.HeldButtonCount);
    }
Esempio n. 8
0
    public void TestButtonPressWithFocusedControl() {
      Screen screen = new Screen(100.0f, 100.0f);
      GamePadTestControl child1 = new GamePadTestControl();
      GamePadTestControl child2 = new GamePadTestControl();
      screen.Desktop.Children.Add(child1);
      screen.Desktop.Children.Add(child2);

      screen.FocusedControl = child2;

      screen.InjectButtonPress(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(1, child2.HeldButtonCount);
      screen.InjectButtonRelease(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(0, child2.HeldButtonCount);
    }
Esempio n. 9
0
    public void TestButtonPressWithActivatedControl() {
      Screen screen = new Screen(100.0f, 100.0f);
      GamePadTestControl child1 = new GamePadTestControl();
      GamePadTestControl child2 = new GamePadTestControl();
      child2.Bounds = new UniRectangle(10.0f, 10.0f, 80.0f, 80.0f);
      screen.Desktop.Children.Add(child1);
      screen.Desktop.Children.Add(child2);

      // Click on child 2
      screen.InjectMouseMove(50.0f, 50.0f);
      screen.InjectMousePress(MouseButtons.Left);

      // Now child 2 should be receiving the input instead of child 1
      screen.InjectButtonPress(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(1, child2.HeldButtonCount);
      screen.InjectButtonRelease(Buttons.A);
      Assert.AreEqual(0, child1.HeldButtonCount);
      Assert.AreEqual(0, child2.HeldButtonCount);
    }
Esempio n. 10
0
    public void TestInjectButtonPress() {
      Screen screen = new Screen();
      GamePadTestControl control = new GamePadTestControl();
      screen.Desktop.Children.Add(control);

      screen.InjectButtonPress(Buttons.A);
      Assert.AreEqual(1, control.HeldButtonCount);
    }