Beispiel #1
0
 /// <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;
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
 /// <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;
 }