2014-06-29 03:14:40 +00:00
|
|
|
|
using System.Collections.Generic;
|
2014-06-22 13:58:12 +00:00
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
|
|
|
|
{
|
|
|
|
|
public class PadSchema
|
|
|
|
|
{
|
|
|
|
|
public enum PadInputType
|
|
|
|
|
{
|
|
|
|
|
Boolean, // A single on/off button
|
2014-06-22 21:50:27 +00:00
|
|
|
|
AnalogStick, // An analog stick X,Y Pair
|
2014-06-22 13:58:12 +00:00
|
|
|
|
FloatSingle, // A single analog button (pressure sensitive button for instance)
|
2014-12-19 03:24:48 +00:00
|
|
|
|
TargetedPair, // A X,Y pair intended to be a screen cooridnate (for zappers, mouse, stylus, etc)
|
|
|
|
|
DiscManager
|
2014-06-22 13:58:12 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Default size of the pad
|
|
|
|
|
public Size DefaultSize { get; set; }
|
2014-06-24 23:32:30 +00:00
|
|
|
|
public Size? MaxSize { get; set; }
|
2014-06-22 13:58:12 +00:00
|
|
|
|
public bool IsConsole { get; set; }
|
|
|
|
|
public IEnumerable<ButtonScema> Buttons { get; set; }
|
2014-06-24 23:32:30 +00:00
|
|
|
|
public string DisplayName { get; set; } // The name of the pad itself, presumably will be displayed by the given pad time if supplied
|
2014-06-22 13:58:12 +00:00
|
|
|
|
|
|
|
|
|
public class ButtonScema
|
|
|
|
|
{
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
public string DisplayName { get; set; }
|
|
|
|
|
public PadInputType Type { get; set; }
|
|
|
|
|
public Point Location { get; set; }
|
|
|
|
|
public Bitmap Icon { get; set; }
|
2014-06-22 21:50:27 +00:00
|
|
|
|
public Size TargetSize { get; set; } // Specifically for TargetedPair, specifies the screen size
|
2014-07-04 15:12:14 +00:00
|
|
|
|
public string[] SecondaryNames { get; set; } // Any other buttons necessary to operate (such as the Y axis)
|
2014-06-24 12:58:08 +00:00
|
|
|
|
public int MaxValue { get; set; } // For non-boolean values, specifies the maximum value the button allows
|
2015-07-20 02:45:51 +00:00
|
|
|
|
public int MidValue { get; set; } // For non-boolean values, specifies the mid (zero) value for the button
|
2014-12-16 03:15:27 +00:00
|
|
|
|
public int MinValue { get; set; } // For non-boolean values, specifies the minimum value the button allows
|
2015-07-20 02:45:51 +00:00
|
|
|
|
public int MaxValueSec { get; set; }
|
|
|
|
|
public int MidValueSec { get; set; }
|
|
|
|
|
public int MinValueSec { get; set; }
|
2014-12-19 03:24:48 +00:00
|
|
|
|
public object OwnerEmulator { get; set; }
|
2014-06-22 13:58:12 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|