#ifdef _MSC_VER #include #include // has the correct IReferenceClock definition that works for both x86 and x64, // whereas the alternative definition in is incorrect for x64. (out of // maintenance perhaps) // *must* be included before for x64 to work. #include #include #include #include #include #include #include #if _MSC_VER >= 1600 // supported from VS2010 (cl.exe v16.00) #include // cleanup WORD DWORD -> uint16_t uint32_t #else typedef INT8 int8_t; typedef UINT8 uint8_t; typedef UINT16 uint16_t; typedef UINT32 uint32_t; typedef UINT64 uint64_t; #endif #include #include // WM_MOUSEWHEEL #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // SM_CXPADDEDBORDER is not supported on 2000 & XP: // http://msdn.microsoft.com/en-nz/library/windows/desktop/ms724385(v=vs.85).aspx #ifndef SM_CXPADDEDBORDER #define SM_CXPADDEDBORDER 92 #endif #define USE_SPEECH_API #if _MSC_VER < 1900 #ifdef _WIN64 #define SIZE_T_FMT "llu" #define PTRDIFF_T_FMT "lld" #else #define SIZE_T_FMT "lu" #define PTRDIFF_T_FMT "ld" #endif #else #define SIZE_T_FMT "zu" #define PTRDIFF_T_FMT "td" #endif #else #include #include #include #include #include #include #include #include #include #include "windows.h" //#define USE_SPEECH_API #define SIZE_T_FMT "zu" #define PTRDIFF_T_FMT "td" #endif