1 #ifndef __OGREMONITORINFO_H__ 2 #define __OGREMONITORINFO_H__ 3 #include "OgreD3D11Prerequisites.h" 4 5 namespace Ogre 6 { 7 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 8 class _OgreD3D11Export MonitorInfo 9 { 10 public : MonitorInfo()11 MonitorInfo() : mCurrentMonitor(0) {} 12 void Refresh(); 13 14 unsigned short getMonitorSequentialNumberFromHMonitor(HMONITOR hMonitor, bool allowRefresh = false); 15 unsigned short getMonitorSequentialNumberFromSwapChain(IDXGISwapChain* swapChain, bool allowRefresh = false); 16 17 private: 18 typedef std::map<HMONITOR, unsigned short> MapMonitorToSequentialNumber; 19 MapMonitorToSequentialNumber mMapMonitors; 20 unsigned short mCurrentMonitor; 21 22 static BOOL CALLBACK MonitorEnumProc( 23 _In_ HMONITOR hMonitor, 24 _In_ HDC hdcMonitor, 25 _In_ LPRECT lprcMonitor, 26 _In_ LPARAM dwData 27 ); 28 }; 29 #endif 30 } 31 #endif