00001 /* 00002 The zlib/libpng License 00003 00004 Copyright (c) 2006 Phillip Castaneda (pjcast -- www.wreckedgames.com) 00005 00006 This software is provided 'as-is', without any express or implied warranty. In no event will 00007 the authors be held liable for any damages arising from the use of this software. 00008 00009 Permission is granted to anyone to use this software for any purpose, including commercial 00010 applications, and to alter it and redistribute it freely, subject to the following 00011 restrictions: 00012 00013 1. The origin of this software must not be misrepresented; you must not claim that 00014 you wrote the original software. If you use this software in a product, 00015 an acknowledgment in the product documentation would be appreciated but is 00016 not required. 00017 00018 2. Altered source versions must be plainly marked as such, and must not be 00019 misrepresented as being the original software. 00020 00021 3. This notice may not be removed or altered from any source distribution. 00022 */ 00023 #ifndef _WIN32_JOYSTICK_H_EADER_ 00024 #define _WIN32_JOYSTICK_H_EADER_ 00025 00026 #include "OISJoyStick.h" 00027 #include "Win32/Win32Prereqs.h" 00028 00029 namespace OIS 00030 { 00031 class Win32JoyStick : public JoyStick 00032 { 00033 public: 00034 Win32JoyStick( InputManager* creator, IDirectInput8* pDI, bool buffered, DWORD coopSettings, const JoyStickInfo &info ); 00035 virtual ~Win32JoyStick(); 00036 00038 virtual void setBuffered(bool buffered); 00039 00041 virtual void capture(); 00042 00044 virtual Interface* queryInterface(Interface::IType type); 00045 00047 virtual void _initialize(); 00048 00054 JoyStickInfo _getJoyInfo(); 00055 protected: 00056 Win32JoyStick() {} 00058 void _enumerate(); 00060 static BOOL CALLBACK DIEnumDeviceObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef); 00062 static BOOL CALLBACK DIEnumEffectsCallback(LPCDIEFFECTINFO pdei, LPVOID pvRef); 00063 00064 bool _doButtonClick( int button, DIDEVICEOBJECTDATA& di ); 00065 bool _changePOV( int pov, DIDEVICEOBJECTDATA& di ); 00066 00067 IDirectInput8* mDirectInput; 00068 IDirectInputDevice8* mJoyStick; 00069 DWORD coopSetting; 00070 GUID deviceGuid; 00071 00073 Win32ForceFeedback* ff_device; 00074 00076 int _AxisNumber; 00077 }; 00078 } 00079 00080 #endif //_WIN32_JOYSTICK_H_EADER_
1.5.4