VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/dinputd.h

最後變更 在這個檔案是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 9.6 KB
 
1/*
2 * Copyright (C) the Wine project
3 *
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.
8 *
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.
13 *
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
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28#ifndef __DINPUTD_INCLUDED__
29#define __DINPUTD_INCLUDED__
30
31#define COM_NO_WINDOWS_H
32#include <objbase.h>
33
34#ifndef DIRECTINPUT_VERSION
35#define DIRECTINPUT_VERSION 0x0800
36#endif
37
38DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xEB0D7DFA,0x1990,0x4F27,0xB4,0xD6,0xED,0xF2,0xEE,0xC4,0xA4,0x4C);
39
40typedef struct IDirectInputJoyConfig8 *LPDIRECTINPUTJOYCONFIG8;
41
42
43typedef BOOL (CALLBACK *LPDIJOYTYPECALLBACK)(LPCWSTR, LPVOID);
44
45#define MAX_JOYSTRING 256
46#ifndef MAX_JOYSTICKOEMVXDNAME
47#define MAX_JOYSTICKOEMVXDNAME 260
48#endif
49
50#define JOY_POV_NUMDIRS 4
51#define JOY_POVVAL_FORWARD 0
52#define JOY_POVVAL_BACKWARD 1
53#define JOY_POVVAL_LEFT 2
54#define JOY_POVVAL_RIGHT 3
55
56#define DIERR_NOMOREITEMS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, ERROR_NO_MORE_ITEMS)
57
58typedef struct joypos_tag
59{
60 DWORD dwX;
61 DWORD dwY;
62 DWORD dwZ;
63 DWORD dwR;
64 DWORD dwU;
65 DWORD dwV;
66} JOYPOS, *LPJOYPOS;
67
68typedef struct joyrange_tag
69{
70 JOYPOS jpMin;
71 JOYPOS jpMax;
72 JOYPOS jpCenter;
73} JOYRANGE, *LPJOYRANGE;
74
75typedef struct joyreguservalues_tag
76{
77 DWORD dwTimeOut;
78 JOYRANGE jrvRanges;
79 JOYPOS jpDeadZone;
80} JOYREGUSERVALUES, *LPJOYREGUSERVALUES;
81
82typedef struct joyreghwsettings_tag
83{
84 DWORD dwFlags;
85 DWORD dwNumButtons;
86} JOYREGHWSETTINGS, *LPJOYHWSETTINGS;
87
88typedef struct joyreghwvalues_tag
89{
90 JOYRANGE jrvHardware;
91 DWORD dwPOVValues[JOY_POV_NUMDIRS];
92 DWORD dwCalFlags;
93} JOYREGHWVALUES, *LPJOYREGHWVALUES;
94
95typedef struct joyreghwconfig_tag
96{
97 JOYREGHWSETTINGS hws;
98 DWORD dwUsageSettings;
99 JOYREGHWVALUES hwv;
100 DWORD dwType;
101 DWORD dwReserved;
102} JOYREGHWCONFIG, *LPJOYREGHWCONFIG;
103
104typedef struct DIJOYTYPEINFO_DX5
105{
106 DWORD dwSize;
107 JOYREGHWSETTINGS hws;
108 CLSID clsidConfig;
109 WCHAR wszDisplayName[MAX_JOYSTRING];
110 WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
111} DIJOYTYPEINFO_DX5, *LPDIJOYTYPEINFO_DX5;
112typedef const DIJOYTYPEINFO_DX5 *LPCDIJOYTYPEINFO_DX5;
113
114typedef struct DIJOYTYPEINFO_DX6
115{
116 DWORD dwSize;
117 JOYREGHWSETTINGS hws;
118 CLSID clsidConfig;
119 WCHAR wszDisplayName[MAX_JOYSTRING];
120 WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
121 WCHAR wszHardwareId[MAX_JOYSTRING];
122 DWORD dwFlags1;
123} DIJOYTYPEINFO_DX6, *LPDIJOYTYPEINFO_DX6;
124typedef const DIJOYTYPEINFO_DX6 *LPCDIJOYTYPEINFO_DX6;
125
126typedef struct DIJOYTYPEINFO
127{
128 DWORD dwSize;
129 JOYREGHWSETTINGS hws;
130 CLSID clsidConfig;
131 WCHAR wszDisplayName[MAX_JOYSTRING];
132 WCHAR wszCallout[MAX_JOYSTICKOEMVXDNAME];
133 WCHAR wszHardwareId[MAX_JOYSTRING];
134 DWORD dwFlags1;
135 DWORD dwFlags2;
136 WCHAR wszMapFile[MAX_JOYSTRING];
137} DIJOYTYPEINFO, *LPDIJOYTYPEINFO;
138typedef const DIJOYTYPEINFO *LPCDIJOYTYPEINFO;
139#define DIJC_GUIDINSTANCE 0x00000001
140#define DIJC_REGHWCONFIGTYPE 0x00000002
141#define DIJC_GAIN 0x00000004
142#define DIJC_CALLOUT 0x00000008
143#define DIJC_WDMGAMEPORT 0x00000010
144
145typedef struct DIJOYCONFIG_DX5
146{
147 DWORD dwSize;
148 GUID guidInstance;
149 JOYREGHWCONFIG hwc;
150 DWORD dwGain;
151 WCHAR wszType[MAX_JOYSTRING];
152 WCHAR wszCallout[MAX_JOYSTRING];
153} DIJOYCONFIG_DX5, *LPDIJOYCONFIG_DX5;
154typedef const DIJOYCONFIG_DX5 *LPCDIJOYCONFIG_DX5;
155
156typedef struct DIJOYCONFIG
157{
158 DWORD dwSize;
159 GUID guidInstance;
160 JOYREGHWCONFIG hwc;
161 DWORD dwGain;
162 WCHAR wszType[MAX_JOYSTRING];
163 WCHAR wszCallout[MAX_JOYSTRING];
164 GUID guidGameport;
165} DIJOYCONFIG, *LPDIJOYCONFIG;
166typedef const DIJOYCONFIG *LPCDIJOYCONFIG;
167
168typedef struct DIJOYUSERVALUES
169{
170 DWORD dwSize;
171 JOYREGUSERVALUES ruv;
172 WCHAR wszGlobalDriver[MAX_JOYSTRING];
173 WCHAR wszGameportEmulator[MAX_JOYSTRING];
174} DIJOYUSERVALUES, *LPDIJOYUSERVALUES;
175typedef const DIJOYUSERVALUES *LPCDIJOYUSERVALUES;
176
177
178/*****************************************************************************
179 * IDirectInputJoyConfig8 interface
180 */
181#define INTERFACE IDirectInputJoyConfig8
182DECLARE_INTERFACE_(IDirectInputJoyConfig8, IUnknown)
183{
184 /*** IUnknown methods ***/
185 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
186 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
187 STDMETHOD_(ULONG,Release)(THIS) PURE;
188 /*** IDirectInputJoyConfig8 methods ***/
189 STDMETHOD(Acquire)(THIS) PURE;
190 STDMETHOD(Unacquire)(THIS) PURE;
191 STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;
192 STDMETHOD(SendNotify)(THIS) PURE;
193 STDMETHOD(EnumTypes)(THIS_ LPDIJOYTYPECALLBACK, LPVOID) PURE;
194 STDMETHOD(GetTypeInfo)(THIS_ LPCWSTR, LPDIJOYTYPEINFO, DWORD) PURE;
195 STDMETHOD(SetTypeInfo)(THIS_ LPCWSTR, LPCDIJOYTYPEINFO, DWORD, LPWSTR) PURE;
196 STDMETHOD(DeleteType)(THIS_ LPCWSTR) PURE;
197 STDMETHOD(GetConfig)(THIS_ UINT, LPDIJOYCONFIG, DWORD) PURE;
198 STDMETHOD(SetConfig)(THIS_ UINT, LPCDIJOYCONFIG, DWORD) PURE;
199 STDMETHOD(DeleteConfig)(THIS_ UINT) PURE;
200 STDMETHOD(GetUserValues)(THIS_ LPDIJOYUSERVALUES, DWORD) PURE;
201 STDMETHOD(SetUserValues)(THIS_ LPCDIJOYUSERVALUES, DWORD) PURE;
202 STDMETHOD(AddNewHardware)(THIS_ HWND, REFGUID) PURE;
203 STDMETHOD(OpenTypeKey)(THIS_ LPCWSTR, DWORD, PHKEY) PURE;
204 STDMETHOD(OpenAppStatusKey)(THIS_ PHKEY) PURE;
205};
206#undef INTERFACE
207
208#if !defined(__cplusplus) || defined(CINTERFACE)
209/*** IUnknown methods ***/
210#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
211#define IDirectInputJoyConfig8_AddRef(p) (p)->lpVtbl->AddRef(p)
212#define IDirectInputJoyConfig8_Release(p) (p)->lpVtbl->Release(p)
213/*** IDirectInputJoyConfig8 methods ***/
214#define IDirectInputJoyConfig8_Acquire(p) (p)->lpVtbl->Acquire(p)
215#define IDirectInputJoyConfig8_Unacquire(p) (p)->lpVtbl->Unacquire(p)
216#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
217#define IDirectInputJoyConfig8_SendNotify(p) (p)->lpVtbl->SendNotify(p)
218#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->lpVtbl->EnumTypes(p,a,b)
219#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
220#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->lpVtbl->SetTypeInfo(p,a,b,c,d)
221#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->lpVtbl->DeleteType(p,a)
222#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->lpVtbl->GetConfig(p,a,b,c)
223#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->lpVtbl->SetConfig(p,a,b,c)
224#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->lpVtbl->DeleteConfig(p,a)
225#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->lpVtbl->GetUserValues(p,a,b)
226#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->lpVtbl->SetUserValues(p,a,b)
227#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->lpVtbl->AddNewHardware(p,a,b)
228#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->lpVtbl->OpenTypeKey(p,a,b,c)
229#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->lpVtbl->OpenAppStatusKey(p,a)
230#else
231/*** IUnknown methods ***/
232#define IDirectInputJoyConfig8_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
233#define IDirectInputJoyConfig8_AddRef(p) (p)->AddRef()
234#define IDirectInputJoyConfig8_Release(p) (p)->Release()
235/*** IDirectInputJoyConfig8 methods ***/
236#define IDirectInputJoyConfig8_Acquire(p) (p)->Acquire()
237#define IDirectInputJoyConfig8_Unacquire(p) (p)->Unacquire()
238#define IDirectInputJoyConfig8_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
239#define IDirectInputJoyConfig8_SendNotify(p) (p)->SendNotify()
240#define IDirectInputJoyConfig8_EnumTypes(p,a,b) (p)->EnumTypes(a,b)
241#define IDirectInputJoyConfig8_GetTypeInfo(p,a,b,c) (p)->GetTypeInfo(a,b,c)
242#define IDirectInputJoyConfig8_SetTypeInfo(p,a,b,c,d) (p)->SetTypeInfo(a,b,c,d)
243#define IDirectInputJoyConfig8_DeleteType(p,a) (p)->DeleteType(a)
244#define IDirectInputJoyConfig8_GetConfig(p,a,b,c) (p)->GetConfig(a,b,c)
245#define IDirectInputJoyConfig8_SetConfig(p,a,b,c) (p)->SetConfig(a,b,c)
246#define IDirectInputJoyConfig8_DeleteConfig(p,a) (p)->DeleteConfig(a)
247#define IDirectInputJoyConfig8_GetUserValues(p,a,b) (p)->GetUserValues(a,b)
248#define IDirectInputJoyConfig8_SetUserValues(p,a,b) (p)->SetUserValues(a,b)
249#define IDirectInputJoyConfig8_AddNewHardware(p,a,b) (p)->AddNewHardware(a,b)
250#define IDirectInputJoyConfig8_OpenTypeKey(p,a,b,c) (p)->OpenTypeKey(a,b,c)
251#define IDirectInputJoyConfig8_OpenAppStatusKey(p,a) (p)->OpenAppStatusKey(a)
252#endif
253
254#endif /* __DINPUTD_INCLUDED__ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette