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