| 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 |