public TextBox(Vector2 position, int width, int height, string text, SpriteFont font, Control alignedTo, Color color) : base(position, width, height, alignedTo, new Dictionary <string, Texture2D> { { "image", DrawUtilities.GetColoredImage(color) } }) { typeable = new Typeable(text, font, position); this.CanBeFocused = true; }
public TextBox(Vector2 position, int width, int height, string text, SpriteFont font, Control alignedTo, Texture2D image) : base(position, width, height, alignedTo, new Dictionary <string, Texture2D> { { "image", image } }) { typeable = new Typeable(text, font, position); this.CanBeFocused = true; }
private void TestKeyCodeConversion(char character, Typeable key) { var typeable = Keyboard.GetActiveKeyboard().GetTypeable(character); Assert.AreEqual(key.Key, typeable.Key, "Key code doesn't match for char: " + character); Assert.IsNotNull(typeable.Modifiers, "Modifiers returned null for char: " + character); if (key.Modifiers != null && key.Modifiers.Length > 0) { foreach (var modifier in key.Modifiers) { Assert.IsTrue(typeable.Modifiers.Contains(modifier), "Modifiers list for char '" + character + "' is missing modifier: " + modifier.ToString()); } Assert.AreEqual(key.Modifiers.Length, typeable.Modifiers.Length, "Modifier list count doesn't match for char: " + character); } }
public void Keyboard_KeyCodeConversion() { TestKeyCodeConversion('A', new Typeable(VirtualKeyCode.VK_A, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); TestKeyCodeConversion('z', new Typeable(VirtualKeyCode.VK_Z)); TestKeyCodeConversion('3', new Typeable(VirtualKeyCode.VK_3)); TestKeyCodeConversion('\r', new Typeable(VirtualKeyCode.RETURN)); // NOTE: everything below this line depends on the keyboard layout and may fail on anything other than a standard US keyboard layout (not tested yet) // TODO: maybe explicitly set keyboard layout to make sure tests using extended key codes pass TestKeyCodeConversion('%', new Typeable(VirtualKeyCode.VK_5, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); TestKeyCodeConversion(':', new Typeable(VirtualKeyCode.OEM_1, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); TestKeyCodeConversion(';', new Typeable(VirtualKeyCode.OEM_1)); TestKeyCodeConversion('/', new Typeable(VirtualKeyCode.OEM_2)); TestKeyCodeConversion('?', new Typeable(VirtualKeyCode.OEM_2, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); TestKeyCodeConversion('\\', new Typeable(VirtualKeyCode.OEM_5)); TestKeyCodeConversion('|', new Typeable(VirtualKeyCode.OEM_5, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); TestKeyCodeConversion('\'', new Typeable(VirtualKeyCode.OEM_7)); TestKeyCodeConversion('"', new Typeable(VirtualKeyCode.OEM_7, new VirtualKeyCode[] { VirtualKeyCode.SHIFT })); var k = new Typeable(VirtualKeyCode.VK_T, new VirtualKeyCode[] { VirtualKeyCode.SHIFT, VirtualKeyCode.CONTROL }); Assert.IsNotNull(k); }