• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 
3 	directx/dinput_private.h - DirectInput DATAFORMATs Definitions
4 
5 	Written by Filip Navara <xnavara@volny.cz>
6 
7 	This library is distributed in the hope that it will be useful,
8 	but WITHOUT ANY WARRANTY; without even the implied warranty of
9 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 
11 */
12 
13 #ifndef _DINPUT_PRIVATE_H
14 #define _DINPUT_PRIVATE_H
15 
16 #include <windows.h>
17 
18 #define DIDOI_FFACTUATOR	0x00000001
19 #define DIDOI_FFEFFECTTRIGGER	0x00000002
20 #define DIDOI_POLLED	0x00008000
21 #define DIDOI_ASPECTPOSITION	0x00000100
22 #define DIDOI_ASPECTVELOCITY	0x00000200
23 #define DIDOI_ASPECTACCEL	0x00000300
24 #define DIDOI_ASPECTFORCE	0x00000400
25 #define DIDOI_ASPECTMASK	0x00000F00
26 #define DIDOI_GUIDISUSAGE	0x00010000
27 #define DIDF_ABSAXIS	0x00000001
28 #define DIDF_RELAXIS	0x00000002
29 #define DIDFT_RELAXIS	0x00000001
30 #define DIDFT_ABSAXIS	0x00000002
31 #define DIDFT_AXIS	0x00000003
32 #define DIDFT_PSHBUTTON	0x00000004
33 #define DIDFT_TGLBUTTON	0x00000008
34 #define DIDFT_BUTTON	0x0000000C
35 #define DIDFT_POV	0x00000010
36 #define DIDFT_COLLECTION	0x00000040
37 #define DIDFT_NODATA	0x00000080
38 #define DIDFT_ANYINSTANCE	0x00FFFF00
39 #define DIDFT_FFACTUATOR	0x01000000
40 #define DIDFT_FFEFFECTTRIGGER	0x02000000
41 #define DIDFT_OUTPUT	0x10000000
42 #define DIDFT_VENDORDEFINED	0x04000000
43 #define DIDFT_ALIAS	0x08000000
44 #define DIDFT_OPTIONAL	0x80000000
45 #define DIDFT_MAKEINSTANCE(n)	((WORD)(n) << 8)
46 
47 typedef struct _DIOBJECTDATAFORMAT {
48 	const GUID *pguid;
49 	DWORD dwOfs;
50 	DWORD dwType;
51 	DWORD dwFlags;
52 } DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
53 
54 typedef struct _DIDATAFORMAT {
55 	DWORD dwSize;
56 	DWORD dwObjSize;
57 	DWORD dwFlags;
58 	DWORD dwDataSize;
59 	DWORD dwNumObjs;
60 	LPDIOBJECTDATAFORMAT rgodf;
61 } DIDATAFORMAT, *LPDIDATAFORMAT;
62 
63 extern GUID GUID_XAxis;
64 extern GUID GUID_YAxis;
65 extern GUID GUID_ZAxis;
66 extern GUID GUID_RxAxis;
67 extern GUID GUID_RyAxis;
68 extern GUID GUID_RzAxis;
69 extern GUID GUID_Slider;
70 extern GUID GUID_Key;
71 extern GUID GUID_POV;
72 
73 #if defined (__WATCOMC__)
74 #define ATTRIBUTE_TEXT_SECTION __based( __segname( "_CODE" ) )
75 #elif defined (__GNUC__)
76 #define ATTRIBUTE_TEXT_SECTION  __attribute__ ((section(".text")))
77 #else
78 #define ATTRIBUTE_TEXT_SECTION
79 #endif
80 
81 #endif
82