//----------------------------------------------------------------------------- // File: usefuldi.h // // Desc: Contains various DInput-specific utility classes and functions // to help the UI carry its operations more easily. // // Copyright (C) 1999-2000 Microsoft Corporation. All Rights Reserved. //----------------------------------------------------------------------------- #ifndef __USEFULDI_H__ #define __USEFULDI_H__ struct DIDEVOBJSTRUCT { DIDEVOBJSTRUCT() : nObjects(0), pdoi(NULL) {} ~DIDEVOBJSTRUCT() {if (pdoi != NULL) free(pdoi);} DWORD GetTypeFromObjID(DWORD); int nObjects; DIDEVICEOBJECTINSTANCEW *pdoi; int n; }; HRESULT FillDIDeviceObjectStruct(DIDEVOBJSTRUCT &os, LPDIRECTINPUTDEVICE8W pDID); LPTSTR AllocConfigureFlagStr(DWORD dwFlags); LPTSTR AllocActionFlagStr(DWORD dwFlags); LPTSTR AllocActionHowFlagStr(DWORD dwFlags); void CleanupActionFormatCopy(DIACTIONFORMATW &c); HRESULT CopyActionFormat(DIACTIONFORMATW &to, const DIACTIONFORMATW &from); LPDIACTIONFORMATW DupActionFormat(LPCDIACTIONFORMATW lpAcFor); void FreeActionFormatDup(LPDIACTIONFORMATW &lpAcFor); void TraceActionFormat(LPTSTR header, const DIACTIONFORMATW &acf); BOOL IsZeroOrInvalidColorSet(const DICOLORSET &); COLORREF D3DCOLOR2COLORREF(D3DCOLOR c); #endif //__USEFULDI_H__