Skip to content
Browse files

[Input] Do not use a bitfield for hat position

Using a bitfield does not save storage space in this case, and also
stops pattern matching from working (switch() statement in C# or match
… with expressions in F#.)
  • Loading branch information...
1 parent a4ce218 commit 0cacdf6ae4f26181680d628d4bd1de6a6c72f9f7 @thefiddler thefiddler committed Jan 31, 2014
Showing with 36 additions and 10 deletions.
  1. +36 −10 Source/OpenTK/Input/HatPosition.cs
View
46 Source/OpenTK/Input/HatPosition.cs
@@ -34,18 +34,44 @@ namespace OpenTK.Input
/// <summary>
/// Enumerates discrete positions for a joystick hat.
/// </summary>
- [Flags]
public enum HatPosition : byte
{
- Centered = 0x00,
- Up = 0x01,
- Right = 0x02,
- Down = 0x03,
- Left = 0x04,
- RightUp = Right | Up,
- RightDown = Right | Down,
- LeftUp = Left | Up,
- LeftDown = Left | Down
+ /// <summary>
+ /// The hat is in its centered (neutral) position
+ /// </summary>
+ Centered = 0,
+ /// <summary>
+ /// The hat is in its top position.
+ /// </summary>
+ Up,
+ /// <summary>
+ /// The hat is in its top-right position.
+ /// </summary>
+ UpRight,
+ /// <summary>
+ /// The hat is in its right position.
+ /// </summary>
+ Right,
+ /// <summary>
+ /// The hat is in its bottom-right position.
+ /// </summary>
+ DownRight,
+ /// <summary>
+ /// The hat is in its bottom position.
+ /// </summary>
+ Down,
+ /// <summary>
+ /// The hat is in its bottom-left position.
+ /// </summary>
+ DownLeft,
+ /// <summary>
+ /// The hat is in its left position.
+ /// </summary>
+ Left,
+ /// <summary>
+ /// The hat is in its top-left position.
+ /// </summary>
+ UpLeft,
}
}

0 comments on commit 0cacdf6

Please sign in to comment.
Something went wrong with that request. Please try again.