48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
// JXInputManager.h: Schnittstelle für die Klasse JXInputManager.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_JXINPUTMANAGER_H__24862402_14C9_407D_8532_A16A6E3A7D64__INCLUDED_)
|
|
#define AFX_JXINPUTMANAGER_H__24862402_14C9_407D_8532_A16A6E3A7D64__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
#define MAX_JXINPUTS 10
|
|
|
|
class JXInput;
|
|
|
|
class JXINPUT_API JXInputManager
|
|
{
|
|
public:
|
|
JXInputManager( HWND hWnd );
|
|
virtual ~JXInputManager();
|
|
|
|
int getNumberOfJXInputs() const;
|
|
JXInput& getJXInput( int idx ) const;
|
|
|
|
//
|
|
// Numbering methods
|
|
//
|
|
int getMaxNumberOfAxes() const;
|
|
int getMaxNumberOfButtons() const;
|
|
int getMaxNumberOfDirectionals() const;
|
|
|
|
private:
|
|
LPDIRECTINPUT8 mpDI;
|
|
HWND mhWnd;
|
|
JXInput* mDevices[ MAX_JXINPUTS ];
|
|
int mDeviceCounter;
|
|
|
|
HRESULT InitDirectInput( HWND hWnd = NULL );
|
|
HRESULT FreeDirectInput();
|
|
|
|
static BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance,
|
|
VOID* pContext );
|
|
void addJXInput( JXInput* pJ );
|
|
};
|
|
|
|
#endif // !defined(AFX_JXINPUTMANAGER_H__24862402_14C9_407D_8532_A16A6E3A7D64__INCLUDED_)
|