[PATCH 5/5] include: Add Windows.Gaming.Input.ForceFeedback.RampForce runtimeclass declaration.

Rémi Bernon rbernon at codeweavers.com
Wed Apr 27 01:26:34 CDT 2022


Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
 .../windows.gaming.input.forcefeedback.idl    | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/include/windows.gaming.input.forcefeedback.idl b/include/windows.gaming.input.forcefeedback.idl
index 033cf09cc1f..290d1f62971 100644
--- a/include/windows.gaming.input.forcefeedback.idl
+++ b/include/windows.gaming.input.forcefeedback.idl
@@ -39,10 +39,12 @@ namespace Windows.Gaming.Input.ForceFeedback {
     interface IConditionForceEffect;
     interface IConditionForceEffectFactory;
     interface IConstantForceEffect;
+    interface IRampForceEffect;
     runtimeclass ForceFeedbackMotor;
     runtimeclass PeriodicForceEffect;
     runtimeclass ConditionForceEffect;
     runtimeclass ConstantForceEffect;
+    runtimeclass RampForceEffect;
 
     declare {
         interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Gaming.Input.ForceFeedback.ForceFeedbackLoadEffectResult>;
@@ -207,6 +209,22 @@ namespace Windows.Gaming.Input.ForceFeedback {
                                           [in] Windows.Foundation.TimeSpan release_duration, [in] UINT32 repeat_count);
     }
 
+    [
+        contract(Windows.Foundation.UniversalApiContract, 3.0),
+        exclusiveto(Windows.Gaming.Input.ForceFeedback.RampForceEffect),
+        uuid(f1f81259-1ca6-4080-b56d-b43f3354d052)
+    ]
+    interface IRampForceEffect : IInspectable
+        requires Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect
+    {
+        HRESULT SetParameters([in] Windows.Foundation.Numerics.Vector3 start_vector, [in] Windows.Foundation.Numerics.Vector3 end_vector,
+                              [in] Windows.Foundation.TimeSpan duration);
+        HRESULT SetParametersWithEnvelope([in] Windows.Foundation.Numerics.Vector3 start_vector, [in] Windows.Foundation.Numerics.Vector3 end_vector,
+                                          [in] FLOAT attack_gain, [in] FLOAT sustain_gain, [in] FLOAT release_gain, [in] Windows.Foundation.TimeSpan start_delay,
+                                          [in] Windows.Foundation.TimeSpan attack_duration, [in] Windows.Foundation.TimeSpan sustain_duration,
+                                          [in] Windows.Foundation.TimeSpan release_duration, [in] UINT32 repeat_count);
+    }
+
     [
         contract(Windows.Foundation.UniversalApiContract, 3.0),
         marshaling_behavior(agile),
@@ -252,4 +270,16 @@ namespace Windows.Gaming.Input.ForceFeedback {
         [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect;
         interface Windows.Gaming.Input.ForceFeedback.IConstantForceEffect;
     }
+
+    [
+        activatable(Windows.Foundation.UniversalApiContract, 3.0),
+        contract(Windows.Foundation.UniversalApiContract, 3.0),
+        marshaling_behavior(agile),
+        threading(both)
+    ]
+    runtimeclass RampForceEffect
+    {
+        [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect;
+        interface Windows.Gaming.Input.ForceFeedback.IRampForceEffect;
+    }
 }
-- 
2.35.1




More information about the wine-devel mailing list