#pragma once #include "l4ctrl.h" #include class DIJoystick : public Joystick { friend BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext); friend BOOL CALLBACK EnumAxesCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef); public: DIJoystick(HINSTANCE hInstance, HWND hWnd); ~DIJoystick(); bool IsValid() { return (mDI != NULL); } bool Poll(); // inherited void Update(); private: LPDIRECTINPUT8 mDI; LPDIRECTINPUTDEVICE8 mJoystick; DIJOYSTATE2 mJoystate; LONG xAxisMin, xAxisMax; LONG yAxisMin, yAxisMax; LONG zAxisMin, zAxisMax; LONG rzAxisMin, rzAxisMax; };