include: Add Windows.Gaming.Input.RacingWheel runtimeclass declaration.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
38b140f69c
commit
8421f1ec8b
|
@ -38,9 +38,11 @@ namespace Windows.Gaming.Input {
|
||||||
typedef enum GameControllerButtonLabel GameControllerButtonLabel;
|
typedef enum GameControllerButtonLabel GameControllerButtonLabel;
|
||||||
typedef enum GameControllerSwitchKind GameControllerSwitchKind;
|
typedef enum GameControllerSwitchKind GameControllerSwitchKind;
|
||||||
typedef enum GameControllerSwitchPosition GameControllerSwitchPosition;
|
typedef enum GameControllerSwitchPosition GameControllerSwitchPosition;
|
||||||
|
typedef enum RacingWheelButtons RacingWheelButtons;
|
||||||
typedef struct ArcadeStickReading ArcadeStickReading;
|
typedef struct ArcadeStickReading ArcadeStickReading;
|
||||||
typedef struct GamepadReading GamepadReading;
|
typedef struct GamepadReading GamepadReading;
|
||||||
typedef struct GamepadVibration GamepadVibration;
|
typedef struct GamepadVibration GamepadVibration;
|
||||||
|
typedef struct RacingWheelReading RacingWheelReading;
|
||||||
interface IArcadeStick;
|
interface IArcadeStick;
|
||||||
interface IArcadeStickStatics;
|
interface IArcadeStickStatics;
|
||||||
interface IArcadeStickStatics2;
|
interface IArcadeStickStatics2;
|
||||||
|
@ -50,16 +52,21 @@ namespace Windows.Gaming.Input {
|
||||||
interface IGamepad2;
|
interface IGamepad2;
|
||||||
interface IGamepadStatics;
|
interface IGamepadStatics;
|
||||||
interface IGamepadStatics2;
|
interface IGamepadStatics2;
|
||||||
|
interface IRacingWheel;
|
||||||
|
interface IRacingWheelStatics;
|
||||||
|
interface IRacingWheelStatics2;
|
||||||
interface IRawGameController;
|
interface IRawGameController;
|
||||||
interface IRawGameController2;
|
interface IRawGameController2;
|
||||||
runtimeclass ArcadeStick;
|
runtimeclass ArcadeStick;
|
||||||
runtimeclass Gamepad;
|
runtimeclass Gamepad;
|
||||||
runtimeclass Headset;
|
runtimeclass Headset;
|
||||||
|
runtimeclass RacingWheel;
|
||||||
runtimeclass RawGameController;
|
runtimeclass RawGameController;
|
||||||
|
|
||||||
declare {
|
declare {
|
||||||
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.ArcadeStick *>;
|
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.ArcadeStick *>;
|
||||||
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.Gamepad *>;
|
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.Gamepad *>;
|
||||||
|
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.RacingWheel *>;
|
||||||
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.RawGameController *>;
|
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.RawGameController *>;
|
||||||
interface Windows.Foundation.TypedEventHandler<Windows.Gaming.Input.IGameController *, Windows.Gaming.Input.Headset *>;
|
interface Windows.Foundation.TypedEventHandler<Windows.Gaming.Input.IGameController *, Windows.Gaming.Input.Headset *>;
|
||||||
interface Windows.Foundation.TypedEventHandler<Windows.Gaming.Input.IGameController *, Windows.System.UserChangedEventArgs *>;
|
interface Windows.Foundation.TypedEventHandler<Windows.Gaming.Input.IGameController *, Windows.System.UserChangedEventArgs *>;
|
||||||
|
@ -70,6 +77,10 @@ namespace Windows.Gaming.Input {
|
||||||
interface Windows.Foundation.Collections.IIterable<Windows.Gaming.Input.Gamepad *>;
|
interface Windows.Foundation.Collections.IIterable<Windows.Gaming.Input.Gamepad *>;
|
||||||
interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.Gamepad *>;
|
interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.Gamepad *>;
|
||||||
interface Windows.Foundation.Collections.IVector<Windows.Gaming.Input.Gamepad *>;
|
interface Windows.Foundation.Collections.IVector<Windows.Gaming.Input.Gamepad *>;
|
||||||
|
interface Windows.Foundation.Collections.IIterator<Windows.Gaming.Input.RacingWheel *>;
|
||||||
|
interface Windows.Foundation.Collections.IIterable<Windows.Gaming.Input.RacingWheel *>;
|
||||||
|
interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.RacingWheel *>;
|
||||||
|
interface Windows.Foundation.Collections.IVector<Windows.Gaming.Input.RacingWheel *>;
|
||||||
interface Windows.Foundation.Collections.IIterator<Windows.Gaming.Input.RawGameController *>;
|
interface Windows.Foundation.Collections.IIterator<Windows.Gaming.Input.RawGameController *>;
|
||||||
interface Windows.Foundation.Collections.IIterable<Windows.Gaming.Input.RawGameController *>;
|
interface Windows.Foundation.Collections.IIterable<Windows.Gaming.Input.RawGameController *>;
|
||||||
interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.RawGameController *>;
|
interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.RawGameController *>;
|
||||||
|
@ -224,6 +235,37 @@ namespace Windows.Gaming.Input {
|
||||||
UpLeft = 8
|
UpLeft = 8
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
flags
|
||||||
|
]
|
||||||
|
enum RacingWheelButtons
|
||||||
|
{
|
||||||
|
None = 0x0,
|
||||||
|
PreviousGear = 0x1,
|
||||||
|
NextGear = 0x2,
|
||||||
|
DPadUp = 0x4,
|
||||||
|
DPadDown = 0x8,
|
||||||
|
DPadLeft = 0x10,
|
||||||
|
DPadRight = 0x20,
|
||||||
|
Button1 = 0x40,
|
||||||
|
Button2 = 0x80,
|
||||||
|
Button3 = 0x100,
|
||||||
|
Button4 = 0x200,
|
||||||
|
Button5 = 0x400,
|
||||||
|
Button6 = 0x800,
|
||||||
|
Button7 = 0x1000,
|
||||||
|
Button8 = 0x2000,
|
||||||
|
Button9 = 0x4000,
|
||||||
|
Button10 = 0x8000,
|
||||||
|
Button11 = 0x10000,
|
||||||
|
Button12 = 0x20000,
|
||||||
|
Button13 = 0x40000,
|
||||||
|
Button14 = 0x80000,
|
||||||
|
Button15 = 0x100000,
|
||||||
|
Button16 = 0x200000,
|
||||||
|
};
|
||||||
|
|
||||||
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||||
struct ArcadeStickReading
|
struct ArcadeStickReading
|
||||||
{
|
{
|
||||||
|
@ -253,6 +295,19 @@ namespace Windows.Gaming.Input {
|
||||||
DOUBLE RightTrigger;
|
DOUBLE RightTrigger;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||||
|
struct RacingWheelReading
|
||||||
|
{
|
||||||
|
UINT64 Timestamp;
|
||||||
|
Windows.Gaming.Input.RacingWheelButtons Buttons;
|
||||||
|
INT32 PatternShifterGear;
|
||||||
|
DOUBLE Wheel;
|
||||||
|
DOUBLE Throttle;
|
||||||
|
DOUBLE Brake;
|
||||||
|
DOUBLE Clutch;
|
||||||
|
DOUBLE Handbrake;
|
||||||
|
};
|
||||||
|
|
||||||
[
|
[
|
||||||
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
exclusiveto(Windows.Gaming.Input.ArcadeStick),
|
exclusiveto(Windows.Gaming.Input.ArcadeStick),
|
||||||
|
@ -327,6 +382,50 @@ namespace Windows.Gaming.Input {
|
||||||
HRESULT GetCurrentReading([out, retval] Windows.Gaming.Input.GamepadReading *value);
|
HRESULT GetCurrentReading([out, retval] Windows.Gaming.Input.GamepadReading *value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
exclusiveto(Windows.Gaming.Input.RacingWheel),
|
||||||
|
uuid(f546656f-e106-4c82-a90f-554012904b85)
|
||||||
|
]
|
||||||
|
interface IRacingWheel : IInspectable
|
||||||
|
requires Windows.Gaming.Input.IGameController
|
||||||
|
{
|
||||||
|
[propget] HRESULT HasClutch([out, retval] boolean *value);
|
||||||
|
[propget] HRESULT HasHandbrake([out, retval] boolean *value);
|
||||||
|
[propget] HRESULT HasPatternShifter([out, retval] boolean *value);
|
||||||
|
[propget] HRESULT MaxPatternShifterGear([out, retval] INT32 *value);
|
||||||
|
[propget] HRESULT MaxWheelAngle([out, retval] DOUBLE *value);
|
||||||
|
[propget] HRESULT WheelMotor([out, retval] Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor **value);
|
||||||
|
HRESULT GetButtonLabel([in] Windows.Gaming.Input.RacingWheelButtons button, [out, retval] Windows.Gaming.Input.GameControllerButtonLabel *value);
|
||||||
|
HRESULT GetCurrentReading([out, retval] Windows.Gaming.Input.RacingWheelReading *value);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
exclusiveto(Windows.Gaming.Input.RacingWheel),
|
||||||
|
uuid(3ac12cd5-581b-4936-9f94-69f1e6514c7d)
|
||||||
|
]
|
||||||
|
interface IRacingWheelStatics : IInspectable
|
||||||
|
{
|
||||||
|
[eventadd] HRESULT RacingWheelAdded([in] Windows.Foundation.EventHandler<RacingWheel *> *value, [out, retval] EventRegistrationToken *token);
|
||||||
|
[eventremove] HRESULT RacingWheelAdded([in] EventRegistrationToken token);
|
||||||
|
[eventadd] HRESULT RacingWheelRemoved([in] Windows.Foundation.EventHandler<RacingWheel *> *value, [out, retval] EventRegistrationToken *token);
|
||||||
|
[eventremove] HRESULT RacingWheelRemoved([in] EventRegistrationToken token);
|
||||||
|
[propget] HRESULT RacingWheels([out, retval] Windows.Foundation.Collections.IVectorView<RacingWheel *> **value);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
|
exclusiveto(Windows.Gaming.Input.RacingWheel),
|
||||||
|
uuid(e666bcaa-edfd-4323-a9f6-3c384048d1ed)
|
||||||
|
]
|
||||||
|
interface IRacingWheelStatics2 : IInspectable
|
||||||
|
requires Windows.Gaming.Input.IRacingWheelStatics
|
||||||
|
{
|
||||||
|
HRESULT FromGameController([in] Windows.Gaming.Input.IGameController *controller,
|
||||||
|
[out, retval] Windows.Gaming.Input.RacingWheel **value);
|
||||||
|
}
|
||||||
|
|
||||||
[
|
[
|
||||||
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
exclusiveto(Windows.Gaming.Input.RawGameController),
|
exclusiveto(Windows.Gaming.Input.RawGameController),
|
||||||
|
@ -464,6 +563,20 @@ namespace Windows.Gaming.Input {
|
||||||
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo;
|
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
contract(Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
marshaling_behavior(agile),
|
||||||
|
static(Windows.Gaming.Input.IRacingWheelStatics, Windows.Foundation.UniversalApiContract, 3.0),
|
||||||
|
static(Windows.Gaming.Input.IRacingWheelStatics2, Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
|
threading(both)
|
||||||
|
]
|
||||||
|
runtimeclass RacingWheel
|
||||||
|
{
|
||||||
|
[default] interface Windows.Gaming.Input.IRacingWheel;
|
||||||
|
interface Windows.Gaming.Input.IGameController;
|
||||||
|
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo;
|
||||||
|
}
|
||||||
|
|
||||||
[
|
[
|
||||||
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
||||||
marshaling_behavior(agile),
|
marshaling_behavior(agile),
|
||||||
|
|
Loading…
Reference in New Issue