Commit 4793ce74 authored by Rémi Bernon's avatar Rémi Bernon Committed by Alexandre Julliard

include: Add Windows.Gaming.Input.ForceFeedback.ConditionForceEffect runtimeclass declaration.

parent cc6358b3
......@@ -32,11 +32,15 @@ namespace Windows.Gaming.Input.ForceFeedback {
typedef enum ForceFeedbackEffectState ForceFeedbackEffectState;
typedef enum ForceFeedbackLoadEffectResult ForceFeedbackLoadEffectResult;
typedef enum PeriodicForceEffectKind PeriodicForceEffectKind;
typedef enum ConditionForceEffectKind ConditionForceEffectKind;
interface IForceFeedbackEffect;
interface IPeriodicForceEffect;
interface IPeriodicForceEffectFactory;
interface IConditionForceEffect;
interface IConditionForceEffectFactory;
runtimeclass ForceFeedbackMotor;
runtimeclass PeriodicForceEffect;
runtimeclass ConditionForceEffect;
declare {
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Gaming.Input.ForceFeedback.ForceFeedbackLoadEffectResult>;
......@@ -86,6 +90,15 @@ namespace Windows.Gaming.Input.ForceFeedback {
SawtoothWaveDown = 4,
};
[contract(Windows.Foundation.UniversalApiContract, 3.0)]
enum ConditionForceEffectKind
{
Spring = 0,
Damper = 1,
Inertia = 2,
Friction = 3,
};
[
contract(Windows.Foundation.UniversalApiContract, 3.0),
uuid(a17fba0c-2ae4-48c2-8063-eabd0777cb89)
......@@ -154,6 +167,31 @@ namespace Windows.Gaming.Input.ForceFeedback {
[
contract(Windows.Foundation.UniversalApiContract, 3.0),
exclusiveto(Windows.Gaming.Input.ForceFeedback.ConditionForceEffect),
uuid(32d1ea68-3695-4e69-85c0-cd1944189140)
]
interface IConditionForceEffect : IInspectable
requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect
{
[propget] HRESULT Kind([out, retval] Windows.Gaming.Input.ForceFeedback.ConditionForceEffectKind *value);
HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 direction, [in] FLOAT positive_coeff,
[in] FLOAT negative_coeff, [in] FLOAT max_positive_magnitude, [in] FLOAT max_negative_magnitude,
[in] FLOAT deadzone, [in] FLOAT bias);
}
[
contract(Windows.Foundation.UniversalApiContract, 3.0),
exclusiveto(Windows.Gaming.Input.ForceFeedback.ConditionForceEffect),
uuid(91a99264-1810-4eb6-a773-bfd3b8cddbab)
]
interface IConditionForceEffectFactory : IInspectable
{
HRESULT CreateInstance([in] Windows.Gaming.Input.ForceFeedback.ConditionForceEffectKind kind,
[out, retval] Windows.Gaming.Input.ForceFeedback.ConditionForceEffect **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 3.0),
marshaling_behavior(agile),
threading(both)
]
......@@ -173,4 +211,16 @@ namespace Windows.Gaming.Input.ForceFeedback {
[default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect;
interface Windows.Gaming.Input.ForceFeedback.IPeriodicForceEffect;
}
[
activatable(Windows.Gaming.Input.ForceFeedback.IConditionForceEffectFactory, Windows.Foundation.UniversalApiContract, 3.0),
contract(Windows.Foundation.UniversalApiContract, 3.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass ConditionForceEffect
{
[default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect;
interface Windows.Gaming.Input.ForceFeedback.IConditionForceEffect;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment