/// <summary> /// Updates monitor information of a previously initialized object /// </summary> /// <param name="info">Monitor information struct received from Win32 API</param> public void Update(Win32.MonitorInfo info) { _isPrimary = info.flags.HasFlag(Win32.MonitorInfoFlags.Primary); _monitorArea = info.rcMonitor; _workArea = info.rcWork; _isStale = false; }
private bool QueryMonitorInfoCallback(IntPtr hMonitor, IntPtr hdcMonitor, ref Win32.Rect lprcMonitor, IntPtr dwData) { Win32.MonitorInfo monitorInfo = new Win32.MonitorInfo(true); MonitorInfo monitor; if (!Win32.GetMonitorInfo(hMonitor, ref monitorInfo)) { throw new System.ComponentModel.Win32Exception(); } if (_monitors.TryGetValue(hMonitor, out monitor)) { monitor.Update(monitorInfo); } else { _monitors.Add(hMonitor, new MonitorInfo(monitorInfo)); } return(true); }
private bool QueryMonitorInfoCallback( IntPtr hMonitor, IntPtr hdcMonitor, ref Win32.Rect lprcMonitor, IntPtr dwData ) { Win32.MonitorInfo monitorInfo = new Win32.MonitorInfo( true ); MonitorInfo monitor; if( !Win32.GetMonitorInfo( hMonitor, ref monitorInfo ) ) { throw new System.ComponentModel.Win32Exception(); } if( _monitors.TryGetValue( hMonitor, out monitor ) ) { monitor.Update( monitorInfo ); } else { _monitors.Add( hMonitor, new MonitorInfo( monitorInfo ) ); } return true; }
/// <summary> /// Initializing constructor /// </summary> /// <param name="info">Monitor information struct received from Win32 API</param> public MonitorInfo(Win32.MonitorInfo info) { _isPrimary = info.flags.HasFlag(Win32.MonitorInfoFlags.Primary); _monitorArea = info.rcMonitor; _workArea = info.rcWork; }