Browse Source

make MONITORINFO a struct

pull/1953/head
ahopper 8 years ago
parent
commit
f907139a5c
  1. 15
      src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs
  2. 2
      src/Windows/Avalonia.Win32/ScreenImpl.cs
  3. 2
      src/Windows/Avalonia.Win32/WindowImpl.cs

15
src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs

@ -1055,12 +1055,17 @@ namespace Avalonia.Win32.Interop
}
[StructLayout(LayoutKind.Sequential)]
internal class MONITORINFO
internal struct MONITORINFO
{
public int cbSize = Marshal.SizeOf<MONITORINFO>();
public RECT rcMonitor = new RECT();
public RECT rcWork = new RECT();
public int dwFlags = 0;
public int cbSize;
public RECT rcMonitor;
public RECT rcWork;
public int dwFlags;
public static MONITORINFO NewMONITORINFO()
{
return new MONITORINFO() { cbSize = Marshal.SizeOf<MONITORINFO>() };
}
public enum MonitorOptions : uint
{

2
src/Windows/Avalonia.Win32/ScreenImpl.cs

@ -26,7 +26,7 @@ namespace Avalonia.Win32
EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero,
(IntPtr monitor, IntPtr hdcMonitor, ref Rect lprcMonitor, IntPtr data) =>
{
MONITORINFO monitorInfo = new MONITORINFO();
MONITORINFO monitorInfo = MONITORINFO.NewMONITORINFO();
if (GetMonitorInfo(monitor, monitorInfo))
{
RECT bounds = monitorInfo.rcMonitor;

2
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -837,7 +837,7 @@ namespace Avalonia.Win32
if (monitor != IntPtr.Zero)
{
MONITORINFO monitorInfo = new MONITORINFO();
MONITORINFO monitorInfo = MONITORINFO.NewMONITORINFO();
if (GetMonitorInfo(monitor, monitorInfo))
{

Loading…
Cancel
Save