winex11.drv: Map coordinates before calling send_mouse_input.
[wine/zf.git] / include / windows.gaming.input.forcefeedback.idl
blobda153a3285a3728a9e54b57a0f4e075367833668
1 /*
2 * Copyright 2021 RĂ©mi Bernon for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "asyncinfo.idl";
25 import "eventtoken.idl";
26 import "windowscontracts.idl";
27 import "windows.foundation.idl";
29 namespace Windows {
30 namespace Gaming {
31 namespace Input {
32 namespace ForceFeedback {
33 typedef enum ForceFeedbackEffectAxes ForceFeedbackEffectAxes;
34 typedef enum ForceFeedbackLoadEffectResult ForceFeedbackLoadEffectResult;
35 interface IForceFeedbackEffect;
36 runtimeclass ForceFeedbackMotor;
42 namespace Windows {
43 namespace Gaming {
44 namespace Input {
45 namespace ForceFeedback {
46 declare {
47 interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Gaming.Input.ForceFeedback.ForceFeedbackLoadEffectResult>;
48 interface Windows.Foundation.IAsyncOperation<Windows.Gaming.Input.ForceFeedback.ForceFeedbackLoadEffectResult>;
49 interface Windows.Foundation.Collections.IVectorView<Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor*>;
56 namespace Windows {
57 namespace Gaming {
58 namespace Input {
59 namespace ForceFeedback {
61 contract(Windows.Foundation.UniversalApiContract, 3.0),
62 flags
64 enum ForceFeedbackEffectAxes
66 None = 0x0,
67 X = 0x1,
68 Y = 0x2,
69 Z = 0x4
72 [contract(Windows.Foundation.UniversalApiContract, 3.0)]
73 enum ForceFeedbackLoadEffectResult
75 Succeeded = 0,
76 EffectStorageFull = 1,
77 EffectNotSupported = 2
81 contract(Windows.Foundation.UniversalApiContract, 3.0),
82 exclusiveto(Windows.Gaming.Input.ForceFeedback.ForceFeedbackMotor),
83 uuid(8d3d417c-a5ea-4516-8026-2b00f74ef6e5)
85 interface IForceFeedbackMotor : IInspectable
87 [propget] HRESULT AreEffectsPaused([out, retval] boolean* value);
88 [propget] HRESULT MasterGain([out, retval] DOUBLE* value);
89 [propput] HRESULT MasterGain([in] DOUBLE value);
90 [propget] HRESULT IsEnabled([out, retval] boolean* value);
91 [propget] HRESULT SupportedAxes([out, retval] Windows.Gaming.Input.ForceFeedback.ForceFeedbackEffectAxes* value);
92 HRESULT LoadEffectAsync([in] Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect* effect,
93 [out, retval] Windows.Foundation.IAsyncOperation<Windows.Gaming.Input.ForceFeedback.ForceFeedbackLoadEffectResult>** async_op);
94 HRESULT PauseAllEffects();
95 HRESULT ResumeAllEffects();
96 HRESULT StopAllEffects();
97 HRESULT TryDisableAsync([out, retval] Windows.Foundation.IAsyncOperation<boolean>** async_op);
98 HRESULT TryEnableAsync([out, retval] Windows.Foundation.IAsyncOperation<boolean>** async_op);
99 HRESULT TryResetAsync([out, retval] Windows.Foundation.IAsyncOperation<boolean>** async_op);
100 HRESULT TryUnloadEffectAsync([in] Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect* effect,
101 [out, retval] Windows.Foundation.IAsyncOperation<boolean>** async_op);
105 contract(Windows.Foundation.UniversalApiContract, 3.0),
106 marshaling_behavior(agile),
107 threading(both)
109 runtimeclass ForceFeedbackMotor
111 [default] interface Windows.Gaming.Input.ForceFeedback.IForceFeedbackMotor;