diff --git a/TerraFX.Interop.Windows.sln b/TerraFX.Interop.Windows.sln index ba3559efba..cd7203f879 100644 --- a/TerraFX.Interop.Windows.sln +++ b/TerraFX.Interop.Windows.sln @@ -161,6 +161,14 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "User32", "User32", "{12CA1D EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TerraFX.Interop.User32.UnitTests", "tests\Interop\User32\TerraFX.Interop.User32.UnitTests.csproj", "{E1079FA4-5C96-45B4-8B51-C9DB23AB9831}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gdi32", "Gdi32", "{E4BACF79-1227-41F7-98BC-E07A8689FEAE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TerraFX.Interop.Gdi32", "sources\Interop\Gdi32\TerraFX.Interop.Gdi32.csproj", "{C58F82C2-0906-4EE0-AEB7-C18D9E9A121C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gdi32", "Gdi32", "{F7740CF9-604C-4701-BE19-3669E79CA39D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TerraFX.Interop.Gdi32.UnitTests", "tests\Interop\Gdi32\TerraFX.Interop.Gdi32.UnitTests.csproj", "{794109BA-BF3E-4932-A723-7469C7BF6347}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -259,6 +267,14 @@ Global {E1079FA4-5C96-45B4-8B51-C9DB23AB9831}.Debug|Any CPU.Build.0 = Debug|Any CPU {E1079FA4-5C96-45B4-8B51-C9DB23AB9831}.Release|Any CPU.ActiveCfg = Release|Any CPU {E1079FA4-5C96-45B4-8B51-C9DB23AB9831}.Release|Any CPU.Build.0 = Release|Any CPU + {C58F82C2-0906-4EE0-AEB7-C18D9E9A121C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C58F82C2-0906-4EE0-AEB7-C18D9E9A121C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C58F82C2-0906-4EE0-AEB7-C18D9E9A121C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C58F82C2-0906-4EE0-AEB7-C18D9E9A121C}.Release|Any CPU.Build.0 = Release|Any CPU + {794109BA-BF3E-4932-A723-7469C7BF6347}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {794109BA-BF3E-4932-A723-7469C7BF6347}.Debug|Any CPU.Build.0 = Debug|Any CPU + {794109BA-BF3E-4932-A723-7469C7BF6347}.Release|Any CPU.ActiveCfg = Release|Any CPU + {794109BA-BF3E-4932-A723-7469C7BF6347}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -312,6 +328,10 @@ Global {5FEAAC67-AC1C-490D-86D2-24ABCCAC4D60} = {82F1C087-5129-4118-A446-269A6C2B657A} {12CA1DDE-F03C-4903-8977-AF0BA73DD656} = {7E31C739-2787-44ED-8304-7EFCEE1A2B2C} {E1079FA4-5C96-45B4-8B51-C9DB23AB9831} = {12CA1DDE-F03C-4903-8977-AF0BA73DD656} + {E4BACF79-1227-41F7-98BC-E07A8689FEAE} = {70FBCFD9-B96E-4E72-B35C-681D9B2DA3D6} + {C58F82C2-0906-4EE0-AEB7-C18D9E9A121C} = {E4BACF79-1227-41F7-98BC-E07A8689FEAE} + {F7740CF9-604C-4701-BE19-3669E79CA39D} = {7E31C739-2787-44ED-8304-7EFCEE1A2B2C} + {794109BA-BF3E-4932-A723-7469C7BF6347} = {F7740CF9-604C-4701-BE19-3669E79CA39D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {2FE36DF8-2D9C-4F20-8787-45DC74B57461} diff --git a/sources/Interop/D3D12/um/d3d12/D3D12_BLEND_DESC.cs b/sources/Interop/D3D12/um/d3d12/D3D12_BLEND_DESC.cs index 72902de87e..2a11760956 100644 --- a/sources/Interop/D3D12/um/d3d12/D3D12_BLEND_DESC.cs +++ b/sources/Interop/D3D12/um/d3d12/D3D12_BLEND_DESC.cs @@ -44,9 +44,9 @@ public unsafe struct _RenderTarget_e__FixedBuffer public D3D12_RENDER_TARGET_BLEND_DESC e7; - public ref D3D12_RENDER_TARGET_BLEND_DESC this[int index] => ref AsSpan(int.MaxValue)[index]; + public ref D3D12_RENDER_TARGET_BLEND_DESC this[int index] => ref AsSpan()[index]; - public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + public Span AsSpan() => MemoryMarshal.CreateSpan(ref e0, 8); } } } diff --git a/sources/Interop/D3D12/um/d3dcommon/D3D12.cs b/sources/Interop/D3D12/um/d3dcommon/D3D12.cs index cf9e18c386..9c0f69e6e6 100644 --- a/sources/Interop/D3D12/um/d3dcommon/D3D12.cs +++ b/sources/Interop/D3D12/um/d3dcommon/D3D12.cs @@ -11,26 +11,15 @@ namespace TerraFX.Interop { public static unsafe partial class D3D12 { - public static int D3D_SET_OBJECT_NAME_N_A(ID3D12Object* pObject, uint Chars, byte* pName) - { - var guid = WKPDID_D3DDebugObjectNameW; - return pObject->SetPrivateData(&guid, Chars, pName); - } - - public static int D3D_SET_OBJECT_NAME_A(ID3D12Object* pObject, byte* pName) - { - return D3D_SET_OBJECT_NAME_N_A(pObject, (uint)lstrlenA(pName), pName); - } - - public static int D3D_SET_OBJECT_NAME_N_W(ID3D12Object* pObject, uint Chars, ushort* pName) + public static int D3D_SET_OBJECT_NAME_N(ID3D12Object* pObject, uint Chars, ushort* pName) { var guid = WKPDID_D3DDebugObjectNameW; return pObject->SetPrivateData(&guid, Chars * 2, pName); } - public static int D3D_SET_OBJECT_NAME_W(ID3D12Object* pObject, ushort* pName) + public static int D3D_SET_OBJECT_NAME(ID3D12Object* pObject, ushort* pName) { - return D3D_SET_OBJECT_NAME_N_W(pObject, (uint)lstrlenW(pName), pName); + return D3D_SET_OBJECT_NAME_N(pObject, (uint)lstrlen(pName), pName); } } } diff --git a/sources/Interop/DWrite/TerraFX.Interop.DWrite.csproj b/sources/Interop/DWrite/TerraFX.Interop.DWrite.csproj index 372413c564..386a0d9006 100644 --- a/sources/Interop/DWrite/TerraFX.Interop.DWrite.csproj +++ b/sources/Interop/DWrite/TerraFX.Interop.DWrite.csproj @@ -10,6 +10,7 @@ + diff --git a/sources/Interop/DXGI/shared/dxgitype/DXGI_GAMMA_CONTROL.cs b/sources/Interop/DXGI/shared/dxgitype/DXGI_GAMMA_CONTROL.cs index ee1f177681..248b5b28b7 100644 --- a/sources/Interop/DXGI/shared/dxgitype/DXGI_GAMMA_CONTROL.cs +++ b/sources/Interop/DXGI/shared/dxgitype/DXGI_GAMMA_CONTROL.cs @@ -2069,9 +2069,9 @@ public unsafe struct _GammaCurve_e__FixedBuffer public DXGI_RGB e1024; - public ref DXGI_RGB this[int index] => ref AsSpan(int.MaxValue)[index]; + public ref DXGI_RGB this[int index] => ref AsSpan()[index]; - public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + public Span AsSpan() => MemoryMarshal.CreateSpan(ref e0, 1025); } } } diff --git a/sources/Interop/DXGI/um/d3dcommon/DXGI.cs b/sources/Interop/DXGI/um/d3dcommon/DXGI.cs index e751507a04..b2dabb8aab 100644 --- a/sources/Interop/DXGI/um/d3dcommon/DXGI.cs +++ b/sources/Interop/DXGI/um/d3dcommon/DXGI.cs @@ -11,26 +11,15 @@ namespace TerraFX.Interop { public static unsafe partial class DXGI { - public static int D3D_SET_OBJECT_NAME_N_A(IDXGIObject* pObject, uint Chars, byte* pName) - { - var guid = WKPDID_D3DDebugObjectNameW; - return pObject->SetPrivateData(&guid, Chars, pName); - } - - public static int D3D_SET_OBJECT_NAME_A(IDXGIObject* pObject, byte* pName) - { - return D3D_SET_OBJECT_NAME_N_A(pObject, (uint)lstrlenA(pName), pName); - } - - public static int D3D_SET_OBJECT_NAME_N_W(IDXGIObject* pObject, uint Chars, ushort* pName) + public static int D3D_SET_OBJECT_NAME_N(IDXGIObject* pObject, uint Chars, ushort* pName) { var guid = WKPDID_D3DDebugObjectNameW; return pObject->SetPrivateData(&guid, Chars * 2, pName); } - public static int D3D_SET_OBJECT_NAME_W(IDXGIObject* pObject, ushort* pName) + public static int D3D_SET_OBJECT_NAME(IDXGIObject* pObject, ushort* pName) { - return D3D_SET_OBJECT_NAME_N_W(pObject, (uint)lstrlenW(pName), pName); + return D3D_SET_OBJECT_NAME_N(pObject, (uint)lstrlen(pName), pName); } } } diff --git a/sources/Interop/Gdi32/NativeTypeNameAttribute.cs b/sources/Interop/Gdi32/NativeTypeNameAttribute.cs new file mode 100644 index 0000000000..2c47d595e6 --- /dev/null +++ b/sources/Interop/Gdi32/NativeTypeNameAttribute.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +using System; +using System.Diagnostics; + +namespace TerraFX.Interop +{ + /// Defines the type of a member as it was used in the native signature. + [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, AllowMultiple = false, Inherited = true)] + [Conditional("DEBUG")] + internal sealed class NativeTypeNameAttribute : Attribute + { + private readonly string _name; + + /// Initializes a new instance of the class. + /// The name of the type that was used in the native signature. + public NativeTypeNameAttribute(string name) + { + _name = name; + } + + /// Gets the name of the type that was used in the native signature. + public string Name => _name; + } +} diff --git a/sources/Interop/Gdi32/TerraFX.Interop.Gdi32.csproj b/sources/Interop/Gdi32/TerraFX.Interop.Gdi32.csproj new file mode 100644 index 0000000000..6fda13d50f --- /dev/null +++ b/sources/Interop/Gdi32/TerraFX.Interop.Gdi32.csproj @@ -0,0 +1,15 @@ + + + + + + 1573;1591;$(NoWarn) + TerraFX.Interop + netcoreapp3.0 + + + + + + + diff --git a/sources/Interop/Gdi32/um/wingdi/ABC.cs b/sources/Interop/Gdi32/um/wingdi/ABC.cs new file mode 100644 index 0000000000..dc03878612 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ABC.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ABC + { + public int abcA; + + [NativeTypeName("UINT")] + public uint abcB; + + public int abcC; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ABCFLOAT.cs b/sources/Interop/Gdi32/um/wingdi/ABCFLOAT.cs new file mode 100644 index 0000000000..39792b524d --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ABCFLOAT.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ABCFLOAT + { + [NativeTypeName("FLOAT")] + public float abcfA; + + [NativeTypeName("FLOAT")] + public float abcfB; + + [NativeTypeName("FLOAT")] + public float abcfC; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ABORTPATH.cs b/sources/Interop/Gdi32/um/wingdi/ABORTPATH.cs new file mode 100644 index 0000000000..d230628c52 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ABORTPATH.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ABORTPATH + { + public EMR emr; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ABORTPROC.cs b/sources/Interop/Gdi32/um/wingdi/ABORTPROC.cs new file mode 100644 index 0000000000..9bca7260ac --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ABORTPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int ABORTPROC([NativeTypeName("HDC")] IntPtr param0, int param1); +} diff --git a/sources/Interop/Gdi32/um/wingdi/AXESLIST.cs b/sources/Interop/Gdi32/um/wingdi/AXESLIST.cs new file mode 100644 index 0000000000..3d82165fdf --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/AXESLIST.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct AXESLIST + { + [NativeTypeName("DWORD")] + public uint axlReserved; + + [NativeTypeName("DWORD")] + public uint axlNumAxes; + + [NativeTypeName("AXISINFOW [16]")] + public _axlAxisInfo_e__FixedBuffer axlAxisInfo; + + public partial struct _axlAxisInfo_e__FixedBuffer + { + internal AXISINFO e0; + internal AXISINFO e1; + internal AXISINFO e2; + internal AXISINFO e3; + internal AXISINFO e4; + internal AXISINFO e5; + internal AXISINFO e6; + internal AXISINFO e7; + internal AXISINFO e8; + internal AXISINFO e9; + internal AXISINFO e10; + internal AXISINFO e11; + internal AXISINFO e12; + internal AXISINFO e13; + internal AXISINFO e14; + internal AXISINFO e15; + + public ref AXISINFO this[int index] => ref AsSpan()[index]; + + public Span AsSpan() => MemoryMarshal.CreateSpan(ref e0, 16); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/AXISINFO.cs b/sources/Interop/Gdi32/um/wingdi/AXISINFO.cs new file mode 100644 index 0000000000..a2dd07c66c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/AXISINFO.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct AXISINFO + { + [NativeTypeName("LONG")] + public int axMinValue; + + [NativeTypeName("LONG")] + public int axMaxValue; + + [NativeTypeName("WCHAR [16]")] + public fixed ushort axAxisName[16]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAP.cs b/sources/Interop/Gdi32/um/wingdi/BITMAP.cs new file mode 100644 index 0000000000..43fe1b178b --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAP.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct BITMAP + { + [NativeTypeName("LONG")] + public int bmType; + + [NativeTypeName("LONG")] + public int bmWidth; + + [NativeTypeName("LONG")] + public int bmHeight; + + [NativeTypeName("LONG")] + public int bmWidthBytes; + + [NativeTypeName("WORD")] + public ushort bmPlanes; + + [NativeTypeName("WORD")] + public ushort bmBitsPixel; + + [NativeTypeName("LPVOID")] + public void* bmBits; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPCOREHEADER.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPCOREHEADER.cs new file mode 100644 index 0000000000..ff94d012a5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPCOREHEADER.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct BITMAPCOREHEADER + { + [NativeTypeName("DWORD")] + public uint bcSize; + + [NativeTypeName("WORD")] + public ushort bcWidth; + + [NativeTypeName("WORD")] + public ushort bcHeight; + + [NativeTypeName("WORD")] + public ushort bcPlanes; + + [NativeTypeName("WORD")] + public ushort bcBitCount; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPCOREINFO.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPCOREINFO.cs new file mode 100644 index 0000000000..0cfe4cbfe9 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPCOREINFO.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct BITMAPCOREINFO + { + [NativeTypeName("BITMAPCOREHEADER")] + public BITMAPCOREHEADER bmciHeader; + + [NativeTypeName("RGBTRIPLE [1]")] + public _bmciColors_e__FixedBuffer bmciColors; + + public partial struct _bmciColors_e__FixedBuffer + { + internal RGBTRIPLE e0; + + public ref RGBTRIPLE this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPFILEHEADER.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPFILEHEADER.cs new file mode 100644 index 0000000000..b0fd7659c5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPFILEHEADER.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct BITMAPFILEHEADER + { + [NativeTypeName("WORD")] + public ushort bfType; + + [NativeTypeName("DWORD")] + public uint bfSize; + + [NativeTypeName("WORD")] + public ushort bfReserved1; + + [NativeTypeName("WORD")] + public ushort bfReserved2; + + [NativeTypeName("DWORD")] + public uint bfOffBits; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPINFO.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPINFO.cs new file mode 100644 index 0000000000..037ec99654 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct BITMAPINFO + { + public BITMAPINFOHEADER bmiHeader; + + [NativeTypeName("RGBQUAD [1]")] + public _bmiColors_e__FixedBuffer bmiColors; + + public partial struct _bmiColors_e__FixedBuffer + { + internal RGBQUAD e0; + + public ref RGBQUAD this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPINFOHEADER.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPINFOHEADER.cs new file mode 100644 index 0000000000..c374e2ebd1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPINFOHEADER.cs @@ -0,0 +1,43 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct BITMAPINFOHEADER + { + [NativeTypeName("DWORD")] + public uint biSize; + + [NativeTypeName("LONG")] + public int biWidth; + + [NativeTypeName("LONG")] + public int biHeight; + + [NativeTypeName("WORD")] + public ushort biPlanes; + + [NativeTypeName("WORD")] + public ushort biBitCount; + + [NativeTypeName("DWORD")] + public uint biCompression; + + [NativeTypeName("DWORD")] + public uint biSizeImage; + + [NativeTypeName("LONG")] + public int biXPelsPerMeter; + + [NativeTypeName("LONG")] + public int biYPelsPerMeter; + + [NativeTypeName("DWORD")] + public uint biClrUsed; + + [NativeTypeName("DWORD")] + public uint biClrImportant; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPV4HEADER.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPV4HEADER.cs new file mode 100644 index 0000000000..68d29c9b17 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPV4HEADER.cs @@ -0,0 +1,69 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct BITMAPV4HEADER + { + [NativeTypeName("DWORD")] + public uint bV4Size; + + [NativeTypeName("LONG")] + public int bV4Width; + + [NativeTypeName("LONG")] + public int bV4Height; + + [NativeTypeName("WORD")] + public ushort bV4Planes; + + [NativeTypeName("WORD")] + public ushort bV4BitCount; + + [NativeTypeName("DWORD")] + public uint bV4V4Compression; + + [NativeTypeName("DWORD")] + public uint bV4SizeImage; + + [NativeTypeName("LONG")] + public int bV4XPelsPerMeter; + + [NativeTypeName("LONG")] + public int bV4YPelsPerMeter; + + [NativeTypeName("DWORD")] + public uint bV4ClrUsed; + + [NativeTypeName("DWORD")] + public uint bV4ClrImportant; + + [NativeTypeName("DWORD")] + public uint bV4RedMask; + + [NativeTypeName("DWORD")] + public uint bV4GreenMask; + + [NativeTypeName("DWORD")] + public uint bV4BlueMask; + + [NativeTypeName("DWORD")] + public uint bV4AlphaMask; + + [NativeTypeName("DWORD")] + public uint bV4CSType; + + public CIEXYZTRIPLE bV4Endpoints; + + [NativeTypeName("DWORD")] + public uint bV4GammaRed; + + [NativeTypeName("DWORD")] + public uint bV4GammaGreen; + + [NativeTypeName("DWORD")] + public uint bV4GammaBlue; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BITMAPV5HEADER.cs b/sources/Interop/Gdi32/um/wingdi/BITMAPV5HEADER.cs new file mode 100644 index 0000000000..0a79acaa4a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BITMAPV5HEADER.cs @@ -0,0 +1,81 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct BITMAPV5HEADER + { + [NativeTypeName("DWORD")] + public uint bV5Size; + + [NativeTypeName("LONG")] + public int bV5Width; + + [NativeTypeName("LONG")] + public int bV5Height; + + [NativeTypeName("WORD")] + public ushort bV5Planes; + + [NativeTypeName("WORD")] + public ushort bV5BitCount; + + [NativeTypeName("DWORD")] + public uint bV5Compression; + + [NativeTypeName("DWORD")] + public uint bV5SizeImage; + + [NativeTypeName("LONG")] + public int bV5XPelsPerMeter; + + [NativeTypeName("LONG")] + public int bV5YPelsPerMeter; + + [NativeTypeName("DWORD")] + public uint bV5ClrUsed; + + [NativeTypeName("DWORD")] + public uint bV5ClrImportant; + + [NativeTypeName("DWORD")] + public uint bV5RedMask; + + [NativeTypeName("DWORD")] + public uint bV5GreenMask; + + [NativeTypeName("DWORD")] + public uint bV5BlueMask; + + [NativeTypeName("DWORD")] + public uint bV5AlphaMask; + + [NativeTypeName("DWORD")] + public uint bV5CSType; + + public CIEXYZTRIPLE bV5Endpoints; + + [NativeTypeName("DWORD")] + public uint bV5GammaRed; + + [NativeTypeName("DWORD")] + public uint bV5GammaGreen; + + [NativeTypeName("DWORD")] + public uint bV5GammaBlue; + + [NativeTypeName("DWORD")] + public uint bV5Intent; + + [NativeTypeName("DWORD")] + public uint bV5ProfileData; + + [NativeTypeName("DWORD")] + public uint bV5ProfileSize; + + [NativeTypeName("DWORD")] + public uint bV5Reserved; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/BLENDFUNCTION.cs b/sources/Interop/Gdi32/um/wingdi/BLENDFUNCTION.cs new file mode 100644 index 0000000000..f1ccfd0621 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/BLENDFUNCTION.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public struct BLENDFUNCTION + { + [NativeTypeName("BYTE")] + public byte BlendOp; + + [NativeTypeName("BYTE")] + public byte BlendFlags; + + [NativeTypeName("BYTE")] + public byte SourceConstantAlpha; + + [NativeTypeName("BYTE")] + public byte AlphaFormat; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/CHARSETINFO.cs b/sources/Interop/Gdi32/um/wingdi/CHARSETINFO.cs new file mode 100644 index 0000000000..47c72d62d7 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/CHARSETINFO.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct CHARSETINFO + { + [NativeTypeName("UINT")] + public uint ciCharset; + + [NativeTypeName("UINT")] + public uint ciACP; + + public FONTSIGNATURE fs; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/CIEXYZ.cs b/sources/Interop/Gdi32/um/wingdi/CIEXYZ.cs new file mode 100644 index 0000000000..8f45b7a698 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/CIEXYZ.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct CIEXYZ + { + [NativeTypeName("FXPT2DOT30")] + public int ciexyzX; + + [NativeTypeName("FXPT2DOT30")] + public int ciexyzY; + + [NativeTypeName("FXPT2DOT30")] + public int ciexyzZ; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/CIEXYZTRIPLE.cs b/sources/Interop/Gdi32/um/wingdi/CIEXYZTRIPLE.cs new file mode 100644 index 0000000000..e4f17562f1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/CIEXYZTRIPLE.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct CIEXYZTRIPLE + { + public CIEXYZ ciexyzRed; + + public CIEXYZ ciexyzGreen; + + public CIEXYZ ciexyzBlue; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/COLORADJUSTMENT.cs b/sources/Interop/Gdi32/um/wingdi/COLORADJUSTMENT.cs new file mode 100644 index 0000000000..6333733b01 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/COLORADJUSTMENT.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct COLORADJUSTMENT + { + [NativeTypeName("WORD")] + public ushort caSize; + + [NativeTypeName("WORD")] + public ushort caFlags; + + [NativeTypeName("WORD")] + public ushort caIlluminantIndex; + + [NativeTypeName("WORD")] + public ushort caRedGamma; + + [NativeTypeName("WORD")] + public ushort caGreenGamma; + + [NativeTypeName("WORD")] + public ushort caBlueGamma; + + [NativeTypeName("WORD")] + public ushort caReferenceBlack; + + [NativeTypeName("WORD")] + public ushort caReferenceWhite; + + [NativeTypeName("SHORT")] + public short caContrast; + + [NativeTypeName("SHORT")] + public short caBrightness; + + [NativeTypeName("SHORT")] + public short caColorfulness; + + [NativeTypeName("SHORT")] + public short caRedGreenTint; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/COLORCORRECTPALETTE.cs b/sources/Interop/Gdi32/um/wingdi/COLORCORRECTPALETTE.cs new file mode 100644 index 0000000000..7e7642a06a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/COLORCORRECTPALETTE.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct COLORCORRECTPALETTE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPalette; + + [NativeTypeName("DWORD")] + public uint nFirstEntry; + + [NativeTypeName("DWORD")] + public uint nPalEntries; + + [NativeTypeName("DWORD")] + public uint nReserved; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/COLORMATCHTOTARGET.cs b/sources/Interop/Gdi32/um/wingdi/COLORMATCHTOTARGET.cs new file mode 100644 index 0000000000..4e5572b653 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/COLORMATCHTOTARGET.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct COLORMATCHTOTARGET + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint dwAction; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint cbName; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKMARSHAL.cs b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKMARSHAL.cs new file mode 100644 index 0000000000..0b81a754bb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKMARSHAL.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("HRESULT")] + public unsafe delegate int DDRAWMARSHCALLBACKMARSHAL([NativeTypeName("HGDIOBJ")] void* hGdiObj, [NativeTypeName("LPVOID")] void* pGdiRef, [NativeTypeName("LPVOID *")] void** ppDDrawRef); +} diff --git a/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKRELEASE.cs b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKRELEASE.cs new file mode 100644 index 0000000000..128a705edc --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKRELEASE.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("HRESULT")] + public unsafe delegate int DDRAWMARSHCALLBACKRELEASE([NativeTypeName("LPVOID")] void* pDDrawRef); +} + diff --git a/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKUNMARSHAL.cs b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKUNMARSHAL.cs new file mode 100644 index 0000000000..78e7ac83c3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DDRAWMARSHCALLBACKUNMARSHAL.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("HRESULT")] + public unsafe delegate int DDRAWMARSHCALLBACKUNMARSHAL([NativeTypeName("LPVOID")] void* pData, [NativeTypeName("HDC *")] IntPtr* phdc, [NativeTypeName("LPVOID *")] void** ppDDrawRef); +} + diff --git a/sources/Interop/Gdi32/um/wingdi/DESIGNVECTOR.cs b/sources/Interop/Gdi32/um/wingdi/DESIGNVECTOR.cs new file mode 100644 index 0000000000..c7c056a9ed --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DESIGNVECTOR.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DESIGNVECTOR + { + [NativeTypeName("DWORD")] + public uint dvReserved; + + [NativeTypeName("DWORD")] + public uint dvNumAxes; + + [NativeTypeName("LONG [16]")] + public fixed int dvValues[16]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DEVMODE.cs b/sources/Interop/Gdi32/um/wingdi/DEVMODE.cs new file mode 100644 index 0000000000..68304732ad --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DEVMODE.cs @@ -0,0 +1,143 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct DEVMODE + { + [NativeTypeName("WCHAR [32]")] + public fixed ushort dmDeviceName[32]; + + [NativeTypeName("WORD")] + public ushort dmSpecVersion; + + [NativeTypeName("WORD")] + public ushort dmDriverVersion; + + [NativeTypeName("WORD")] + public ushort dmSize; + + [NativeTypeName("WORD")] + public ushort dmDriverExtra; + + [NativeTypeName("DWORD")] + public uint dmFields; + + public _Anonymous1_e__Union Anonymous1; + + public short dmColor; + + public short dmDuplex; + + public short dmYResolution; + + public short dmTTOption; + + public short dmCollate; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort dmFormName[32]; + + [NativeTypeName("WORD")] + public ushort dmLogPixels; + + [NativeTypeName("DWORD")] + public uint dmBitsPerPel; + + [NativeTypeName("DWORD")] + public uint dmPelsWidth; + + [NativeTypeName("DWORD")] + public uint dmPelsHeight; + + public _Anonymous4_e__Union Anonymous4; + + [NativeTypeName("DWORD")] + public uint dmDisplayFrequency; + + [NativeTypeName("DWORD")] + public uint dmICMMethod; + + [NativeTypeName("DWORD")] + public uint dmICMIntent; + + [NativeTypeName("DWORD")] + public uint dmMediaType; + + [NativeTypeName("DWORD")] + public uint dmDitherType; + + [NativeTypeName("DWORD")] + public uint dmReserved1; + + [NativeTypeName("DWORD")] + public uint dmReserved2; + + [NativeTypeName("DWORD")] + public uint dmPanningWidth; + + [NativeTypeName("DWORD")] + public uint dmPanningHeight; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous1_e__Union + { + [FieldOffset(0)] + public _Anonymous2_e__Union Anonymous2; + + [FieldOffset(0)] + public _Anonymous3_e__Union Anonymous3; + + public partial struct _Anonymous2_e__Union + { + public short dmOrientation; + + public short dmPaperSize; + + public short dmPaperLength; + + public short dmPaperWidth; + + public short dmScale; + + public short dmCopies; + + public short dmDefaultSource; + + public short dmPrintQuality; + } + + public partial struct _Anonymous3_e__Union + { + public POINTL dmPosition; + + [NativeTypeName("DWORD")] + public uint dmDisplayOrientation; + + [NativeTypeName("DWORD")] + public uint dmDisplayFixedOutput; + } + } + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous4_e__Union + { + [FieldOffset(0)] + [NativeTypeName("DWORD")] + public uint dmDisplayFlags; + + [FieldOffset(0)] + [NativeTypeName("DWORD")] + public uint dmNup; + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DIBSECTION.cs b/sources/Interop/Gdi32/um/wingdi/DIBSECTION.cs new file mode 100644 index 0000000000..3e0b54e3cb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DIBSECTION.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DIBSECTION + { + public BITMAP dsBm; + + public BITMAPINFOHEADER dsBmih; + + [NativeTypeName("DWORD [3]")] + public fixed uint dsBitfields[3]; + + [NativeTypeName("HANDLE")] + public void* dshSection; + + [NativeTypeName("DWORD")] + public uint dsOffset; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_2DREGION.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_2DREGION.cs new file mode 100644 index 0000000000..2c0ce3346b --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_2DREGION.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_2DREGION + { + [NativeTypeName("UINT32")] + public uint cx; + + [NativeTypeName("UINT32")] + public uint cy; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ADAPTER_NAME.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ADAPTER_NAME.cs new file mode 100644 index 0000000000..317cee5c30 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ADAPTER_NAME.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DISPLAYCONFIG_ADAPTER_NAME + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("WCHAR [128]")] + public fixed ushort adapterDevicePath[128]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_COLOR_ENCODING.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_COLOR_ENCODING.cs new file mode 100644 index 0000000000..e2def47510 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_COLOR_ENCODING.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_COLOR_ENCODING : uint + { + DISPLAYCONFIG_COLOR_ENCODING_RGB = 0, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3, + DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4, + DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DESKTOP_IMAGE_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DESKTOP_IMAGE_INFO.cs new file mode 100644 index 0000000000..dfd42c6322 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DESKTOP_IMAGE_INFO.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO + { + public POINTL PathSourceSize; + + public RECTL DesktopImageRegion; + + public RECTL DesktopImageClip; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_HEADER.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_HEADER.cs new file mode 100644 index 0000000000..535eb0097c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_HEADER.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_DEVICE_INFO_HEADER + { + public DISPLAYCONFIG_DEVICE_INFO_TYPE type; + + [NativeTypeName("UINT32")] + public uint size; + + public LUID adapterId; + + [NativeTypeName("UINT32")] + public uint id; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_TYPE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_TYPE.cs new file mode 100644 index 0000000000..7cadea0663 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_DEVICE_INFO_TYPE.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_DEVICE_INFO_TYPE : uint + { + DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, + DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, + DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, + DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, + DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, + DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9, + DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10, + DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO.cs new file mode 100644 index 0000000000..4f9f593edc --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO.cs @@ -0,0 +1,81 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3156:5)")] + public _Anonymous_e__Union Anonymous; + + public DISPLAYCONFIG_COLOR_ENCODING colorEncoding; + + [NativeTypeName("UINT32")] + public uint bitsPerColorChannel; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3158:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint value; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint advancedColorSupported + { + get + { + return _bitfield & 0x1; + } + + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1); + } + } + + [NativeTypeName("UINT32")] + public uint advancedColorEnabled + { + get + { + return (_bitfield >> 1) & 0x1; + } + + set + { + _bitfield = (_bitfield & ~(0x1u << 1)) | ((value & 0x1) << 1); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 2) & 0x3FFFFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0x3FFFFFFFu << 2)) | ((value & 0x3FFFFFFF) << 2); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO.cs new file mode 100644 index 0000000000..a0acd3aa87 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_MODE_INFO + { + public DISPLAYCONFIG_MODE_INFO_TYPE infoType; + + [NativeTypeName("UINT32")] + public uint id; + + public LUID adapterId; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2932:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + public DISPLAYCONFIG_TARGET_MODE targetMode; + + [FieldOffset(0)] + public DISPLAYCONFIG_SOURCE_MODE sourceMode; + + [FieldOffset(0)] + public DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo; + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO_TYPE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO_TYPE.cs new file mode 100644 index 0000000000..b981c5c4bb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_MODE_INFO_TYPE.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_MODE_INFO_TYPE : uint + { + DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, + DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, + DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3, + DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_INFO.cs new file mode 100644 index 0000000000..859c599c18 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_INFO.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_PATH_INFO + { + public DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo; + + public DISPLAYCONFIG_PATH_TARGET_INFO targetInfo; + + [NativeTypeName("UINT32")] + public uint flags; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_SOURCE_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_SOURCE_INFO.cs new file mode 100644 index 0000000000..649149e8a3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_SOURCE_INFO.cs @@ -0,0 +1,68 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_PATH_SOURCE_INFO + { + public LUID adapterId; + + [NativeTypeName("UINT32")] + public uint id; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2950:5)")] + public _Anonymous_e__Union Anonymous; + + [NativeTypeName("UINT32")] + public uint statusFlags; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint modeInfoIdx; + + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2953:9)")] + public _Anonymous_e__Record Anonymous; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint cloneGroupId + { + get + { + return _bitfield & 0xFFFF; + } + + set + { + _bitfield = (_bitfield & ~0xFFFFu) | (value & 0xFFFF); + } + } + + [NativeTypeName("UINT32")] + public uint sourceModeInfoIdx + { + get + { + return (_bitfield >> 16) & 0xFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0xFFFFu << 16)) | ((value & 0xFFFF) << 16); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_TARGET_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_TARGET_INFO.cs new file mode 100644 index 0000000000..535eb8c7e5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PATH_TARGET_INFO.cs @@ -0,0 +1,81 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_PATH_TARGET_INFO + { + public LUID adapterId; + + [NativeTypeName("UINT32")] + public uint id; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2973:9)")] + public _Anonymous_e__Union Anonymous; + + public DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + + public DISPLAYCONFIG_ROTATION rotation; + + public DISPLAYCONFIG_SCALING scaling; + + public DISPLAYCONFIG_RATIONAL refreshRate; + + public DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + + [NativeTypeName("BOOL")] + public int targetAvailable; + + [NativeTypeName("UINT32")] + public uint statusFlags; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint modeInfoIdx; + + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2953:9)")] + public _Anonymous_e__Record Anonymous; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint desktopModeInfoIdx + { + get + { + return _bitfield & 0xFFFF; + } + + set + { + _bitfield = (_bitfield & ~0xFFFFu) | (value & 0xFFFF); + } + } + + [NativeTypeName("UINT32")] + public uint targetModeInfoIdx + { + get + { + return (_bitfield >> 16) & 0xFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0xFFFFu << 16)) | ((value & 0xFFFF) << 16); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PIXELFORMAT.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PIXELFORMAT.cs new file mode 100644 index 0000000000..adb6cfc64b --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_PIXELFORMAT.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_PIXELFORMAT : uint + { + DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, + DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, + DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, + DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, + DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, + DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_RATIONAL.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_RATIONAL.cs new file mode 100644 index 0000000000..2e800dcd82 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_RATIONAL.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_RATIONAL + { + [NativeTypeName("UINT32")] + public uint Numerator; + + [NativeTypeName("UINT32")] + public uint Denominator; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ROTATION.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ROTATION.cs new file mode 100644 index 0000000000..28aa741aba --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_ROTATION.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_ROTATION : uint + { + DISPLAYCONFIG_ROTATION_IDENTITY = 1, + DISPLAYCONFIG_ROTATION_ROTATE90 = 2, + DISPLAYCONFIG_ROTATION_ROTATE180 = 3, + DISPLAYCONFIG_ROTATION_ROTATE270 = 4, + DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCALING.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCALING.cs new file mode 100644 index 0000000000..ef8de318b5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCALING.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_SCALING : uint + { + DISPLAYCONFIG_SCALING_IDENTITY = 1, + DISPLAYCONFIG_SCALING_CENTERED = 2, + DISPLAYCONFIG_SCALING_STRETCHED = 3, + DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, + DISPLAYCONFIG_SCALING_CUSTOM = 5, + DISPLAYCONFIG_SCALING_PREFERRED = 128, + DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCANLINE_ORDERING.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCANLINE_ORDERING.cs new file mode 100644 index 0000000000..c5d72b881d --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SCANLINE_ORDERING.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_SCANLINE_ORDERING : uint + { + DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, + DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, + DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE.cs new file mode 100644 index 0000000000..9749fed28b --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3175:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3177:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint value; + + public partial struct _Anonymous_e__Record + { + private uint _bitfield; + + [NativeTypeName("UINT32")] + public uint enableAdvancedColor + { + get + { + return _bitfield & 0x1; + } + + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 1) & 0x7FFFFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0x7FFFFFFFu << 1)) | ((value & 0x7FFFFFFF) << 1); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_TARGET_PERSISTENCE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_TARGET_PERSISTENCE.cs new file mode 100644 index 0000000000..f9656b7e19 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SET_TARGET_PERSISTENCE.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3118:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3120:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint value; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint bootPersistenceOn + { + get + { + return _bitfield & 0x1; + } + + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 1) & 0x7FFFFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0x7FFFFFFFu << 1)) | ((value & 0x7FFFFFFF) << 1); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_DEVICE_NAME.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_DEVICE_NAME.cs new file mode 100644 index 0000000000..ddfb2a3322 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_DEVICE_NAME.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DISPLAYCONFIG_SOURCE_DEVICE_NAME + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort viewGdiDeviceName[32]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_MODE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_MODE.cs new file mode 100644 index 0000000000..9971cb2cfe --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SOURCE_MODE.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_SOURCE_MODE + { + [NativeTypeName("UINT32")] + public uint width; + + [NativeTypeName("UINT32")] + public uint height; + + public DISPLAYCONFIG_PIXELFORMAT pixelFormat; + + public POINTL position; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION.cs new file mode 100644 index 0000000000..f5682e9a3e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3132:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3134:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint value; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint disableMonitorVirtualResolution + { + get + { + return _bitfield & 0x1; + } + + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 1) & 0x7FFFFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0x7FFFFFFFu << 1)) | ((value & 0x7FFFFFFF) << 1); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_BASE_TYPE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_BASE_TYPE.cs new file mode 100644 index 0000000000..39b7c0f3c4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_BASE_TYPE.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_TARGET_BASE_TYPE + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + public DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME.cs new file mode 100644 index 0000000000..c94fe03e89 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DISPLAYCONFIG_TARGET_DEVICE_NAME + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + public DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags; + + public DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + + [NativeTypeName("UINT16")] + public ushort edidManufactureId; + + [NativeTypeName("UINT16")] + public ushort edidProductCodeId; + + [NativeTypeName("UINT32")] + public uint connectorInstance; + + [NativeTypeName("WCHAR [64]")] + public fixed ushort monitorFriendlyDeviceName[64]; + + [NativeTypeName("WCHAR [128]")] + public fixed ushort monitorDevicePath[128]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS.cs new file mode 100644 index 0000000000..f5abbfd3da --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS.cs @@ -0,0 +1,88 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS + { + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3071:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:3073:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint value; + + public partial struct _Anonymous_e__Record + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint friendlyNameFromEdid + { + get + { + return _bitfield & 0x1; + } + + set + { + _bitfield = (_bitfield & ~0x1u) | (value & 0x1); + } + } + + [NativeTypeName("UINT32")] + public uint friendlyNameForced + { + get + { + return (_bitfield >> 1) & 0x1; + } + + set + { + _bitfield = (_bitfield & ~(0x1u << 1)) | ((value & 0x1) << 1); + } + } + + [NativeTypeName("UINT32")] + public uint edidIdsValid + { + get + { + return (_bitfield >> 2) & 0x1; + } + + set + { + _bitfield = (_bitfield & ~(0x1u << 2)) | ((value & 0x1) << 2); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 3) & 0x1FFFFFFF; + } + + set + { + _bitfield = (_bitfield & ~(0x1FFFFFFFu << 3)) | ((value & 0x1FFFFFFF) << 3); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_MODE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_MODE.cs new file mode 100644 index 0000000000..94a6fcf54a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_MODE.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_TARGET_MODE + { + public DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_PREFERRED_MODE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_PREFERRED_MODE.cs new file mode 100644 index 0000000000..dd654f0c0c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TARGET_PREFERRED_MODE.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_TARGET_PREFERRED_MODE + { + public DISPLAYCONFIG_DEVICE_INFO_HEADER header; + + [NativeTypeName("UINT32")] + public uint width; + + [NativeTypeName("UINT32")] + public uint height; + + public DISPLAYCONFIG_TARGET_MODE targetMode; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TOPOLOGY_ID.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TOPOLOGY_ID.cs new file mode 100644 index 0000000000..15d29e56a5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_TOPOLOGY_ID.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_TOPOLOGY_ID : uint + { + DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, + DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, + DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, + DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, + DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.cs new file mode 100644 index 0000000000..e5773a4b27 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY : uint + { + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = unchecked((uint)-1), + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_SIGNAL_INFO.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_SIGNAL_INFO.cs new file mode 100644 index 0000000000..32ec1a28a5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAYCONFIG_VIDEO_SIGNAL_INFO.cs @@ -0,0 +1,87 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO + { + [NativeTypeName("UINT64")] + public ulong pixelRate; + + public DISPLAYCONFIG_RATIONAL hSyncFreq; + + public DISPLAYCONFIG_RATIONAL vSyncFreq; + + public DISPLAYCONFIG_2DREGION activeSize; + + public DISPLAYCONFIG_2DREGION totalSize; + + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2850:5)")] + public _Anonymous_e__Union Anonymous; + + public DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/wingdi.h:2852:9)")] + public _AdditionalSignalInfo_e__Union AdditionalSignalInfo; + + [FieldOffset(0)] + [NativeTypeName("UINT32")] + public uint videoStandard; + + public partial struct _AdditionalSignalInfo_e__Union + { + internal uint _bitfield; + + [NativeTypeName("UINT32")] + public uint videoStandard + { + get + { + return _bitfield & 0xFFFF; + } + + set + { + _bitfield = (_bitfield & ~0xFFFFu) | (value & 0xFFFF); + } + } + + [NativeTypeName("UINT32")] + public uint vSyncFreqDivider + { + get + { + return (_bitfield >> 16) & 0x3F; + } + + set + { + _bitfield = (_bitfield & ~(0x3Fu << 16)) | ((value & 0x3F) << 16); + } + } + + [NativeTypeName("UINT32")] + public uint reserved + { + get + { + return (_bitfield >> 22) & 0x3FF; + } + + set + { + _bitfield = (_bitfield & ~(0x3FFu << 22)) | ((value & 0x3FF) << 22); + } + } + } + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DISPLAY_DEVICE.cs b/sources/Interop/Gdi32/um/wingdi/DISPLAY_DEVICE.cs new file mode 100644 index 0000000000..903866248c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DISPLAY_DEVICE.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DISPLAY_DEVICE + { + [NativeTypeName("DWORD")] + public uint cb; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort DeviceName[32]; + + [NativeTypeName("WCHAR [128]")] + public fixed ushort DeviceString[128]; + + [NativeTypeName("DWORD")] + public uint StateFlags; + + [NativeTypeName("WCHAR [128]")] + public fixed ushort DeviceID[128]; + + [NativeTypeName("WCHAR [128]")] + public fixed ushort DeviceKey[128]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DOCINFO.cs b/sources/Interop/Gdi32/um/wingdi/DOCINFO.cs new file mode 100644 index 0000000000..4b6e456837 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DOCINFO.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct DOCINFO + { + public int cbSize; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszDocName; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszOutput; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszDatatype; + + [NativeTypeName("DWORD")] + public uint fwType; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/DRAWPATRECT.cs b/sources/Interop/Gdi32/um/wingdi/DRAWPATRECT.cs new file mode 100644 index 0000000000..7c2dd182d9 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/DRAWPATRECT.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DRAWPATRECT + { + public POINT ptPosition; + + public POINT ptSize; + + [NativeTypeName("WORD")] + public ushort wStyle; + + [NativeTypeName("WORD")] + public ushort wPattern; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMR.cs b/sources/Interop/Gdi32/um/wingdi/EMR.cs new file mode 100644 index 0000000000..d2c5377c04 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMR.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMR + { + [NativeTypeName("DWORD")] + public uint iType; + + [NativeTypeName("DWORD")] + public uint nSize; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRALPHABLEND.cs b/sources/Interop/Gdi32/um/wingdi/EMRALPHABLEND.cs new file mode 100644 index 0000000000..b843870efd --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRALPHABLEND.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRALPHABLEND + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRANGLEARC.cs b/sources/Interop/Gdi32/um/wingdi/EMRANGLEARC.cs new file mode 100644 index 0000000000..36af57a988 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRANGLEARC.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRANGLEARC + { + public EMR emr; + + public POINTL ptlCenter; + + [NativeTypeName("DWORD")] + public uint nRadius; + + [NativeTypeName("FLOAT")] + public float eStartAngle; + + [NativeTypeName("FLOAT")] + public float eSweepAngle; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRARC.cs b/sources/Interop/Gdi32/um/wingdi/EMRARC.cs new file mode 100644 index 0000000000..7640f853bb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRARC.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRARC + { + public EMR emr; + + public RECTL rclBox; + + public POINTL ptlStart; + + public POINTL ptlEnd; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRBITBLT.cs b/sources/Interop/Gdi32/um/wingdi/EMRBITBLT.cs new file mode 100644 index 0000000000..5999d61ca0 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRBITBLT.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRBITBLT + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATEBRUSHINDIRECT.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATEBRUSHINDIRECT.cs new file mode 100644 index 0000000000..fa07b4d598 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATEBRUSHINDIRECT.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRCREATEBRUSHINDIRECT + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihBrush; + + public LOGBRUSH32 lb; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATECOLORSPACE.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATECOLORSPACE.cs new file mode 100644 index 0000000000..139019ce0e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATECOLORSPACE.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRCREATECOLORSPACE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihCS; + + [NativeTypeName("LOGCOLORSPACEW")] + public LOGCOLORSPACE lcs; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATEDIBPATTERNBRUSHPT.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATEDIBPATTERNBRUSHPT.cs new file mode 100644 index 0000000000..50c5fc6acb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATEDIBPATTERNBRUSHPT.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRCREATEDIBPATTERNBRUSHPT + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihBrush; + + [NativeTypeName("DWORD")] + public uint iUsage; + + [NativeTypeName("DWORD")] + public uint offBmi; + + [NativeTypeName("DWORD")] + public uint cbBmi; + + [NativeTypeName("DWORD")] + public uint offBits; + + [NativeTypeName("DWORD")] + public uint cbBits; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATEMONOBRUSH.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATEMONOBRUSH.cs new file mode 100644 index 0000000000..86d584b841 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATEMONOBRUSH.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRCREATEMONOBRUSH + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihBrush; + + [NativeTypeName("DWORD")] + public uint iUsage; + + [NativeTypeName("DWORD")] + public uint offBmi; + + [NativeTypeName("DWORD")] + public uint cbBmi; + + [NativeTypeName("DWORD")] + public uint offBits; + + [NativeTypeName("DWORD")] + public uint cbBits; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATEPALETTE.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATEPALETTE.cs new file mode 100644 index 0000000000..4c97a060e5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATEPALETTE.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRCREATEPALETTE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPal; + + public LOGPALETTE lgpl; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRCREATEPEN.cs b/sources/Interop/Gdi32/um/wingdi/EMRCREATEPEN.cs new file mode 100644 index 0000000000..2241c76b2f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRCREATEPEN.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRCREATEPEN + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPen; + + public LOGPEN lopn; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRELLIPSE.cs b/sources/Interop/Gdi32/um/wingdi/EMRELLIPSE.cs new file mode 100644 index 0000000000..df7cc5fa56 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRELLIPSE.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRELLIPSE + { + public EMR emr; + + public RECTL rclBox; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREOF.cs b/sources/Interop/Gdi32/um/wingdi/EMREOF.cs new file mode 100644 index 0000000000..9b98e6e0e6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREOF.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREOF + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint nPalEntries; + + [NativeTypeName("DWORD")] + public uint offPalEntries; + + [NativeTypeName("DWORD")] + public uint nSizeLast; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXCLUDECLIPRECT.cs b/sources/Interop/Gdi32/um/wingdi/EMREXCLUDECLIPRECT.cs new file mode 100644 index 0000000000..5836a4994f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXCLUDECLIPRECT.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREXCLUDECLIPRECT + { + public EMR emr; + + public RECTL rclClip; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEFONTINDIRECT.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEFONTINDIRECT.cs new file mode 100644 index 0000000000..da2a04665f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEFONTINDIRECT.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREXTCREATEFONTINDIRECT + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihFont; + + [NativeTypeName("EXTLOGFONTW")] + public EXTLOGFONT elfw; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEPEN.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEPEN.cs new file mode 100644 index 0000000000..d4850e1d13 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTCREATEPEN.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREXTCREATEPEN + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPen; + + [NativeTypeName("DWORD")] + public uint offBmi; + + [NativeTypeName("DWORD")] + public uint cbBmi; + + [NativeTypeName("DWORD")] + public uint offBits; + + [NativeTypeName("DWORD")] + public uint cbBits; + + public EXTLOGPEN32 elp; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTESCAPE.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTESCAPE.cs new file mode 100644 index 0000000000..d675e26fee --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTESCAPE.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMREXTESCAPE + { + public EMR emr; + + [NativeTypeName("INT")] + public int iEscape; + + [NativeTypeName("INT")] + public int cbEscData; + + [NativeTypeName("BYTE [1]")] + public fixed byte EscData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTFLOODFILL.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTFLOODFILL.cs new file mode 100644 index 0000000000..6be4658bb2 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTFLOODFILL.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREXTFLOODFILL + { + public EMR emr; + + public POINTL ptlStart; + + [NativeTypeName("COLORREF")] + public uint crColor; + + [NativeTypeName("DWORD")] + public uint iMode; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTSELECTCLIPRGN.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTSELECTCLIPRGN.cs new file mode 100644 index 0000000000..857c4b5d88 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTSELECTCLIPRGN.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMREXTSELECTCLIPRGN + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint cbRgnData; + + [NativeTypeName("DWORD")] + public uint iMode; + + [NativeTypeName("BYTE [1]")] + public fixed byte RgnData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMREXTTEXTOUTA.cs b/sources/Interop/Gdi32/um/wingdi/EMREXTTEXTOUTA.cs new file mode 100644 index 0000000000..6a8a70e093 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMREXTTEXTOUTA.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMREXTTEXTOUTA + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint iGraphicsMode; + + [NativeTypeName("FLOAT")] + public float exScale; + + [NativeTypeName("FLOAT")] + public float eyScale; + + public EMRTEXT emrtext; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRFILLPATH.cs b/sources/Interop/Gdi32/um/wingdi/EMRFILLPATH.cs new file mode 100644 index 0000000000..c413be0b8d --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRFILLPATH.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRFILLPATH + { + public EMR emr; + + public RECTL rclBounds; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRFILLRGN.cs b/sources/Interop/Gdi32/um/wingdi/EMRFILLRGN.cs new file mode 100644 index 0000000000..579be68f01 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRFILLRGN.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRFILLRGN + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cbRgnData; + + [NativeTypeName("DWORD")] + public uint ihBrush; + + [NativeTypeName("BYTE [1]")] + public fixed byte RgnData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRFORMAT.cs b/sources/Interop/Gdi32/um/wingdi/EMRFORMAT.cs new file mode 100644 index 0000000000..41e5f784de --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRFORMAT.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRFORMAT + { + [NativeTypeName("DWORD")] + public uint dSignature; + + [NativeTypeName("DWORD")] + public uint nVersion; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("DWORD")] + public uint offData; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRFRAMERGN.cs b/sources/Interop/Gdi32/um/wingdi/EMRFRAMERGN.cs new file mode 100644 index 0000000000..d22eeeae65 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRFRAMERGN.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRFRAMERGN + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cbRgnData; + + [NativeTypeName("DWORD")] + public uint ihBrush; + + public SIZE szlStroke; + + [NativeTypeName("BYTE [1]")] + public fixed byte RgnData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRGDICOMMENT.cs b/sources/Interop/Gdi32/um/wingdi/EMRGDICOMMENT.cs new file mode 100644 index 0000000000..b322ed0943 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRGDICOMMENT.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRGDICOMMENT + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRGLSBOUNDEDRECORD.cs b/sources/Interop/Gdi32/um/wingdi/EMRGLSBOUNDEDRECORD.cs new file mode 100644 index 0000000000..c8a1290be3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRGLSBOUNDEDRECORD.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRGLSBOUNDEDRECORD + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRGLSRECORD.cs b/sources/Interop/Gdi32/um/wingdi/EMRGLSRECORD.cs new file mode 100644 index 0000000000..89b8561cdf --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRGLSRECORD.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRGLSRECORD + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRGRADIENTFILL.cs b/sources/Interop/Gdi32/um/wingdi/EMRGRADIENTFILL.cs new file mode 100644 index 0000000000..190bbea2ea --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRGRADIENTFILL.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRGRADIENTFILL + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint nVer; + + [NativeTypeName("DWORD")] + public uint nTri; + + [NativeTypeName("ULONG")] + public uint ulMode; + + [NativeTypeName("TRIVERTEX [1]")] + public _Ver_e__FixedBuffer Ver; + + public partial struct _Ver_e__FixedBuffer + { + internal TRIVERTEX e0; + + public ref TRIVERTEX this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRINVERTRGN.cs b/sources/Interop/Gdi32/um/wingdi/EMRINVERTRGN.cs new file mode 100644 index 0000000000..c9ef649b15 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRINVERTRGN.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRINVERTRGN + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cbRgnData; + + [NativeTypeName("BYTE [1]")] + public fixed byte RgnData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRLINETO.cs b/sources/Interop/Gdi32/um/wingdi/EMRLINETO.cs new file mode 100644 index 0000000000..69ab2f4ad1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRLINETO.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRLINETO + { + public EMR emr; + + public POINTL ptl; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRMASKBLT.cs b/sources/Interop/Gdi32/um/wingdi/EMRMASKBLT.cs new file mode 100644 index 0000000000..dca74effe7 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRMASKBLT.cs @@ -0,0 +1,76 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRMASKBLT + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("LONG")] + public int xMask; + + [NativeTypeName("LONG")] + public int yMask; + + [NativeTypeName("DWORD")] + public uint iUsageMask; + + [NativeTypeName("DWORD")] + public uint offBmiMask; + + [NativeTypeName("DWORD")] + public uint cbBmiMask; + + [NativeTypeName("DWORD")] + public uint offBitsMask; + + [NativeTypeName("DWORD")] + public uint cbBitsMask; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRMODIFYWORLDTRANSFORM.cs b/sources/Interop/Gdi32/um/wingdi/EMRMODIFYWORLDTRANSFORM.cs new file mode 100644 index 0000000000..138f741d1c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRMODIFYWORLDTRANSFORM.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRMODIFYWORLDTRANSFORM + { + public EMR emr; + + public XFORM xform; + + [NativeTypeName("DWORD")] + public uint iMode; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRNAMEDESCAPE.cs b/sources/Interop/Gdi32/um/wingdi/EMRNAMEDESCAPE.cs new file mode 100644 index 0000000000..3b47e7efcb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRNAMEDESCAPE.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRNAMEDESCAPE + { + public EMR emr; + + [NativeTypeName("INT")] + public int iEscape; + + [NativeTypeName("INT")] + public int cbDriver; + + [NativeTypeName("INT")] + public int cbEscData; + + [NativeTypeName("BYTE [1]")] + public fixed byte EscData[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMROFFSETCLIPRGN.cs b/sources/Interop/Gdi32/um/wingdi/EMROFFSETCLIPRGN.cs new file mode 100644 index 0000000000..4787f191ef --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMROFFSETCLIPRGN.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMROFFSETCLIPRGN + { + public EMR emr; + + public POINTL ptlOffset; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPIXELFORMAT.cs b/sources/Interop/Gdi32/um/wingdi/EMRPIXELFORMAT.cs new file mode 100644 index 0000000000..88cc420057 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPIXELFORMAT.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRPIXELFORMAT + { + public EMR emr; + + public PIXELFORMATDESCRIPTOR pfd; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPLGBLT.cs b/sources/Interop/Gdi32/um/wingdi/EMRPLGBLT.cs new file mode 100644 index 0000000000..300b5f56b4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPLGBLT.cs @@ -0,0 +1,84 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRPLGBLT + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("POINTL [3]")] + public _aptlDest_e__FixedBuffer aptlDest; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("LONG")] + public int xMask; + + [NativeTypeName("LONG")] + public int yMask; + + [NativeTypeName("DWORD")] + public uint iUsageMask; + + [NativeTypeName("DWORD")] + public uint offBmiMask; + + [NativeTypeName("DWORD")] + public uint cbBmiMask; + + [NativeTypeName("DWORD")] + public uint offBitsMask; + + [NativeTypeName("DWORD")] + public uint cbBitsMask; + + public partial struct _aptlDest_e__FixedBuffer + { + internal POINTL e0; + internal POINTL e1; + internal POINTL e2; + + public ref POINTL this[int index] => ref AsSpan()[index]; + + public Span AsSpan() => MemoryMarshal.CreateSpan(ref e0, 3); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW.cs new file mode 100644 index 0000000000..933dc6f7f6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRPOLYDRAW + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cptl; + + [NativeTypeName("POINTL [1]")] + public _aptl_e__FixedBuffer aptl; + + [NativeTypeName("BYTE [1]")] + public fixed byte abTypes[1]; + + public partial struct _aptl_e__FixedBuffer + { + internal POINTL e0; + + public ref POINTL this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW16.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW16.cs new file mode 100644 index 0000000000..cae85a0465 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYDRAW16.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRPOLYDRAW16 + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cpts; + + [NativeTypeName("POINTS [1]")] + public _apts_e__FixedBuffer apts; + + [NativeTypeName("BYTE [1]")] + public fixed byte abTypes[1]; + + public partial struct _apts_e__FixedBuffer + { + internal POINTS e0; + + public ref POINTS this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE.cs new file mode 100644 index 0000000000..30244c96c1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRPOLYLINE + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cptl; + + [NativeTypeName("POINTL [1]")] + public _aptl_e__FixedBuffer aptl; + + public partial struct _aptl_e__FixedBuffer + { + internal POINTL e0; + + public ref POINTL this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE16.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE16.cs new file mode 100644 index 0000000000..ca762f392d --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYLINE16.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRPOLYLINE16 + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint cpts; + + [NativeTypeName("POINTS [1]")] + public _apts_e__FixedBuffer apts; + + public partial struct _apts_e__FixedBuffer + { + internal POINTS e0; + + public ref POINTS this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE.cs new file mode 100644 index 0000000000..9ba54b3a71 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRPOLYPOLYLINE + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint nPolys; + + [NativeTypeName("DWORD")] + public uint cptl; + + [NativeTypeName("DWORD [1]")] + public fixed uint aPolyCounts[1]; + + [NativeTypeName("POINTL [1]")] + public _aptl_e__FixedBuffer aptl; + + public partial struct _aptl_e__FixedBuffer + { + internal POINTL e0; + + public ref POINTL this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE16.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE16.cs new file mode 100644 index 0000000000..a03c4108a4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYPOLYLINE16.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRPOLYPOLYLINE16 + { + public EMR emr; + + [NativeTypeName("RECTL")] + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint nPolys; + + [NativeTypeName("DWORD")] + public uint cpts; + + [NativeTypeName("DWORD [1]")] + public fixed uint aPolyCounts[1]; + + [NativeTypeName("POINTS [1]")] + public _apts_e__FixedBuffer apts; + + public partial struct _apts_e__FixedBuffer + { + internal POINTS e0; + + public ref POINTS this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRPOLYTEXTOUTA.cs b/sources/Interop/Gdi32/um/wingdi/EMRPOLYTEXTOUTA.cs new file mode 100644 index 0000000000..24335bb0e4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRPOLYTEXTOUTA.cs @@ -0,0 +1,41 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRPOLYTEXTOUTA + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("DWORD")] + public uint iGraphicsMode; + + [NativeTypeName("FLOAT")] + public float exScale; + + [NativeTypeName("FLOAT")] + public float eyScale; + + [NativeTypeName("LONG")] + public int cStrings; + + [NativeTypeName("EMRTEXT [1]")] + public _aemrtext_e__FixedBuffer aemrtext; + + public partial struct _aemrtext_e__FixedBuffer + { + internal EMRTEXT e0; + + public ref EMRTEXT this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRRESIZEPALETTE.cs b/sources/Interop/Gdi32/um/wingdi/EMRRESIZEPALETTE.cs new file mode 100644 index 0000000000..f8221cbe43 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRRESIZEPALETTE.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRRESIZEPALETTE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPal; + + [NativeTypeName("DWORD")] + public uint cEntries; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRRESTOREDC.cs b/sources/Interop/Gdi32/um/wingdi/EMRRESTOREDC.cs new file mode 100644 index 0000000000..2542174c2c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRRESTOREDC.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRRESTOREDC + { + public EMR emr; + + [NativeTypeName("LONG")] + public int iRelative; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRROUNDRECT.cs b/sources/Interop/Gdi32/um/wingdi/EMRROUNDRECT.cs new file mode 100644 index 0000000000..002451d493 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRROUNDRECT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRROUNDRECT + { + public EMR emr; + + public RECTL rclBox; + + public SIZE szlCorner; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSCALEVIEWPORTEXTEX.cs b/sources/Interop/Gdi32/um/wingdi/EMRSCALEVIEWPORTEXTEX.cs new file mode 100644 index 0000000000..8528d9d0c1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSCALEVIEWPORTEXTEX.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSCALEVIEWPORTEXTEX + { + public EMR emr; + + [NativeTypeName("LONG")] + public int xNum; + + [NativeTypeName("LONG")] + public int xDenom; + + [NativeTypeName("LONG")] + public int yNum; + + [NativeTypeName("LONG")] + public int yDenom; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSELECTCLIPPATH.cs b/sources/Interop/Gdi32/um/wingdi/EMRSELECTCLIPPATH.cs new file mode 100644 index 0000000000..bddc3efdc6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSELECTCLIPPATH.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSELECTCLIPPATH + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint iMode; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSELECTOBJECT.cs b/sources/Interop/Gdi32/um/wingdi/EMRSELECTOBJECT.cs new file mode 100644 index 0000000000..d5d2fea515 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSELECTOBJECT.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSELECTOBJECT + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihObject; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSELECTPALETTE.cs b/sources/Interop/Gdi32/um/wingdi/EMRSELECTPALETTE.cs new file mode 100644 index 0000000000..71a874b494 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSELECTPALETTE.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSELECTPALETTE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPal; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETARCDIRECTION.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETARCDIRECTION.cs new file mode 100644 index 0000000000..89b828e6e1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETARCDIRECTION.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETARCDIRECTION + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint iArcDirection; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORADJUSTMENT.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORADJUSTMENT.cs new file mode 100644 index 0000000000..075ef06d8a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORADJUSTMENT.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETCOLORADJUSTMENT + { + public EMR emr; + + public COLORADJUSTMENT ColorAdjustment; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORSPACE.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORSPACE.cs new file mode 100644 index 0000000000..61746ceddc --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETCOLORSPACE.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETCOLORSPACE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihCS; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETDIBITSTODEVICE.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETDIBITSTODEVICE.cs new file mode 100644 index 0000000000..57fb6e4d05 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETDIBITSTODEVICE.cs @@ -0,0 +1,53 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETDIBITSTODEVICE + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint iStartScan; + + [NativeTypeName("DWORD")] + public uint cScans; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETICMPROFILE.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETICMPROFILE.cs new file mode 100644 index 0000000000..56979e815c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETICMPROFILE.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EMRSETICMPROFILE + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint cbName; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("BYTE [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETMAPPERFLAGS.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETMAPPERFLAGS.cs new file mode 100644 index 0000000000..ddb6b9034f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETMAPPERFLAGS.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETMAPPERFLAGS + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint dwFlags; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETMITERLIMIT.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETMITERLIMIT.cs new file mode 100644 index 0000000000..4667931609 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETMITERLIMIT.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETMITERLIMIT + { + public EMR emr; + + [NativeTypeName("FLOAT")] + public float eMiterLimit; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETPALETTEENTRIES.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETPALETTEENTRIES.cs new file mode 100644 index 0000000000..f021d3768a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETPALETTEENTRIES.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct EMRSETPALETTEENTRIES + { + public EMR emr; + + [NativeTypeName("DWORD")] + public uint ihPal; + + [NativeTypeName("DWORD")] + public uint iStart; + + [NativeTypeName("DWORD")] + public uint cEntries; + + [NativeTypeName("PALETTEENTRY [1]")] + public _aPalEntries_e__FixedBuffer aPalEntries; + + public partial struct _aPalEntries_e__FixedBuffer + { + internal PALETTEENTRY e0; + + public ref PALETTEENTRY this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETPIXELV.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETPIXELV.cs new file mode 100644 index 0000000000..be77703b0e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETPIXELV.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETPIXELV + { + public EMR emr; + + public POINTL ptlPixel; + + [NativeTypeName("COLORREF")] + public uint crColor; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETTEXTCOLOR.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETTEXTCOLOR.cs new file mode 100644 index 0000000000..a182b4152e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETTEXTCOLOR.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETTEXTCOLOR + { + public EMR emr; + + [NativeTypeName("COLORREF")] + public uint crColor; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTEXTEX.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTEXTEX.cs new file mode 100644 index 0000000000..96134c9be3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTEXTEX.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETVIEWPORTEXTEX + { + public EMR emr; + + public SIZE szlExtent; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTORGEX.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTORGEX.cs new file mode 100644 index 0000000000..7e2dbb07ef --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETVIEWPORTORGEX.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETVIEWPORTORGEX + { + public EMR emr; + + public POINTL ptlOrigin; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSETWORLDTRANSFORM.cs b/sources/Interop/Gdi32/um/wingdi/EMRSETWORLDTRANSFORM.cs new file mode 100644 index 0000000000..4de581e3df --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSETWORLDTRANSFORM.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSETWORLDTRANSFORM + { + public EMR emr; + + public XFORM xform; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHBLT.cs b/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHBLT.cs new file mode 100644 index 0000000000..caf07c7675 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHBLT.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSTRETCHBLT + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHDIBITS.cs b/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHDIBITS.cs new file mode 100644 index 0000000000..673de0a28c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRSTRETCHDIBITS.cs @@ -0,0 +1,56 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRSTRETCHDIBITS + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRTEXT.cs b/sources/Interop/Gdi32/um/wingdi/EMRTEXT.cs new file mode 100644 index 0000000000..176e9550f9 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRTEXT.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRTEXT + { + public POINTL ptlReference; + + [NativeTypeName("DWORD")] + public uint nChars; + + [NativeTypeName("DWORD")] + public uint offString; + + [NativeTypeName("DWORD")] + public uint fOptions; + + public RECTL rcl; + + [NativeTypeName("DWORD")] + public uint offDx; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EMRTRANSPARENTBLT.cs b/sources/Interop/Gdi32/um/wingdi/EMRTRANSPARENTBLT.cs new file mode 100644 index 0000000000..dbb4b7f0c7 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EMRTRANSPARENTBLT.cs @@ -0,0 +1,61 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct EMRTRANSPARENTBLT + { + public EMR emr; + + public RECTL rclBounds; + + [NativeTypeName("LONG")] + public int xDest; + + [NativeTypeName("LONG")] + public int yDest; + + [NativeTypeName("LONG")] + public int cxDest; + + [NativeTypeName("LONG")] + public int cyDest; + + [NativeTypeName("DWORD")] + public uint dwRop; + + [NativeTypeName("LONG")] + public int xSrc; + + [NativeTypeName("LONG")] + public int ySrc; + + public XFORM xformSrc; + + [NativeTypeName("COLORREF")] + public uint crBkColorSrc; + + [NativeTypeName("DWORD")] + public uint iUsageSrc; + + [NativeTypeName("DWORD")] + public uint offBmiSrc; + + [NativeTypeName("DWORD")] + public uint cbBmiSrc; + + [NativeTypeName("DWORD")] + public uint offBitsSrc; + + [NativeTypeName("DWORD")] + public uint cbBitsSrc; + + [NativeTypeName("LONG")] + public int cxSrc; + + [NativeTypeName("LONG")] + public int cySrc; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENHMETAHEADER.cs b/sources/Interop/Gdi32/um/wingdi/ENHMETAHEADER.cs new file mode 100644 index 0000000000..58b859b367 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENHMETAHEADER.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ENHMETAHEADER + { + [NativeTypeName("DWORD")] + public uint iType; + + [NativeTypeName("DWORD")] + public uint nSize; + + public RECTL rclBounds; + + public RECTL rclFrame; + + [NativeTypeName("DWORD")] + public uint dSignature; + + [NativeTypeName("DWORD")] + public uint nVersion; + + [NativeTypeName("DWORD")] + public uint nBytes; + + [NativeTypeName("DWORD")] + public uint nRecords; + + [NativeTypeName("WORD")] + public ushort nHandles; + + [NativeTypeName("WORD")] + public ushort sReserved; + + [NativeTypeName("DWORD")] + public uint nDescription; + + [NativeTypeName("DWORD")] + public uint offDescription; + + [NativeTypeName("DWORD")] + public uint nPalEntries; + + public SIZE szlDevice; + + public SIZE szlMillimeters; + + [NativeTypeName("DWORD")] + public uint cbPixelFormat; + + [NativeTypeName("DWORD")] + public uint offPixelFormat; + + [NativeTypeName("DWORD")] + public uint bOpenGL; + + public SIZE szlMicrometers; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENHMETARECORD.cs b/sources/Interop/Gdi32/um/wingdi/ENHMETARECORD.cs new file mode 100644 index 0000000000..06d2ba4f20 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENHMETARECORD.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct ENHMETARECORD + { + [NativeTypeName("DWORD")] + public uint iType; + + [NativeTypeName("DWORD")] + public uint nSize; + + [NativeTypeName("DWORD [1]")] + public fixed uint dParm[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENHMFENUMPROC.cs b/sources/Interop/Gdi32/um/wingdi/ENHMFENUMPROC.cs new file mode 100644 index 0000000000..cd4c9a1bb5 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENHMFENUMPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int ENHMFENUMPROC([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HANDLETABLE *")] HANDLETABLE* lpht, [NativeTypeName("const ENHMETARECORD *")] ENHMETARECORD* lpmr, int nHandles, [NativeTypeName("LPARAM")] IntPtr data); +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONT.cs b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONT.cs new file mode 100644 index 0000000000..5a52802f97 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONT.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct ENUMLOGFONT + { + [NativeTypeName("LOGFONTW")] + public LOGFONT elfLogFont; + + [NativeTypeName("WCHAR [64]")] + public fixed ushort elfFullName[64]; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort elfStyle[32]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEX.cs b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEX.cs new file mode 100644 index 0000000000..72c15884cd --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEX.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct ENUMLOGFONTEX + { + [NativeTypeName("LOGFONTW")] + public LOGFONT elfLogFont; + + [NativeTypeName("WCHAR [64]")] + public fixed ushort elfFullName[64]; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort elfStyle[32]; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort elfScript[32]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEXDV.cs b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEXDV.cs new file mode 100644 index 0000000000..8b868899d6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENUMLOGFONTEXDV.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ENUMLOGFONTEXDV + { + [NativeTypeName("ENUMLOGFONTEXW")] + public ENUMLOGFONTEX elfEnumLogfontEx; + + public DESIGNVECTOR elfDesignVector; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ENUMTEXTMETRIC.cs b/sources/Interop/Gdi32/um/wingdi/ENUMTEXTMETRIC.cs new file mode 100644 index 0000000000..7a2d1d06dc --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ENUMTEXTMETRIC.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ENUMTEXTMETRIC + { + [NativeTypeName("NEWTEXTMETRICEXW")] + public NEWTEXTMETRICEX etmNewTextMetricEx; + + [NativeTypeName("AXESLISTW")] + public AXESLIST etmAxesList; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EXTLOGFONT.cs b/sources/Interop/Gdi32/um/wingdi/EXTLOGFONT.cs new file mode 100644 index 0000000000..8fdcc03ddb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EXTLOGFONT.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EXTLOGFONT + { + [NativeTypeName("LOGFONTW")] + public LOGFONT elfLogFont; + + [NativeTypeName("WCHAR [64]")] + public fixed ushort elfFullName[64]; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort elfStyle[32]; + + [NativeTypeName("DWORD")] + public uint elfVersion; + + [NativeTypeName("DWORD")] + public uint elfStyleSize; + + [NativeTypeName("DWORD")] + public uint elfMatch; + + [NativeTypeName("DWORD")] + public uint elfReserved; + + [NativeTypeName("BYTE [4]")] + public fixed byte elfVendorId[4]; + + [NativeTypeName("DWORD")] + public uint elfCulture; + + public PANOSE elfPanose; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN.cs b/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN.cs new file mode 100644 index 0000000000..ede802c67a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct EXTLOGPEN + { + [NativeTypeName("DWORD")] + public uint elpPenStyle; + + [NativeTypeName("DWORD")] + public uint elpWidth; + + [NativeTypeName("UINT")] + public uint elpBrushStyle; + + [NativeTypeName("COLORREF")] + public uint elpColor; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr elpHatch; + + [NativeTypeName("DWORD")] + public uint elpNumEntries; + + [NativeTypeName("DWORD [1]")] + public fixed uint elpStyleEntry[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN32.cs b/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN32.cs new file mode 100644 index 0000000000..85be060ba3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/EXTLOGPEN32.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct EXTLOGPEN32 + { + [NativeTypeName("DWORD")] + public uint elpPenStyle; + + [NativeTypeName("DWORD")] + public uint elpWidth; + + [NativeTypeName("UINT")] + public uint elpBrushStyle; + + [NativeTypeName("COLORREF")] + public uint elpColor; + + [NativeTypeName("ULONG")] + public uint elpHatch; + + [NativeTypeName("DWORD")] + public uint elpNumEntries; + + [NativeTypeName("DWORD [1]")] + public fixed uint elpStyleEntry[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/FIXED.cs b/sources/Interop/Gdi32/um/wingdi/FIXED.cs new file mode 100644 index 0000000000..b388489d39 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/FIXED.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct FIXED + { + [NativeTypeName("WORD")] + public ushort fract; + + public short value; + } +} diff --git a/sources/Interop/Windows/um/wingdi/FONTSIGNATURE.cs b/sources/Interop/Gdi32/um/wingdi/FONTSIGNATURE.cs similarity index 85% rename from sources/Interop/Windows/um/wingdi/FONTSIGNATURE.cs rename to sources/Interop/Gdi32/um/wingdi/FONTSIGNATURE.cs index 5d25283258..87e1d85a62 100644 --- a/sources/Interop/Windows/um/wingdi/FONTSIGNATURE.cs +++ b/sources/Interop/Gdi32/um/wingdi/FONTSIGNATURE.cs @@ -7,10 +7,10 @@ namespace TerraFX.Interop { public unsafe struct FONTSIGNATURE { - [NativeTypeName("DWORD[4]")] + [NativeTypeName("DWORD [4]")] public fixed uint fsUsb[4]; - [NativeTypeName("DWORD[2]")] + [NativeTypeName("DWORD [2]")] public fixed uint fsCsb[2]; } } diff --git a/sources/Interop/Gdi32/um/wingdi/GCP_RESULTS.cs b/sources/Interop/Gdi32/um/wingdi/GCP_RESULTS.cs new file mode 100644 index 0000000000..57ebad52e3 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GCP_RESULTS.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct GCP_RESULTS + { + [NativeTypeName("DWORD")] + public uint lStructSize; + + [NativeTypeName("LPWSTR")] + public ushort* lpOutString; + + [NativeTypeName("UINT *")] + public uint* lpOrder; + + [NativeTypeName("int *")] + public int* lpDx; + + [NativeTypeName("int *")] + public int* lpCaretPos; + + [NativeTypeName("LPSTR")] + public sbyte* lpClass; + + [NativeTypeName("LPWSTR")] + public ushort* lpGlyphs; + + [NativeTypeName("UINT")] + public uint nGlyphs; + + public int nMaxFit; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GDIMARSHALLOC.cs b/sources/Interop/Gdi32/um/wingdi/GDIMARSHALLOC.cs new file mode 100644 index 0000000000..d6b9e3f710 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GDIMARSHALLOC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("PVOID")] + public unsafe delegate void* GDIMARSHALLOC([NativeTypeName("DWORD")] uint dwSize, [NativeTypeName("LPVOID")] void* pGdiRef); +} diff --git a/sources/Interop/Gdi32/um/wingdi/GDIREGISTERDDRAWPACKET.cs b/sources/Interop/Gdi32/um/wingdi/GDIREGISTERDDRAWPACKET.cs new file mode 100644 index 0000000000..5720c6916e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GDIREGISTERDDRAWPACKET.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct GDIREGISTERDDRAWPACKET + { + [NativeTypeName("DWORD")] + public uint dwSize; + + [NativeTypeName("DWORD")] + public uint dwVersion; + + [NativeTypeName("DDRAWMARSHCALLBACKMARSHAL")] + public IntPtr pfnDdMarshal; + + [NativeTypeName("DDRAWMARSHCALLBACKUNMARSHAL")] + public IntPtr pfnDdUnmarshal; + + [NativeTypeName("DDRAWMARSHCALLBACKRELEASE")] + public IntPtr pfnDdRelease; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICS.cs b/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICS.cs new file mode 100644 index 0000000000..eb24e52052 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICS.cs @@ -0,0 +1,21 @@ + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct GLYPHMETRICS + { + [NativeTypeName("UINT")] + public uint gmBlackBoxX; + + [NativeTypeName("UINT")] + public uint gmBlackBoxY; + + public POINT gmptGlyphOrigin; + + public short gmCellIncX; + + public short gmCellIncY; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICSFLOAT.cs b/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICSFLOAT.cs new file mode 100644 index 0000000000..81f7860c46 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GLYPHMETRICSFLOAT.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct GLYPHMETRICSFLOAT + { + [NativeTypeName("FLOAT")] + public float gmfBlackBoxX; + + [NativeTypeName("FLOAT")] + public float gmfBlackBoxY; + + public POINTFLOAT gmfptGlyphOrigin; + + [NativeTypeName("FLOAT")] + public float gmfCellIncX; + + [NativeTypeName("FLOAT")] + public float gmfCellIncY; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GLYPHSET.cs b/sources/Interop/Gdi32/um/wingdi/GLYPHSET.cs new file mode 100644 index 0000000000..4c3ff7a61a --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GLYPHSET.cs @@ -0,0 +1,37 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct GLYPHSET + { + [NativeTypeName("DWORD")] + public uint cbThis; + + [NativeTypeName("DWORD")] + public uint flAccel; + + [NativeTypeName("DWORD")] + public uint cGlyphsSupported; + + [NativeTypeName("DWORD")] + public uint cRanges; + + [NativeTypeName("WCRANGE [1]")] + public _ranges_e__FixedBuffer ranges; + + public partial struct _ranges_e__FixedBuffer + { + internal WCRANGE e0; + + public ref WCRANGE this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GOBJENUMPROC.cs b/sources/Interop/Gdi32/um/wingdi/GOBJENUMPROC.cs new file mode 100644 index 0000000000..d39bc66bab --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GOBJENUMPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int GOBJENUMPROC([NativeTypeName("LPVOID")] void* param0, [NativeTypeName("LPARAM")] IntPtr param1); +} diff --git a/sources/Interop/Gdi32/um/wingdi/GRADIENT_RECT.cs b/sources/Interop/Gdi32/um/wingdi/GRADIENT_RECT.cs new file mode 100644 index 0000000000..f2c52fbc11 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GRADIENT_RECT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct GRADIENT_RECT + { + [NativeTypeName("ULONG")] + public uint UpperLeft; + + [NativeTypeName("ULONG")] + public uint LowerRight; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/GRADIENT_TRIANGLE.cs b/sources/Interop/Gdi32/um/wingdi/GRADIENT_TRIANGLE.cs new file mode 100644 index 0000000000..283f00cea8 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/GRADIENT_TRIANGLE.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct GRADIENT_TRIANGLE + { + [NativeTypeName("ULONG")] + public uint Vertex1; + + [NativeTypeName("ULONG")] + public uint Vertex2; + + [NativeTypeName("ULONG")] + public uint Vertex3; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/Gdi32.Manual.cs b/sources/Interop/Gdi32/um/wingdi/Gdi32.Manual.cs new file mode 100644 index 0000000000..53d7d816e2 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/Gdi32.Manual.cs @@ -0,0 +1,2943 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.CompilerServices; +using static TerraFX.Interop.Windows; + +namespace TerraFX.Interop +{ + public static unsafe partial class Gdi32 + { + public const int R2_BLACK = 1; + + public const int R2_NOTMERGEPEN = 2; + + public const int R2_MASKNOTPEN = 3; + + public const int R2_NOTCOPYPEN = 4; + + public const int R2_MASKPENNOT = 5; + + public const int R2_NOT = 6; + + public const int R2_XORPEN = 7; + + public const int R2_NOTMASKPEN = 8; + + public const int R2_MASKPEN = 9; + + public const int R2_NOTXORPEN = 10; + + public const int R2_NOP = 11; + + public const int R2_MERGENOTPEN = 12; + + public const int R2_COPYPEN = 13; + + public const int R2_MERGEPENNOT = 14; + + public const int R2_MERGEPEN = 15; + + public const int R2_WHITE = 16; + + public const int R2_LAST = 16; + + public const uint SRCCOPY = 0x00CC0020; + + public const uint SRCPAINT = 0x00EE0086; + + public const uint SRCAND = 0x008800C6; + + public const uint SRCINVERT = 0x00660046; + + public const uint SRCERASE = 0x00440328; + + public const uint NOTSRCCOPY = 0x00330008; + + public const uint NOTSRCERASE = 0x001100A6; + + public const uint MERGECOPY = 0x00C000CA; + + public const uint MERGEPAINT = 0x00BB0226; + + public const uint PATCOPY = 0x00F00021; + + public const uint PATPAINT = 0x00FB0A09; + + public const uint PATINVERT = 0x005A0049; + + public const uint DSTINVERT = 0x00550009; + + public const uint BLACKNESS = 0x00000042; + + public const uint WHITENESS = 0x00FF0062; + + public const uint NOMIRRORBITMAP = 0x80000000; + + public const uint CAPTUREBLT = 0x40000000; + + public const int GDI_ERROR = unchecked((int)0xFFFFFFFF); + + public const int HGDI_ERROR = -1; + + public const int ERROR = 0; + + public const int NULLREGION = 1; + + public const int SIMPLEREGION = 2; + + public const int COMPLEXREGION = 3; + + public const int RGN_ERROR = ERROR; + + public const int RGN_AND = 1; + + public const int RGN_OR = 2; + + public const int RGN_XOR = 3; + + public const int RGN_DIFF = 4; + + public const int RGN_COPY = 5; + + public const int RGN_MIN = RGN_AND; + + public const int RGN_MAX = RGN_COPY; + + public const int BLACKONWHITE = 1; + + public const int WHITEONBLACK = 2; + + public const int COLORONCOLOR = 3; + + public const int HALFTONE = 4; + + public const int MAXSTRETCHBLTMODE = 4; + + public const int STRETCH_ANDSCANS = BLACKONWHITE; + + public const int STRETCH_ORSCANS = WHITEONBLACK; + + public const int STRETCH_DELETESCANS = COLORONCOLOR; + + public const int STRETCH_HALFTONE = HALFTONE; + + public const int ALTERNATE = 1; + + public const int WINDING = 2; + + public const int POLYFILL_LAST = 2; + + public const int LAYOUT_RTL = 0x00000001; + + public const int LAYOUT_BTT = 0x00000002; + + public const int LAYOUT_VBH = 0x00000004; + + public const int LAYOUT_ORIENTATIONMASK = LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH; + + public const int LAYOUT_BITMAPORIENTATIONPRESERVED = 0x00000008; + + public const int TA_NOUPDATECP = 0; + + public const int TA_UPDATECP = 1; + + public const int TA_LEFT = 0; + + public const int TA_RIGHT = 2; + + public const int TA_CENTER = 6; + + public const int TA_TOP = 0; + + public const int TA_BOTTOM = 8; + + public const int TA_BASELINE = 24; + + public const int TA_RTLREADING = 256; + + public const int TA_MASK = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING; + + public const int VTA_BASELINE = TA_BASELINE; + + public const int VTA_LEFT = TA_BOTTOM; + + public const int VTA_RIGHT = TA_TOP; + + public const int VTA_CENTER = TA_CENTER; + + public const int VTA_BOTTOM = TA_RIGHT; + + public const int VTA_TOP = TA_LEFT; + + public const int ETO_OPAQUE = 0x0002; + + public const int ETO_CLIPPED = 0x0004; + + public const int ETO_GLYPH_INDEX = 0x0010; + + public const int ETO_RTLREADING = 0x0080; + + public const int ETO_NUMERICSLOCAL = 0x0400; + + public const int ETO_NUMERICSLATIN = 0x0800; + + public const int ETO_IGNORELANGUAGE = 0x1000; + + public const int ETO_PDY = 0x2000; + + public const int ETO_REVERSE_INDEX_MAP = 0x10000; + + public const int ASPECT_FILTERING = 0x0001; + + public const int DCB_RESET = 0x0001; + + public const int DCB_ACCUMULATE = 0x0002; + + public const int DCB_DIRTY = DCB_ACCUMULATE; + + public const int DCB_SET = DCB_RESET | DCB_ACCUMULATE; + + public const int DCB_ENABLE = 0x0004; + + public const int DCB_DISABLE = 0x0008; + + public const int META_SETBKCOLOR = 0x0201; + + public const int META_SETBKMODE = 0x0102; + + public const int META_SETMAPMODE = 0x0103; + + public const int META_SETROP2 = 0x0104; + + public const int META_SETRELABS = 0x0105; + + public const int META_SETPOLYFILLMODE = 0x0106; + + public const int META_SETSTRETCHBLTMODE = 0x0107; + + public const int META_SETTEXTCHAREXTRA = 0x0108; + + public const int META_SETTEXTCOLOR = 0x0209; + + public const int META_SETTEXTJUSTIFICATION = 0x020A; + + public const int META_SETWINDOWORG = 0x020B; + + public const int META_SETWINDOWEXT = 0x020C; + + public const int META_SETVIEWPORTORG = 0x020D; + + public const int META_SETVIEWPORTEXT = 0x020E; + + public const int META_OFFSETWINDOWORG = 0x020F; + + public const int META_SCALEWINDOWEXT = 0x0410; + + public const int META_OFFSETVIEWPORTORG = 0x0211; + + public const int META_SCALEVIEWPORTEXT = 0x0412; + + public const int META_LINETO = 0x0213; + + public const int META_MOVETO = 0x0214; + + public const int META_EXCLUDECLIPRECT = 0x0415; + + public const int META_INTERSECTCLIPRECT = 0x0416; + + public const int META_ARC = 0x0817; + + public const int META_ELLIPSE = 0x0418; + + public const int META_FLOODFILL = 0x0419; + + public const int META_PIE = 0x081A; + + public const int META_RECTANGLE = 0x041B; + + public const int META_ROUNDRECT = 0x061C; + + public const int META_PATBLT = 0x061D; + + public const int META_SAVEDC = 0x001E; + + public const int META_SETPIXEL = 0x041F; + + public const int META_OFFSETCLIPRGN = 0x0220; + + public const int META_TEXTOUT = 0x0521; + + public const int META_BITBLT = 0x0922; + + public const int META_STRETCHBLT = 0x0B23; + + public const int META_POLYGON = 0x0324; + + public const int META_POLYLINE = 0x0325; + + public const int META_ESCAPE = 0x0626; + + public const int META_RESTOREDC = 0x0127; + + public const int META_FILLREGION = 0x0228; + + public const int META_FRAMEREGION = 0x0429; + + public const int META_INVERTREGION = 0x012A; + + public const int META_PAINTREGION = 0x012B; + + public const int META_SELECTCLIPREGION = 0x012C; + + public const int META_SELECTOBJECT = 0x012D; + + public const int META_SETTEXTALIGN = 0x012E; + + public const int META_CHORD = 0x0830; + + public const int META_SETMAPPERFLAGS = 0x0231; + + public const int META_EXTTEXTOUT = 0x0A32; + + public const int META_SETDIBTODEV = 0x0D33; + + public const int META_SELECTPALETTE = 0x0234; + + public const int META_REALIZEPALETTE = 0x0035; + + public const int META_ANIMATEPALETTE = 0x0436; + + public const int META_SETPALENTRIES = 0x0037; + + public const int META_POLYPOLYGON = 0x0538; + + public const int META_RESIZEPALETTE = 0x0139; + + public const int META_DIBBITBLT = 0x0940; + + public const int META_DIBSTRETCHBLT = 0x0B41; + + public const int META_DIBCREATEPATTERNBRUSH = 0x0142; + + public const int META_STRETCHDIB = 0x0F43; + + public const int META_EXTFLOODFILL = 0x0548; + + public const int META_SETLAYOUT = 0x0149; + + public const int META_DELETEOBJECT = 0x01F0; + + public const int META_CREATEPALETTE = 0x00F7; + + public const int META_CREATEPATTERNBRUSH = 0x01F9; + + public const int META_CREATEPENINDIRECT = 0x02FA; + + public const int META_CREATEFONTINDIRECT = 0x02FB; + + public const int META_CREATEBRUSHINDIRECT = 0x02FC; + + public const int META_CREATEREGION = 0x06FF; + + public const int NEWFRAME = 1; + + public const int ABORTDOC = 2; + + public const int NEXTBAND = 3; + + public const int SETCOLORTABLE = 4; + + public const int GETCOLORTABLE = 5; + + public const int FLUSHOUTPUT = 6; + + public const int DRAFTMODE = 7; + + public const int QUERYESCSUPPORT = 8; + + public const int SETABORTPROC = 9; + + public const int STARTDOC = 10; + + public const int ENDDOC = 11; + + public const int GETPHYSPAGESIZE = 12; + + public const int GETPRINTINGOFFSET = 13; + + public const int GETSCALINGFACTOR = 14; + + public const int MFCOMMENT = 15; + + public const int GETPENWIDTH = 16; + + public const int SETCOPYCOUNT = 17; + + public const int SELECTPAPERSOURCE = 18; + + public const int DEVICEDATA = 19; + + public const int PASSTHROUGH = 19; + + public const int GETTECHNOLGY = 20; + + public const int GETTECHNOLOGY = 20; + + public const int SETLINECAP = 21; + + public const int SETLINEJOIN = 22; + + public const int SETMITERLIMIT = 23; + + public const int BANDINFO = 24; + + public const int DRAWPATTERNRECT = 25; + + public const int GETVECTORPENSIZE = 26; + + public const int GETVECTORBRUSHSIZE = 27; + + public const int ENABLEDUPLEX = 28; + + public const int GETSETPAPERBINS = 29; + + public const int GETSETPRINTORIENT = 30; + + public const int ENUMPAPERBINS = 31; + + public const int SETDIBSCALING = 32; + + public const int EPSPRINTING = 33; + + public const int ENUMPAPERMETRICS = 34; + + public const int GETSETPAPERMETRICS = 35; + + public const int POSTSCRIPT_DATA = 37; + + public const int POSTSCRIPT_IGNORE = 38; + + public const int MOUSETRAILS = 39; + + public const int GETDEVICEUNITS = 42; + + public const int GETEXTENDEDTEXTMETRICS = 256; + + public const int GETEXTENTTABLE = 257; + + public const int GETPAIRKERNTABLE = 258; + + public const int GETTRACKKERNTABLE = 259; + + public const int EXTTEXTOUT = 512; + + public const int GETFACENAME = 513; + + public const int DOWNLOADFACE = 514; + + public const int ENABLERELATIVEWIDTHS = 768; + + public const int ENABLEPAIRKERNING = 769; + + public const int SETKERNTRACK = 770; + + public const int SETALLJUSTVALUES = 771; + + public const int SETCHARSET = 772; + + public const int STRETCHBLT = 2048; + + public const int METAFILE_DRIVER = 2049; + + public const int GETSETSCREENPARAMS = 3072; + + public const int QUERYDIBSUPPORT = 3073; + + public const int BEGIN_PATH = 4096; + + public const int CLIP_TO_PATH = 4097; + + public const int END_PATH = 4098; + + public const int EXT_DEVICE_CAPS = 4099; + + public const int RESTORE_CTM = 4100; + + public const int SAVE_CTM = 4101; + + public const int SET_ARC_DIRECTION = 4102; + + public const int SET_BACKGROUND_COLOR = 4103; + + public const int SET_POLY_MODE = 4104; + + public const int SET_SCREEN_ANGLE = 4105; + + public const int SET_SPREAD = 4106; + + public const int TRANSFORM_CTM = 4107; + + public const int SET_CLIP_BOX = 4108; + + public const int SET_BOUNDS = 4109; + + public const int SET_MIRROR_MODE = 4110; + + public const int OPENCHANNEL = 4110; + + public const int DOWNLOADHEADER = 4111; + + public const int CLOSECHANNEL = 4112; + + public const int POSTSCRIPT_PASSTHROUGH = 4115; + + public const int ENCAPSULATED_POSTSCRIPT = 4116; + + public const int POSTSCRIPT_IDENTIFY = 4117; + + public const int POSTSCRIPT_INJECTION = 4118; + + public const int CHECKJPEGFORMAT = 4119; + + public const int CHECKPNGFORMAT = 4120; + + public const int GET_PS_FEATURESETTING = 4121; + + public const int GDIPLUS_TS_QUERYVER = 4122; + + public const int GDIPLUS_TS_RECORD = 4123; + + public const int MILCORE_TS_QUERYVER_RESULT_FALSE = 0x0; + + public const int MILCORE_TS_QUERYVER_RESULT_TRUE = 0x7FFFFFFF; + + public const int SPCLPASSTHROUGH2 = 4568; + + public const int PSIDENT_GDICENTRIC = 0; + + public const int PSIDENT_PSCENTRIC = 1; + + public const int PSINJECT_BEGINSTREAM = 1; + + public const int PSINJECT_PSADOBE = 2; + + public const int PSINJECT_PAGESATEND = 3; + + public const int PSINJECT_PAGES = 4; + + public const int PSINJECT_DOCNEEDEDRES = 5; + + public const int PSINJECT_DOCSUPPLIEDRES = 6; + + public const int PSINJECT_PAGEORDER = 7; + + public const int PSINJECT_ORIENTATION = 8; + + public const int PSINJECT_BOUNDINGBOX = 9; + + public const int PSINJECT_DOCUMENTPROCESSCOLORS = 10; + + public const int PSINJECT_COMMENTS = 11; + + public const int PSINJECT_BEGINDEFAULTS = 12; + + public const int PSINJECT_ENDDEFAULTS = 13; + + public const int PSINJECT_BEGINPROLOG = 14; + + public const int PSINJECT_ENDPROLOG = 15; + + public const int PSINJECT_BEGINSETUP = 16; + + public const int PSINJECT_ENDSETUP = 17; + + public const int PSINJECT_TRAILER = 18; + + public const int PSINJECT_EOF = 19; + + public const int PSINJECT_ENDSTREAM = 20; + + public const int PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21; + + public const int PSINJECT_PAGENUMBER = 100; + + public const int PSINJECT_BEGINPAGESETUP = 101; + + public const int PSINJECT_ENDPAGESETUP = 102; + + public const int PSINJECT_PAGETRAILER = 103; + + public const int PSINJECT_PLATECOLOR = 104; + + public const int PSINJECT_SHOWPAGE = 105; + + public const int PSINJECT_PAGEBBOX = 106; + + public const int PSINJECT_ENDPAGECOMMENTS = 107; + + public const int PSINJECT_VMSAVE = 200; + + public const int PSINJECT_VMRESTORE = 201; + + public const uint PSINJECT_DLFONT = 0xDDDDDDDD; + + public const int FEATURESETTING_NUP = 0; + + public const int FEATURESETTING_OUTPUT = 1; + + public const int FEATURESETTING_PSLEVEL = 2; + + public const int FEATURESETTING_CUSTPAPER = 3; + + public const int FEATURESETTING_MIRROR = 4; + + public const int FEATURESETTING_NEGATIVE = 5; + + public const int FEATURESETTING_PROTOCOL = 6; + + public const int FEATURESETTING_PRIVATE_BEGIN = 0x1000; + + public const int FEATURESETTING_PRIVATE_END = 0x1FFF; + + public const int PSPROTOCOL_ASCII = 0; + + public const int PSPROTOCOL_BCP = 1; + + public const int PSPROTOCOL_TBCP = 2; + + public const int PSPROTOCOL_BINARY = 3; + + public const int QDI_SETDIBITS = 1; + + public const int QDI_GETDIBITS = 2; + + public const int QDI_DIBTOSCREEN = 4; + + public const int QDI_STRETCHDIB = 8; + + public const int SP_NOTREPORTED = 0x4000; + + public const int SP_ERROR = -1; + + public const int SP_APPABORT = -2; + + public const int SP_USERABORT = -3; + + public const int SP_OUTOFDISK = -4; + + public const int SP_OUTOFMEMORY = -5; + + public const int PR_JOBSTATUS = 0x0000; + + public const int OBJ_PEN = 1; + + public const int OBJ_BRUSH = 2; + + public const int OBJ_DC = 3; + + public const int OBJ_METADC = 4; + + public const int OBJ_PAL = 5; + + public const int OBJ_FONT = 6; + + public const int OBJ_BITMAP = 7; + + public const int OBJ_REGION = 8; + + public const int OBJ_METAFILE = 9; + + public const int OBJ_MEMDC = 10; + + public const int OBJ_EXTPEN = 11; + + public const int OBJ_ENHMETADC = 12; + + public const int OBJ_ENHMETAFILE = 13; + + public const int OBJ_COLORSPACE = 14; + + public const int GDI_OBJ_LAST = OBJ_COLORSPACE; + + public const int MWT_IDENTITY = 1; + + public const int MWT_LEFTMULTIPLY = 2; + + public const int MWT_RIGHTMULTIPLY = 3; + + public const int MWT_MIN = MWT_IDENTITY; + + public const int MWT_MAX = MWT_RIGHTMULTIPLY; + + public const int CS_ENABLE = 0x00000001; + + public const int CS_DISABLE = 0x00000002; + + public const int CS_DELETE_TRANSFORM = 0x00000003; + + // 'PSOC' + public const int LCS_SIGNATURE = 0x50534F43; + + // 'sRGB' + public const int LCS_sRGB = 0x73524742; + + // 'Win ' + public const int LCS_WINDOWS_COLOR_SPACE = 0x57696E20; + + public const int LCS_CALIBRATED_RGB = 0x00000000; + + public const int LCS_GM_BUSINESS = 0x00000001; + + public const int LCS_GM_GRAPHICS = 0x00000002; + + public const int LCS_GM_IMAGES = 0x00000004; + + public const int LCS_GM_ABS_COLORIMETRIC = 0x00000008; + + public const int CM_OUT_OF_GAMUT = 255; + + public const int CM_IN_GAMUT = 0; + + public const int ICM_ADDPROFILE = 1; + + public const int ICM_DELETEPROFILE = 2; + + public const int ICM_QUERYPROFILE = 3; + + public const int ICM_SETDEFAULTPROFILE = 4; + + public const int ICM_REGISTERICMATCHER = 5; + + public const int ICM_UNREGISTERICMATCHER = 6; + + public const int ICM_QUERYMATCH = 7; + + // 'LINK' + public const int PROFILE_LINKED = 0x4C494E4B; + + // 'MBED' + public const int PROFILE_EMBEDDED = 0x4D424544; + + public const int BI_RGB = 0; + + public const int BI_RLE8 = 1; + + public const int BI_RLE4 = 2; + + public const int BI_BITFIELDS = 3; + + public const int BI_JPEG = 4; + + public const int BI_PNG = 5; + + public const int TCI_SRCCHARSET = 1; + + public const int TCI_SRCCODEPAGE = 2; + + public const int TCI_SRCFONTSIG = 3; + + public const int TCI_SRCLOCALE = 0x1000; + + public const int TMPF_FIXED_PITCH = 0x01; + + public const int TMPF_VECTOR = 0x02; + + public const int TMPF_DEVICE = 0x08; + + public const int TMPF_TRUETYPE = 0x04; + + public const int NTM_REGULAR = 0x00000040; + + public const int NTM_BOLD = 0x00000020; + + public const int NTM_ITALIC = 0x00000001; + + public const int NTM_NONNEGATIVE_AC = 0x00010000; + + public const int NTM_PS_OPENTYPE = 0x00020000; + + public const int NTM_TT_OPENTYPE = 0x00040000; + + public const int NTM_MULTIPLEMASTER = 0x00080000; + + public const int NTM_TYPE1 = 0x00100000; + + public const int NTM_DSIG = 0x00200000; + + public const int LF_FACESIZE = 32; + + public const int LF_FULLFACESIZE = 64; + + public const int OUT_DEFAULT_PRECIS = 0; + + public const int OUT_STRING_PRECIS = 1; + + public const int OUT_CHARACTER_PRECIS = 2; + + public const int OUT_STROKE_PRECIS = 3; + + public const int OUT_TT_PRECIS = 4; + + public const int OUT_DEVICE_PRECIS = 5; + + public const int OUT_RASTER_PRECIS = 6; + + public const int OUT_TT_ONLY_PRECIS = 7; + + public const int OUT_OUTLINE_PRECIS = 8; + + public const int OUT_SCREEN_OUTLINE_PRECIS = 9; + + public const int OUT_PS_ONLY_PRECIS = 10; + + public const int CLIP_DEFAULT_PRECIS = 0; + + public const int CLIP_CHARACTER_PRECIS = 1; + + public const int CLIP_STROKE_PRECIS = 2; + + public const int CLIP_MASK = 0xF; + + public const int CLIP_LH_ANGLES = 1 << 4; + + public const int CLIP_TT_ALWAYS = 2 << 4; + + public const int CLIP_DFA_DISABLE = 4 << 4; + + public const int CLIP_EMBEDDED = 8 << 4; + + public const int DEFAULT_QUALITY = 0; + + public const int DRAFT_QUALITY = 1; + + public const int PROOF_QUALITY = 2; + + public const int NONANTIALIASED_QUALITY = 3; + + public const int ANTIALIASED_QUALITY = 4; + + public const int CLEARTYPE_QUALITY = 5; + + public const int CLEARTYPE_NATURAL_QUALITY = 6; + + public const int DEFAULT_PITCH = 0; + + public const int FIXED_PITCH = 1; + + public const int VARIABLE_PITCH = 2; + + public const int MONO_FONT = 8; + + public const int ANSI_CHARSET = 0; + + public const int DEFAULT_CHARSET = 1; + + public const int SYMBOL_CHARSET = 2; + + public const int SHIFTJIS_CHARSET = 128; + + public const int HANGEUL_CHARSET = 129; + + public const int HANGUL_CHARSET = 129; + + public const int GB2312_CHARSET = 134; + + public const int CHINESEBIG5_CHARSET = 136; + + public const int OEM_CHARSET = 255; + + public const int JOHAB_CHARSET = 130; + + public const int HEBREW_CHARSET = 177; + + public const int ARABIC_CHARSET = 178; + + public const int GREEK_CHARSET = 161; + + public const int TURKISH_CHARSET = 162; + + public const int VIETNAMESE_CHARSET = 163; + + public const int THAI_CHARSET = 222; + + public const int EASTEUROPE_CHARSET = 238; + + public const int RUSSIAN_CHARSET = 204; + + public const int MAC_CHARSET = 77; + + public const int BALTIC_CHARSET = 186; + + public const uint FS_LATIN1 = 0x00000001; + + public const uint FS_LATIN2 = 0x00000002; + + public const uint FS_CYRILLIC = 0x00000004; + + public const uint FS_GREEK = 0x00000008; + + public const uint FS_TURKISH = 0x00000010; + + public const uint FS_HEBREW = 0x00000020; + + public const uint FS_ARABIC = 0x00000040; + + public const uint FS_BALTIC = 0x00000080; + + public const uint FS_VIETNAMESE = 0x00000100; + + public const uint FS_THAI = 0x00010000; + + public const uint FS_JISJAPAN = 0x00020000; + + public const uint FS_CHINESESIMP = 0x00040000; + + public const uint FS_WANSUNG = 0x00080000; + + public const uint FS_CHINESETRAD = 0x00100000; + + public const uint FS_JOHAB = 0x00200000; + + public const uint FS_SYMBOL = 0x80000000; + + public const int FF_DONTCARE = 0 << 4; + + public const int FF_ROMAN = 1 << 4; + + public const int FF_SWISS = 2 << 4; + + public const int FF_MODERN = 3 << 4; + + public const int FF_SCRIPT = 4 << 4; + + public const int FF_DECORATIVE = 5 << 4; + + public const int FW_DONTCARE = 0; + + public const int FW_THIN = 100; + + public const int FW_EXTRALIGHT = 200; + + public const int FW_LIGHT = 300; + + public const int FW_NORMAL = 400; + + public const int FW_MEDIUM = 500; + + public const int FW_SEMIBOLD = 600; + + public const int FW_BOLD = 700; + + public const int FW_EXTRABOLD = 800; + + public const int FW_HEAVY = 900; + + public const int FW_ULTRALIGHT = FW_EXTRALIGHT; + + public const int FW_REGULAR = FW_NORMAL; + + public const int FW_DEMIBOLD = FW_SEMIBOLD; + + public const int FW_ULTRABOLD = FW_EXTRABOLD; + + public const int FW_BLACK = FW_HEAVY; + + public const int PANOSE_COUNT = 10; + + public const int PAN_FAMILYTYPE_INDEX = 0; + + public const int PAN_SERIFSTYLE_INDEX = 1; + + public const int PAN_WEIGHT_INDEX = 2; + + public const int PAN_PROPORTION_INDEX = 3; + + public const int PAN_CONTRAST_INDEX = 4; + + public const int PAN_STROKEVARIATION_INDEX = 5; + + public const int PAN_ARMSTYLE_INDEX = 6; + + public const int PAN_LETTERFORM_INDEX = 7; + + public const int PAN_MIDLINE_INDEX = 8; + + public const int PAN_XHEIGHT_INDEX = 9; + + public const int PAN_CULTURE_LATIN = 0; + + public const int PAN_ANY = 0; + + public const int PAN_NO_FIT = 1; + + public const int PAN_FAMILY_TEXT_DISPLAY = 2; + + public const int PAN_FAMILY_SCRIPT = 3; + + public const int PAN_FAMILY_DECORATIVE = 4; + + public const int PAN_FAMILY_PICTORIAL = 5; + + public const int PAN_SERIF_COVE = 2; + + public const int PAN_SERIF_OBTUSE_COVE = 3; + + public const int PAN_SERIF_SQUARE_COVE = 4; + + public const int PAN_SERIF_OBTUSE_SQUARE_COVE = 5; + + public const int PAN_SERIF_SQUARE = 6; + + public const int PAN_SERIF_THIN = 7; + + public const int PAN_SERIF_BONE = 8; + + public const int PAN_SERIF_EXAGGERATED = 9; + + public const int PAN_SERIF_TRIANGLE = 10; + + public const int PAN_SERIF_NORMAL_SANS = 11; + + public const int PAN_SERIF_OBTUSE_SANS = 12; + + public const int PAN_SERIF_PERP_SANS = 13; + + public const int PAN_SERIF_FLARED = 14; + + public const int PAN_SERIF_ROUNDED = 15; + + public const int PAN_WEIGHT_VERY_LIGHT = 2; + + public const int PAN_WEIGHT_LIGHT = 3; + + public const int PAN_WEIGHT_THIN = 4; + + public const int PAN_WEIGHT_BOOK = 5; + + public const int PAN_WEIGHT_MEDIUM = 6; + + public const int PAN_WEIGHT_DEMI = 7; + + public const int PAN_WEIGHT_BOLD = 8; + + public const int PAN_WEIGHT_HEAVY = 9; + + public const int PAN_WEIGHT_BLACK = 10; + + public const int PAN_WEIGHT_NORD = 11; + + public const int PAN_PROP_OLD_STYLE = 2; + + public const int PAN_PROP_MODERN = 3; + + public const int PAN_PROP_EVEN_WIDTH = 4; + + public const int PAN_PROP_EXPANDED = 5; + + public const int PAN_PROP_CONDENSED = 6; + + public const int PAN_PROP_VERY_EXPANDED = 7; + + public const int PAN_PROP_VERY_CONDENSED = 8; + + public const int PAN_PROP_MONOSPACED = 9; + + public const int PAN_CONTRAST_NONE = 2; + + public const int PAN_CONTRAST_VERY_LOW = 3; + + public const int PAN_CONTRAST_LOW = 4; + + public const int PAN_CONTRAST_MEDIUM_LOW = 5; + + public const int PAN_CONTRAST_MEDIUM = 6; + + public const int PAN_CONTRAST_MEDIUM_HIGH = 7; + + public const int PAN_CONTRAST_HIGH = 8; + + public const int PAN_CONTRAST_VERY_HIGH = 9; + + public const int PAN_STROKE_GRADUAL_DIAG = 2; + + public const int PAN_STROKE_GRADUAL_TRAN = 3; + + public const int PAN_STROKE_GRADUAL_VERT = 4; + + public const int PAN_STROKE_GRADUAL_HORZ = 5; + + public const int PAN_STROKE_RAPID_VERT = 6; + + public const int PAN_STROKE_RAPID_HORZ = 7; + + public const int PAN_STROKE_INSTANT_VERT = 8; + + public const int PAN_STRAIGHT_ARMS_HORZ = 2; + + public const int PAN_STRAIGHT_ARMS_WEDGE = 3; + + public const int PAN_STRAIGHT_ARMS_VERT = 4; + + public const int PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5; + + public const int PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6; + + public const int PAN_BENT_ARMS_HORZ = 7; + + public const int PAN_BENT_ARMS_WEDGE = 8; + + public const int PAN_BENT_ARMS_VERT = 9; + + public const int PAN_BENT_ARMS_SINGLE_SERIF = 10; + + public const int PAN_BENT_ARMS_DOUBLE_SERIF = 11; + + public const int PAN_LETT_NORMAL_CONTACT = 2; + + public const int PAN_LETT_NORMAL_WEIGHTED = 3; + + public const int PAN_LETT_NORMAL_BOXED = 4; + + public const int PAN_LETT_NORMAL_FLATTENED = 5; + + public const int PAN_LETT_NORMAL_ROUNDED = 6; + + public const int PAN_LETT_NORMAL_OFF_CENTER = 7; + + public const int PAN_LETT_NORMAL_SQUARE = 8; + + public const int PAN_LETT_OBLIQUE_CONTACT = 9; + + public const int PAN_LETT_OBLIQUE_WEIGHTED = 10; + + public const int PAN_LETT_OBLIQUE_BOXED = 11; + + public const int PAN_LETT_OBLIQUE_FLATTENED = 12; + + public const int PAN_LETT_OBLIQUE_ROUNDED = 13; + + public const int PAN_LETT_OBLIQUE_OFF_CENTER = 14; + + public const int PAN_LETT_OBLIQUE_SQUARE = 15; + + public const int PAN_MIDLINE_STANDARD_TRIMMED = 2; + + public const int PAN_MIDLINE_STANDARD_POINTED = 3; + + public const int PAN_MIDLINE_STANDARD_SERIFED = 4; + + public const int PAN_MIDLINE_HIGH_TRIMMED = 5; + + public const int PAN_MIDLINE_HIGH_POINTED = 6; + + public const int PAN_MIDLINE_HIGH_SERIFED = 7; + + public const int PAN_MIDLINE_CONSTANT_TRIMMED = 8; + + public const int PAN_MIDLINE_CONSTANT_POINTED = 9; + + public const int PAN_MIDLINE_CONSTANT_SERIFED = 10; + + public const int PAN_MIDLINE_LOW_TRIMMED = 11; + + public const int PAN_MIDLINE_LOW_POINTED = 12; + + public const int PAN_MIDLINE_LOW_SERIFED = 13; + + public const int PAN_XHEIGHT_CONSTANT_SMALL = 2; + + public const int PAN_XHEIGHT_CONSTANT_STD = 3; + + public const int PAN_XHEIGHT_CONSTANT_LARGE = 4; + + public const int PAN_XHEIGHT_DUCKING_SMALL = 5; + + public const int PAN_XHEIGHT_DUCKING_STD = 6; + + public const int PAN_XHEIGHT_DUCKING_LARGE = 7; + + public const int ELF_VENDOR_SIZE = 4; + + public const int ELF_VERSION = 0; + + public const int ELF_CULTURE_LATIN = 0; + + public const int RASTER_FONTTYPE = 0x0001; + + public const int DEVICE_FONTTYPE = 0x0002; + + public const int TRUETYPE_FONTTYPE = 0x0004; + + public const int PC_RESERVED = 0x01; + + public const int PC_EXPLICIT = 0x02; + + public const int PC_NOCOLLAPSE = 0x04; + + public const int TRANSPARENT = 1; + + public const int OPAQUE = 2; + + public const int BKMODE_LAST = 2; + + public const int GM_COMPATIBLE = 1; + + public const int GM_ADVANCED = 2; + + public const int GM_LAST = 2; + + public const int PT_CLOSEFIGURE = 0x01; + + public const int PT_LINETO = 0x02; + + public const int PT_BEZIERTO = 0x04; + + public const int PT_MOVETO = 0x06; + + public const int MM_TEXT = 1; + + public const int MM_LOMETRIC = 2; + + public const int MM_HIMETRIC = 3; + + public const int MM_LOENGLISH = 4; + + public const int MM_HIENGLISH = 5; + + public const int MM_TWIPS = 6; + + public const int MM_ISOTROPIC = 7; + + public const int MM_ANISOTROPIC = 8; + + public const int MM_MIN = MM_TEXT; + + public const int MM_MAX = MM_ANISOTROPIC; + + public const int MM_MAX_FIXEDSCALE = MM_TWIPS; + + public const int ABSOLUTE = 1; + + public const int RELATIVE = 2; + + public const int WHITE_BRUSH = 0; + + public const int LTGRAY_BRUSH = 1; + + public const int GRAY_BRUSH = 2; + + public const int DKGRAY_BRUSH = 3; + + public const int BLACK_BRUSH = 4; + + public const int NULL_BRUSH = 5; + + public const int HOLLOW_BRUSH = NULL_BRUSH; + + public const int WHITE_PEN = 6; + + public const int BLACK_PEN = 7; + + public const int NULL_PEN = 8; + + public const int OEM_FIXED_FONT = 10; + + public const int ANSI_FIXED_FONT = 11; + + public const int ANSI_VAR_FONT = 12; + + public const int SYSTEM_FONT = 13; + + public const int DEVICE_DEFAULT_FONT = 14; + + public const int DEFAULT_PALETTE = 15; + + public const int SYSTEM_FIXED_FONT = 16; + + public const int DEFAULT_GUI_FONT = 17; + + public const int DC_BRUSH = 18; + + public const int DC_PEN = 19; + + public const int STOCK_LAST = 19; + + public const uint CLR_INVALID = 0xFFFFFFFF; + + public const int BS_SOLID = 0; + + public const int BS_NULL = 1; + + public const int BS_HOLLOW = BS_NULL; + + public const int BS_HATCHED = 2; + + public const int BS_PATTERN = 3; + + public const int BS_INDEXED = 4; + + public const int BS_DIBPATTERN = 5; + + public const int BS_DIBPATTERNPT = 6; + + public const int BS_PATTERN8X8 = 7; + + public const int BS_DIBPATTERN8X8 = 8; + + public const int BS_MONOPATTERN = 9; + + public const int HS_HORIZONTAL = 0; + + public const int HS_VERTICAL = 1; + + public const int HS_FDIAGONAL = 2; + + public const int HS_BDIAGONAL = 3; + + public const int HS_CROSS = 4; + + public const int HS_DIAGCROSS = 5; + + public const int HS_API_MAX = 12; + + public const int PS_SOLID = 0; + + public const int PS_DASH = 1; + + public const int PS_DOT = 2; + + public const int PS_DASHDOT = 3; + + public const int PS_DASHDOTDOT = 4; + + public const int PS_NULL = 5; + + public const int PS_INSIDEFRAME = 6; + + public const int PS_USERSTYLE = 7; + + public const int PS_ALTERNATE = 8; + + public const int PS_STYLE_MASK = 0x0000000F; + + public const int PS_ENDCAP_ROUND = 0x00000000; + + public const int PS_ENDCAP_SQUARE = 0x00000100; + + public const int PS_ENDCAP_FLAT = 0x00000200; + + public const int PS_ENDCAP_MASK = 0x00000F00; + + public const int PS_JOIN_ROUND = 0x00000000; + + public const int PS_JOIN_BEVEL = 0x00001000; + + public const int PS_JOIN_MITER = 0x00002000; + + public const int PS_JOIN_MASK = 0x0000F000; + + public const int PS_COSMETIC = 0x00000000; + + public const int PS_GEOMETRIC = 0x00010000; + + public const int PS_TYPE_MASK = 0x000F0000; + + public const int AD_COUNTERCLOCKWISE = 1; + + public const int AD_CLOCKWISE = 2; + + public const int DRIVERVERSION = 0; + + public const int TECHNOLOGY = 2; + + public const int HORZSIZE = 4; + + public const int VERTSIZE = 6; + + public const int HORZRES = 8; + + public const int VERTRES = 10; + + public const int BITSPIXEL = 12; + + public const int PLANES = 14; + + public const int NUMBRUSHES = 16; + + public const int NUMPENS = 18; + + public const int NUMMARKERS = 20; + + public const int NUMFONTS = 22; + + public const int NUMCOLORS = 24; + + public const int PDEVICESIZE = 26; + + public const int CURVECAPS = 28; + + public const int LINECAPS = 30; + + public const int POLYGONALCAPS = 32; + + public const int TEXTCAPS = 34; + + public const int CLIPCAPS = 36; + + public const int RASTERCAPS = 38; + + public const int ASPECTX = 40; + + public const int ASPECTY = 42; + + public const int ASPECTXY = 44; + + public const int LOGPIXELSX = 88; + + public const int LOGPIXELSY = 90; + + public const int SIZEPALETTE = 104; + + public const int NUMRESERVED = 106; + + public const int COLORRES = 108; + + public const int PHYSICALWIDTH = 110; + + public const int PHYSICALHEIGHT = 111; + + public const int PHYSICALOFFSETX = 112; + + public const int PHYSICALOFFSETY = 113; + + public const int SCALINGFACTORX = 114; + + public const int SCALINGFACTORY = 115; + + public const int VREFRESH = 116; + + public const int DESKTOPVERTRES = 117; + + public const int DESKTOPHORZRES = 118; + + public const int BLTALIGNMENT = 119; + + public const int SHADEBLENDCAPS = 120; + + public const int COLORMGMTCAPS = 121; + + public const int DT_PLOTTER = 0; + + public const int DT_RASDISPLAY = 1; + + public const int DT_RASPRINTER = 2; + + public const int DT_RASCAMERA = 3; + + public const int DT_CHARSTREAM = 4; + + public const int DT_METAFILE = 5; + + public const int DT_DISPFILE = 6; + + public const int CC_NONE = 0; + + public const int CC_CIRCLES = 1; + + public const int CC_PIE = 2; + + public const int CC_CHORD = 4; + + public const int CC_ELLIPSES = 8; + + public const int CC_WIDE = 16; + + public const int CC_STYLED = 32; + + public const int CC_WIDESTYLED = 64; + + public const int CC_INTERIORS = 128; + + public const int CC_ROUNDRECT = 256; + + public const int LC_NONE = 0; + + public const int LC_POLYLINE = 2; + + public const int LC_MARKER = 4; + + public const int LC_POLYMARKER = 8; + + public const int LC_WIDE = 16; + + public const int LC_STYLED = 32; + + public const int LC_WIDESTYLED = 64; + + public const int LC_INTERIORS = 128; + + public const int PC_NONE = 0; + + public const int PC_POLYGON = 1; + + public const int PC_RECTANGLE = 2; + + public const int PC_WINDPOLYGON = 4; + + public const int PC_TRAPEZOID = 4; + + public const int PC_SCANLINE = 8; + + public const int PC_WIDE = 16; + + public const int PC_STYLED = 32; + + public const int PC_WIDESTYLED = 64; + + public const int PC_INTERIORS = 128; + + public const int PC_POLYPOLYGON = 256; + + public const int PC_PATHS = 512; + + public const int CP_NONE = 0; + + public const int CP_RECTANGLE = 1; + + public const int CP_REGION = 2; + + public const int TC_OP_CHARACTER = 0x00000001; + + public const int TC_OP_STROKE = 0x00000002; + + public const int TC_CP_STROKE = 0x00000004; + + public const int TC_CR_90 = 0x00000008; + + public const int TC_CR_ANY = 0x00000010; + + public const int TC_SF_X_YINDEP = 0x00000020; + + public const int TC_SA_DOUBLE = 0x00000040; + + public const int TC_SA_INTEGER = 0x00000080; + + public const int TC_SA_CONTIN = 0x00000100; + + public const int TC_EA_DOUBLE = 0x00000200; + + public const int TC_IA_ABLE = 0x00000400; + + public const int TC_UA_ABLE = 0x00000800; + + public const int TC_SO_ABLE = 0x00001000; + + public const int TC_RA_ABLE = 0x00002000; + + public const int TC_VA_ABLE = 0x00004000; + + public const int TC_RESERVED = 0x00008000; + + public const int TC_SCROLLBLT = 0x00010000; + + public const int RC_BITBLT = 1; + + public const int RC_BANDING = 2; + + public const int RC_SCALING = 4; + + public const int RC_BITMAP64 = 8; + + public const int RC_GDI20_OUTPUT = 0x0010; + + public const int RC_GDI20_STATE = 0x0020; + + public const int RC_SAVEBITMAP = 0x0040; + + public const int RC_DI_BITMAP = 0x0080; + + public const int RC_PALETTE = 0x0100; + + public const int RC_DIBTODEV = 0x0200; + + public const int RC_BIGFONT = 0x0400; + + public const int RC_STRETCHBLT = 0x0800; + + public const int RC_FLOODFILL = 0x1000; + + public const int RC_STRETCHDIB = 0x2000; + + public const int RC_OP_DX_OUTPUT = 0x4000; + + public const int RC_DEVBITS = 0x8000; + + public const int SB_NONE = 0x00000000; + + public const int SB_CONST_ALPHA = 0x00000001; + + public const int SB_PIXEL_ALPHA = 0x00000002; + + public const int SB_PREMULT_ALPHA = 0x00000004; + + public const int SB_GRAD_RECT = 0x00000010; + + public const int SB_GRAD_TRI = 0x00000020; + + public const int CM_NONE = 0x00000000; + + public const int CM_DEVICE_ICM = 0x00000001; + + public const int CM_GAMMA_RAMP = 0x00000002; + + public const int CM_CMYK_COLOR = 0x00000004; + + public const int DIB_RGB_COLORS = 0; + + public const int DIB_PAL_COLORS = 1; + + public const int SYSPAL_ERROR = 0; + + public const int SYSPAL_STATIC = 1; + + public const int SYSPAL_NOSTATIC = 2; + + public const int SYSPAL_NOSTATIC256 = 3; + + public const int CBM_INIT = 0x04; + + public const int FLOODFILLBORDER = 0; + + public const int FLOODFILLSURFACE = 1; + + public const int CCHDEVICENAME = 32; + + public const int CCHFORMNAME = 32; + + public const int DM_SPECVERSION = 0x0401; + + public const int DM_ORIENTATION = 0x00000001; + + public const int DM_PAPERSIZE = 0x00000002; + + public const int DM_PAPERLENGTH = 0x00000004; + + public const int DM_PAPERWIDTH = 0x00000008; + + public const int DM_SCALE = 0x00000010; + + public const int DM_POSITION = 0x00000020; + + public const int DM_NUP = 0x00000040; + + public const int DM_DISPLAYORIENTATION = 0x00000080; + + public const int DM_COPIES = 0x00000100; + + public const int DM_DEFAULTSOURCE = 0x00000200; + + public const int DM_PRINTQUALITY = 0x00000400; + + public const int DM_COLOR = 0x00000800; + + public const int DM_DUPLEX = 0x00001000; + + public const int DM_YRESOLUTION = 0x00002000; + + public const int DM_TTOPTION = 0x00004000; + + public const int DM_COLLATE = 0x00008000; + + public const int DM_FORMNAME = 0x00010000; + + public const int DM_LOGPIXELS = 0x00020000; + + public const int DM_BITSPERPEL = 0x00040000; + + public const int DM_PELSWIDTH = 0x00080000; + + public const int DM_PELSHEIGHT = 0x00100000; + + public const int DM_DISPLAYFLAGS = 0x00200000; + + public const int DM_DISPLAYFREQUENCY = 0x00400000; + + public const int DM_ICMMETHOD = 0x00800000; + + public const int DM_ICMINTENT = 0x01000000; + + public const int DM_MEDIATYPE = 0x02000000; + + public const int DM_DITHERTYPE = 0x04000000; + + public const int DM_PANNINGWIDTH = 0x08000000; + + public const int DM_PANNINGHEIGHT = 0x10000000; + + public const int DM_DISPLAYFIXEDOUTPUT = 0x20000000; + + public const int DMORIENT_PORTRAIT = 1; + + public const int DMORIENT_LANDSCAPE = 2; + + public const int DMPAPER_FIRST = DMPAPER_LETTER; + + public const int DMPAPER_LETTER = 1; + + public const int DMPAPER_LETTERSMALL = 2; + + public const int DMPAPER_TABLOID = 3; + + public const int DMPAPER_LEDGER = 4; + + public const int DMPAPER_LEGAL = 5; + + public const int DMPAPER_STATEMENT = 6; + + public const int DMPAPER_EXECUTIVE = 7; + + public const int DMPAPER_A3 = 8; + + public const int DMPAPER_A4 = 9; + + public const int DMPAPER_A4SMALL = 10; + + public const int DMPAPER_A5 = 11; + + public const int DMPAPER_B4 = 12; + + public const int DMPAPER_B5 = 13; + + public const int DMPAPER_FOLIO = 14; + + public const int DMPAPER_QUARTO = 15; + + public const int DMPAPER_10X14 = 16; + + public const int DMPAPER_11X17 = 17; + + public const int DMPAPER_NOTE = 18; + + public const int DMPAPER_ENV_9 = 19; + + public const int DMPAPER_ENV_10 = 20; + + public const int DMPAPER_ENV_11 = 21; + + public const int DMPAPER_ENV_12 = 22; + + public const int DMPAPER_ENV_14 = 23; + + public const int DMPAPER_CSHEET = 24; + + public const int DMPAPER_DSHEET = 25; + + public const int DMPAPER_ESHEET = 26; + + public const int DMPAPER_ENV_DL = 27; + + public const int DMPAPER_ENV_C5 = 28; + + public const int DMPAPER_ENV_C3 = 29; + + public const int DMPAPER_ENV_C4 = 30; + + public const int DMPAPER_ENV_C6 = 31; + + public const int DMPAPER_ENV_C65 = 32; + + public const int DMPAPER_ENV_B4 = 33; + + public const int DMPAPER_ENV_B5 = 34; + + public const int DMPAPER_ENV_B6 = 35; + + public const int DMPAPER_ENV_ITALY = 36; + + public const int DMPAPER_ENV_MONARCH = 37; + + public const int DMPAPER_ENV_PERSONAL = 38; + + public const int DMPAPER_FANFOLD_US = 39; + + public const int DMPAPER_FANFOLD_STD_GERMAN = 40; + + public const int DMPAPER_FANFOLD_LGL_GERMAN = 41; + + public const int DMPAPER_ISO_B4 = 42; + + public const int DMPAPER_JAPANESE_POSTCARD = 43; + + public const int DMPAPER_9X11 = 44; + + public const int DMPAPER_10X11 = 45; + + public const int DMPAPER_15X11 = 46; + + public const int DMPAPER_ENV_INVITE = 47; + + public const int DMPAPER_RESERVED_48 = 48; + + public const int DMPAPER_RESERVED_49 = 49; + + public const int DMPAPER_LETTER_EXTRA = 50; + + public const int DMPAPER_LEGAL_EXTRA = 51; + + public const int DMPAPER_TABLOID_EXTRA = 52; + + public const int DMPAPER_A4_EXTRA = 53; + + public const int DMPAPER_LETTER_TRANSVERSE = 54; + + public const int DMPAPER_A4_TRANSVERSE = 55; + + public const int DMPAPER_LETTER_EXTRA_TRANSVERSE = 56; + + public const int DMPAPER_A_PLUS = 57; + + public const int DMPAPER_B_PLUS = 58; + + public const int DMPAPER_LETTER_PLUS = 59; + + public const int DMPAPER_A4_PLUS = 60; + + public const int DMPAPER_A5_TRANSVERSE = 61; + + public const int DMPAPER_B5_TRANSVERSE = 62; + + public const int DMPAPER_A3_EXTRA = 63; + + public const int DMPAPER_A5_EXTRA = 64; + + public const int DMPAPER_B5_EXTRA = 65; + + public const int DMPAPER_A2 = 66; + + public const int DMPAPER_A3_TRANSVERSE = 67; + + public const int DMPAPER_A3_EXTRA_TRANSVERSE = 68; + + public const int DMPAPER_DBL_JAPANESE_POSTCARD = 69; + + public const int DMPAPER_A6 = 70; + + public const int DMPAPER_JENV_KAKU2 = 71; + + public const int DMPAPER_JENV_KAKU3 = 72; + + public const int DMPAPER_JENV_CHOU3 = 73; + + public const int DMPAPER_JENV_CHOU4 = 74; + + public const int DMPAPER_LETTER_ROTATED = 75; + + public const int DMPAPER_A3_ROTATED = 76; + + public const int DMPAPER_A4_ROTATED = 77; + + public const int DMPAPER_A5_ROTATED = 78; + + public const int DMPAPER_B4_JIS_ROTATED = 79; + + public const int DMPAPER_B5_JIS_ROTATED = 80; + + public const int DMPAPER_JAPANESE_POSTCARD_ROTATED = 81; + + public const int DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82; + + public const int DMPAPER_A6_ROTATED = 83; + + public const int DMPAPER_JENV_KAKU2_ROTATED = 84; + + public const int DMPAPER_JENV_KAKU3_ROTATED = 85; + + public const int DMPAPER_JENV_CHOU3_ROTATED = 86; + + public const int DMPAPER_JENV_CHOU4_ROTATED = 87; + + public const int DMPAPER_B6_JIS = 88; + + public const int DMPAPER_B6_JIS_ROTATED = 89; + + public const int DMPAPER_12X11 = 90; + + public const int DMPAPER_JENV_YOU4 = 91; + + public const int DMPAPER_JENV_YOU4_ROTATED = 92; + + public const int DMPAPER_P16K = 93; + + public const int DMPAPER_P32K = 94; + + public const int DMPAPER_P32KBIG = 95; + + public const int DMPAPER_PENV_1 = 96; + + public const int DMPAPER_PENV_2 = 97; + + public const int DMPAPER_PENV_3 = 98; + + public const int DMPAPER_PENV_4 = 99; + + public const int DMPAPER_PENV_5 = 100; + + public const int DMPAPER_PENV_6 = 101; + + public const int DMPAPER_PENV_7 = 102; + + public const int DMPAPER_PENV_8 = 103; + + public const int DMPAPER_PENV_9 = 104; + + public const int DMPAPER_PENV_10 = 105; + + public const int DMPAPER_P16K_ROTATED = 106; + + public const int DMPAPER_P32K_ROTATED = 107; + + public const int DMPAPER_P32KBIG_ROTATED = 108; + + public const int DMPAPER_PENV_1_ROTATED = 109; + + public const int DMPAPER_PENV_2_ROTATED = 110; + + public const int DMPAPER_PENV_3_ROTATED = 111; + + public const int DMPAPER_PENV_4_ROTATED = 112; + + public const int DMPAPER_PENV_5_ROTATED = 113; + + public const int DMPAPER_PENV_6_ROTATED = 114; + + public const int DMPAPER_PENV_7_ROTATED = 115; + + public const int DMPAPER_PENV_8_ROTATED = 116; + + public const int DMPAPER_PENV_9_ROTATED = 117; + + public const int DMPAPER_PENV_10_ROTATED = 118; + + public const int DMPAPER_LAST = DMPAPER_PENV_10_ROTATED; + + public const int DMPAPER_USER = 256; + + public const int DMBIN_FIRST = DMBIN_UPPER; + + public const int DMBIN_UPPER = 1; + + public const int DMBIN_ONLYONE = 1; + + public const int DMBIN_LOWER = 2; + + public const int DMBIN_MIDDLE = 3; + + public const int DMBIN_MANUAL = 4; + + public const int DMBIN_ENVELOPE = 5; + + public const int DMBIN_ENVMANUAL = 6; + + public const int DMBIN_AUTO = 7; + + public const int DMBIN_TRACTOR = 8; + + public const int DMBIN_SMALLFMT = 9; + + public const int DMBIN_LARGEFMT = 10; + + public const int DMBIN_LARGECAPACITY = 11; + + public const int DMBIN_CASSETTE = 14; + + public const int DMBIN_FORMSOURCE = 15; + + public const int DMBIN_LAST = DMBIN_FORMSOURCE; + + public const int DMBIN_USER = 256; + + public const int DMRES_DRAFT = -1; + + public const int DMRES_LOW = -2; + + public const int DMRES_MEDIUM = -3; + + public const int DMRES_HIGH = -4; + + public const int DMCOLOR_MONOCHROME = 1; + + public const int DMCOLOR_COLOR = 2; + + public const int DMDUP_SIMPLEX = 1; + + public const int DMDUP_VERTICAL = 2; + + public const int DMDUP_HORIZONTAL = 3; + + public const int DMTT_BITMAP = 1; + + public const int DMTT_DOWNLOAD = 2; + + public const int DMTT_SUBDEV = 3; + + public const int DMTT_DOWNLOAD_OUTLINE = 4; + + public const int DMCOLLATE_FALSE = 0; + + public const int DMCOLLATE_TRUE = 1; + + public const int DMDO_DEFAULT = 0; + + public const int DMDO_90 = 1; + + public const int DMDO_180 = 2; + + public const int DMDO_270 = 3; + + public const int DMDFO_DEFAULT = 0; + + public const int DMDFO_STRETCH = 1; + + public const int DMDFO_CENTER = 2; + + public const int DM_INTERLACED = 0x00000002; + + public const int DMDISPLAYFLAGS_TEXTMODE = 0x00000004; + + public const int DMNUP_SYSTEM = 1; + + public const int DMNUP_ONEUP = 2; + + public const int DMICMMETHOD_NONE = 1; + + public const int DMICMMETHOD_SYSTEM = 2; + + public const int DMICMMETHOD_DRIVER = 3; + + public const int DMICMMETHOD_DEVICE = 4; + + public const int DMICMMETHOD_USER = 256; + + public const int DMICM_SATURATE = 1; + + public const int DMICM_CONTRAST = 2; + + public const int DMICM_COLORIMETRIC = 3; + + public const int DMICM_ABS_COLORIMETRIC = 4; + + public const int DMICM_USER = 256; + + public const int DMMEDIA_STANDARD = 1; + + public const int DMMEDIA_TRANSPARENCY = 2; + + public const int DMMEDIA_GLOSSY = 3; + + public const int DMMEDIA_USER = 256; + + public const int DMDITHER_NONE = 1; + + public const int DMDITHER_COARSE = 2; + + public const int DMDITHER_FINE = 3; + + public const int DMDITHER_LINEART = 4; + + public const int DMDITHER_ERRORDIFFUSION = 5; + + public const int DMDITHER_RESERVED6 = 6; + + public const int DMDITHER_RESERVED7 = 7; + + public const int DMDITHER_RESERVED8 = 8; + + public const int DMDITHER_RESERVED9 = 9; + + public const int DMDITHER_GRAYSCALE = 10; + + public const int DMDITHER_USER = 256; + + public const int DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001; + + public const int DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002; + + public const int DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004; + + public const int DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008; + + public const int DISPLAY_DEVICE_VGA_COMPATIBLE = 0x00000010; + + public const int DISPLAY_DEVICE_REMOVABLE = 0x00000020; + + public const int DISPLAY_DEVICE_ACC_DRIVER = 0x00000040; + + public const int DISPLAY_DEVICE_MODESPRUNED = 0x08000000; + + public const int DISPLAY_DEVICE_RDPUDD = 0x01000000; + + public const int DISPLAY_DEVICE_REMOTE = 0x04000000; + + public const int DISPLAY_DEVICE_DISCONNECT = 0x02000000; + + public const int DISPLAY_DEVICE_TS_COMPATIBLE = 0x00200000; + + public const int DISPLAY_DEVICE_UNSAFE_MODES_ON = 0x00080000; + + public const int DISPLAY_DEVICE_ACTIVE = 0x00000001; + + public const int DISPLAY_DEVICE_ATTACHED = 0x00000002; + + public const int DISPLAYCONFIG_MAXPATH = 1024; + + public const uint DISPLAYCONFIG_PATH_MODE_IDX_INVALID = 0xFFFFFFFF; + + public const uint DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID = 0xFFFF; + + public const uint DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID = 0xFFFF; + + public const uint DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID = 0xFFFF; + + public const uint DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID = 0xFFFF; + + public const int DISPLAYCONFIG_SOURCE_IN_USE = 0x00000001; + + public const int DISPLAYCONFIG_TARGET_IN_USE = 0x00000001; + + public const int DISPLAYCONFIG_TARGET_FORCIBLE = 0x00000002; + + public const int DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT = 0x00000004; + + public const int DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH = 0x00000008; + + public const int DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM = 0x00000010; + + public const int DISPLAYCONFIG_TARGET_IS_HMD = 0x00000020; + + public const int DISPLAYCONFIG_PATH_ACTIVE = 0x00000001; + + public const int DISPLAYCONFIG_PATH_PREFERRED_UNSCALED = 0x00000004; + + public const int DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE = 0x00000008; + + public const int DISPLAYCONFIG_PATH_VALID_FLAGS = 0x0000000D; + + public const int QDC_ALL_PATHS = 0x00000001; + + public const int QDC_ONLY_ACTIVE_PATHS = 0x00000002; + + public const int QDC_DATABASE_CURRENT = 0x00000004; + + public const int QDC_VIRTUAL_MODE_AWARE = 0x00000010; + + public const int QDC_INCLUDE_HMD = 0x00000020; + + public const int SDC_TOPOLOGY_INTERNAL = 0x00000001; + + public const int SDC_TOPOLOGY_CLONE = 0x00000002; + + public const int SDC_TOPOLOGY_EXTEND = 0x00000004; + + public const int SDC_TOPOLOGY_EXTERNAL = 0x00000008; + + public const int SDC_TOPOLOGY_SUPPLIED = 0x00000010; + + public const int SDC_USE_DATABASE_CURRENT = SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CLONE | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL; + + public const int SDC_USE_SUPPLIED_DISPLAY_CONFIG = 0x00000020; + + public const int SDC_VALIDATE = 0x00000040; + + public const int SDC_APPLY = 0x00000080; + + public const int SDC_NO_OPTIMIZATION = 0x00000100; + + public const int SDC_SAVE_TO_DATABASE = 0x00000200; + + public const int SDC_ALLOW_CHANGES = 0x00000400; + + public const int SDC_PATH_PERSIST_IF_REQUIRED = 0x00000800; + + public const int SDC_FORCE_MODE_ENUMERATION = 0x00001000; + + public const int SDC_ALLOW_PATH_ORDER_CHANGES = 0x00002000; + + public const int SDC_VIRTUAL_MODE_AWARE = 0x00008000; + + public const int SYSRGN = 4; + + public const int GGO_METRICS = 0; + + public const int GGO_BITMAP = 1; + + public const int GGO_NATIVE = 2; + + public const int GGO_BEZIER = 3; + + public const int GGO_GRAY2_BITMAP = 4; + + public const int GGO_GRAY4_BITMAP = 5; + + public const int GGO_GRAY8_BITMAP = 6; + + public const int GGO_GLYPH_INDEX = 0x0080; + + public const int GGO_UNHINTED = 0x0100; + + public const int TT_POLYGON_TYPE = 24; + + public const int TT_PRIM_LINE = 1; + + public const int TT_PRIM_QSPLINE = 2; + + public const int TT_PRIM_CSPLINE = 3; + + public const int GCP_DBCS = 0x0001; + + public const int GCP_REORDER = 0x0002; + + public const int GCP_USEKERNING = 0x0008; + + public const int GCP_GLYPHSHAPE = 0x0010; + + public const int GCP_LIGATE = 0x0020; + + public const int GCP_DIACRITIC = 0x0100; + + public const int GCP_KASHIDA = 0x0400; + + public const int GCP_ERROR = 0x8000; + + public const int FLI_MASK = 0x103B; + + public const int GCP_JUSTIFY = 0x00010000; + + public const int FLI_GLYPHS = 0x00040000; + + public const int GCP_CLASSIN = 0x00080000; + + public const int GCP_MAXEXTENT = 0x00100000; + + public const int GCP_JUSTIFYIN = 0x00200000; + + public const int GCP_DISPLAYZWG = 0x00400000; + + public const int GCP_SYMSWAPOFF = 0x00800000; + + public const int GCP_NUMERICOVERRIDE = 0x01000000; + + public const int GCP_NEUTRALOVERRIDE = 0x02000000; + + public const int GCP_NUMERICSLATIN = 0x04000000; + + public const int GCP_NUMERICSLOCAL = 0x08000000; + + public const int GCPCLASS_LATIN = 1; + + public const int GCPCLASS_HEBREW = 2; + + public const int GCPCLASS_ARABIC = 2; + + public const int GCPCLASS_NEUTRAL = 3; + + public const int GCPCLASS_LOCALNUMBER = 4; + + public const int GCPCLASS_LATINNUMBER = 5; + + public const int GCPCLASS_LATINNUMERICTERMINATOR = 6; + + public const int GCPCLASS_LATINNUMERICSEPARATOR = 7; + + public const int GCPCLASS_NUMERICSEPARATOR = 8; + + public const int GCPCLASS_PREBOUNDLTR = 0x80; + + public const int GCPCLASS_PREBOUNDRTL = 0x40; + + public const int GCPCLASS_POSTBOUNDLTR = 0x20; + + public const int GCPCLASS_POSTBOUNDRTL = 0x10; + + public const int GCPGLYPH_LINKBEFORE = 0x8000; + + public const int GCPGLYPH_LINKAFTER = 0x4000; + + public const int TT_AVAILABLE = 0x0001; + + public const int TT_ENABLED = 0x0002; + + public const int PFD_TYPE_RGBA = 0; + + public const int PFD_TYPE_COLORINDEX = 1; + + public const int PFD_MAIN_PLANE = 0; + + public const int PFD_OVERLAY_PLANE = 1; + + public const int PFD_UNDERLAY_PLANE = -1; + + public const uint PFD_DOUBLEBUFFER = 0x00000001; + + public const uint PFD_STEREO = 0x00000002; + + public const uint PFD_DRAW_TO_WINDOW = 0x00000004; + + public const uint PFD_DRAW_TO_BITMAP = 0x00000008; + + public const uint PFD_SUPPORT_GDI = 0x00000010; + + public const uint PFD_SUPPORT_OPENGL = 0x00000020; + + public const uint PFD_GENERIC_FORMAT = 0x00000040; + + public const uint PFD_NEED_PALETTE = 0x00000080; + + public const uint PFD_NEED_SYSTEM_PALETTE = 0x00000100; + + public const uint PFD_SWAP_EXCHANGE = 0x00000200; + + public const uint PFD_SWAP_COPY = 0x00000400; + + public const uint PFD_SWAP_LAYER_BUFFERS = 0x00000800; + + public const uint PFD_GENERIC_ACCELERATED = 0x00001000; + + public const uint PFD_SUPPORT_DIRECTDRAW = 0x00002000; + + public const uint PFD_DIRECT3D_ACCELERATED = 0x00004000; + + public const uint PFD_SUPPORT_COMPOSITION = 0x00008000; + + public const uint PFD_DEPTH_DONTCARE = 0x20000000; + + public const uint PFD_DOUBLEBUFFER_DONTCARE = 0x40000000; + + public const uint PFD_STEREO_DONTCARE = 0x80000000; + + public const int DM_UPDATE = 1; + + public const int DM_COPY = 2; + + public const int DM_PROMPT = 4; + + public const int DM_MODIFY = 8; + + public const int DM_IN_BUFFER = DM_MODIFY; + + public const int DM_IN_PROMPT = DM_PROMPT; + + public const int DM_OUT_BUFFER = DM_COPY; + + public const int DM_OUT_DEFAULT = DM_UPDATE; + + public const int DC_FIELDS = 1; + + public const int DC_PAPERS = 2; + + public const int DC_PAPERSIZE = 3; + + public const int DC_MINEXTENT = 4; + + public const int DC_MAXEXTENT = 5; + + public const int DC_BINS = 6; + + public const int DC_DUPLEX = 7; + + public const int DC_SIZE = 8; + + public const int DC_EXTRA = 9; + + public const int DC_VERSION = 10; + + public const int DC_DRIVER = 11; + + public const int DC_BINNAMES = 12; + + public const int DC_ENUMRESOLUTIONS = 13; + + public const int DC_FILEDEPENDENCIES = 14; + + public const int DC_TRUETYPE = 15; + + public const int DC_PAPERNAMES = 16; + + public const int DC_ORIENTATION = 17; + + public const int DC_COPIES = 18; + + public const int DC_BINADJUST = 19; + + public const int DC_EMF_COMPLIANT = 20; + + public const int DC_DATATYPE_PRODUCED = 21; + + public const int DC_COLLATE = 22; + + public const int DC_MANUFACTURER = 23; + + public const int DC_MODEL = 24; + + public const int DC_PERSONALITY = 25; + + public const int DC_PRINTRATE = 26; + + public const int DC_PRINTRATEUNIT = 27; + + public const int PRINTRATEUNIT_PPM = 1; + + public const int PRINTRATEUNIT_CPS = 2; + + public const int PRINTRATEUNIT_LPM = 3; + + public const int PRINTRATEUNIT_IPM = 4; + + public const int DC_PRINTERMEM = 28; + + public const int DC_MEDIAREADY = 29; + + public const int DC_STAPLE = 30; + + public const int DC_PRINTRATEPPM = 31; + + public const int DC_COLORDEVICE = 32; + + public const int DC_NUP = 33; + + public const int DC_MEDIATYPENAMES = 34; + + public const int DC_MEDIATYPES = 35; + + public const int DCTT_BITMAP = 0x0000001; + + public const int DCTT_DOWNLOAD = 0x0000002; + + public const int DCTT_SUBDEV = 0x0000004; + + public const int DCTT_DOWNLOAD_OUTLINE = 0x0000008; + + public const int DCBA_FACEUPNONE = 0x0000; + + public const int DCBA_FACEUPCENTER = 0x0001; + + public const int DCBA_FACEUPLEFT = 0x0002; + + public const int DCBA_FACEUPRIGHT = 0x0003; + + public const int DCBA_FACEDOWNNONE = 0x0100; + + public const int DCBA_FACEDOWNCENTER = 0x0101; + + public const int DCBA_FACEDOWNLEFT = 0x0102; + + public const int DCBA_FACEDOWNRIGHT = 0x0103; + + public const int GS_8BIT_INDICES = 0x00000001; + + public const int GGI_MARK_NONEXISTING_GLYPHS = 0X0001; + + // STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8)) + // STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8)) + // STAMP_TRUETYPE_VARIATION (0x8000000 + 't' + ('v' << 8)) + // MM_MAX_NUMAXES 16 + + public const int FR_PRIVATE = 0x10; + + public const int FR_NOT_ENUM = 0x20; + + public const int MM_MAX_AXES_NAMELEN = 16; + + public const int GDIREGISTERDDRAWPACKETVERSION = 0x1; + + public const int AC_SRC_OVER = 0x00; + + public const int AC_SRC_ALPHA = 0x01; + + public const int GRADIENT_FILL_RECT_H = 0x00000000; + + public const int GRADIENT_FILL_RECT_V = 0x00000001; + + public const int GRADIENT_FILL_TRIANGLE = 0x00000002; + + public const int GRADIENT_FILL_OP_FLAG = 0x000000FF; + + public const int CA_NEGATIVE = 0x0001; + + public const int CA_LOG_FILTER = 0x0002; + + public const int ILLUMINANT_DEVICE_DEFAULT = 0; + + public const int ILLUMINANT_A = 1; + + public const int ILLUMINANT_B = 2; + + public const int ILLUMINANT_C = 3; + + public const int ILLUMINANT_D50 = 4; + + public const int ILLUMINANT_D55 = 5; + + public const int ILLUMINANT_D65 = 6; + + public const int ILLUMINANT_D75 = 7; + + public const int ILLUMINANT_F2 = 8; + + public const int ILLUMINANT_MAX_INDEX = ILLUMINANT_F2; + + public const int ILLUMINANT_TUNGSTEN = ILLUMINANT_A; + + public const int ILLUMINANT_DAYLIGHT = ILLUMINANT_C; + + public const int ILLUMINANT_FLUORESCENT = ILLUMINANT_F2; + + public const int ILLUMINANT_NTSC = ILLUMINANT_C; + + public const ushort RGB_GAMMA_MIN = 02500; + + public const ushort RGB_GAMMA_MAX = 65000; + + public const ushort REFERENCE_WHITE_MIN = 6000; + + public const ushort REFERENCE_WHITE_MAX = 10000; + + public const ushort REFERENCE_BLACK_MIN = 0; + + public const ushort REFERENCE_BLACK_MAX = 4000; + + public const short COLOR_ADJ_MIN = -100; + + public const short COLOR_ADJ_MAX = 100; + + public const int DI_APPBANDING = 0x00000001; + + public const int DI_ROPS_READ_DESTINATION = 0x00000002; + + public const int ICM_OFF = 1; + + public const int ICM_ON = 2; + + public const int ICM_QUERY = 3; + + public const int ICM_DONE_OUTSIDEDC = 4; + + public const int ENHMETA_SIGNATURE = 0x464D4520; + + public const uint ENHMETA_STOCK_OBJECT = 0x80000000; + + public const int EMR_HEADER = 1; + + public const int EMR_POLYBEZIER = 2; + + public const int EMR_POLYGON = 3; + + public const int EMR_POLYLINE = 4; + + public const int EMR_POLYBEZIERTO = 5; + + public const int EMR_POLYLINETO = 6; + + public const int EMR_POLYPOLYLINE = 7; + + public const int EMR_POLYPOLYGON = 8; + + public const int EMR_SETWINDOWEXTEX = 9; + + public const int EMR_SETWINDOWORGEX = 10; + + public const int EMR_SETVIEWPORTEXTEX = 11; + + public const int EMR_SETVIEWPORTORGEX = 12; + + public const int EMR_SETBRUSHORGEX = 13; + + public const int EMR_EOF = 14; + + public const int EMR_SETPIXELV = 15; + + public const int EMR_SETMAPPERFLAGS = 16; + + public const int EMR_SETMAPMODE = 17; + + public const int EMR_SETBKMODE = 18; + + public const int EMR_SETPOLYFILLMODE = 19; + + public const int EMR_SETROP2 = 20; + + public const int EMR_SETSTRETCHBLTMODE = 21; + + public const int EMR_SETTEXTALIGN = 22; + + public const int EMR_SETCOLORADJUSTMENT = 23; + + public const int EMR_SETTEXTCOLOR = 24; + + public const int EMR_SETBKCOLOR = 25; + + public const int EMR_OFFSETCLIPRGN = 26; + + public const int EMR_MOVETOEX = 27; + + public const int EMR_SETMETARGN = 28; + + public const int EMR_EXCLUDECLIPRECT = 29; + + public const int EMR_INTERSECTCLIPRECT = 30; + + public const int EMR_SCALEVIEWPORTEXTEX = 31; + + public const int EMR_SCALEWINDOWEXTEX = 32; + + public const int EMR_SAVEDC = 33; + + public const int EMR_RESTOREDC = 34; + + public const int EMR_SETWORLDTRANSFORM = 35; + + public const int EMR_MODIFYWORLDTRANSFORM = 36; + + public const int EMR_SELECTOBJECT = 37; + + public const int EMR_CREATEPEN = 38; + + public const int EMR_CREATEBRUSHINDIRECT = 39; + + public const int EMR_DELETEOBJECT = 40; + + public const int EMR_ANGLEARC = 41; + + public const int EMR_ELLIPSE = 42; + + public const int EMR_RECTANGLE = 43; + + public const int EMR_ROUNDRECT = 44; + + public const int EMR_ARC = 45; + + public const int EMR_CHORD = 46; + + public const int EMR_PIE = 47; + + public const int EMR_SELECTPALETTE = 48; + + public const int EMR_CREATEPALETTE = 49; + + public const int EMR_SETPALETTEENTRIES = 50; + + public const int EMR_RESIZEPALETTE = 51; + + public const int EMR_REALIZEPALETTE = 52; + + public const int EMR_EXTFLOODFILL = 53; + + public const int EMR_LINETO = 54; + + public const int EMR_ARCTO = 55; + + public const int EMR_POLYDRAW = 56; + + public const int EMR_SETARCDIRECTION = 57; + + public const int EMR_SETMITERLIMIT = 58; + + public const int EMR_BEGINPATH = 59; + + public const int EMR_ENDPATH = 60; + + public const int EMR_CLOSEFIGURE = 61; + + public const int EMR_FILLPATH = 62; + + public const int EMR_STROKEANDFILLPATH = 63; + + public const int EMR_STROKEPATH = 64; + + public const int EMR_FLATTENPATH = 65; + + public const int EMR_WIDENPATH = 66; + + public const int EMR_SELECTCLIPPATH = 67; + + public const int EMR_ABORTPATH = 68; + + public const int EMR_GDICOMMENT = 70; + + public const int EMR_FILLRGN = 71; + + public const int EMR_FRAMERGN = 72; + + public const int EMR_INVERTRGN = 73; + + public const int EMR_PAINTRGN = 74; + + public const int EMR_EXTSELECTCLIPRGN = 75; + + public const int EMR_BITBLT = 76; + + public const int EMR_STRETCHBLT = 77; + + public const int EMR_MASKBLT = 78; + + public const int EMR_PLGBLT = 79; + + public const int EMR_SETDIBITSTODEVICE = 80; + + public const int EMR_STRETCHDIBITS = 81; + + public const int EMR_EXTCREATEFONTINDIRECTW = 82; + + public const int EMR_EXTTEXTOUTA = 83; + + public const int EMR_EXTTEXTOUTW = 84; + + public const int EMR_POLYBEZIER16 = 85; + + public const int EMR_POLYGON16 = 86; + + public const int EMR_POLYLINE16 = 87; + + public const int EMR_POLYBEZIERTO16 = 88; + + public const int EMR_POLYLINETO16 = 89; + + public const int EMR_POLYPOLYLINE16 = 90; + + public const int EMR_POLYPOLYGON16 = 91; + + public const int EMR_POLYDRAW16 = 92; + + public const int EMR_CREATEMONOBRUSH = 93; + + public const int EMR_CREATEDIBPATTERNBRUSHPT = 94; + + public const int EMR_EXTCREATEPEN = 95; + + public const int EMR_POLYTEXTOUTA = 96; + + public const int EMR_POLYTEXTOUTW = 97; + + public const int EMR_SETICMMODE = 98; + + public const int EMR_CREATECOLORSPACE = 99; + + public const int EMR_SETCOLORSPACE = 100; + + public const int EMR_DELETECOLORSPACE = 101; + + public const int EMR_GLSRECORD = 102; + + public const int EMR_GLSBOUNDEDRECORD = 103; + + public const int EMR_PIXELFORMAT = 104; + + public const int EMR_RESERVED_105 = 105; + + public const int EMR_RESERVED_106 = 106; + + public const int EMR_RESERVED_107 = 107; + + public const int EMR_RESERVED_108 = 108; + + public const int EMR_RESERVED_109 = 109; + + public const int EMR_RESERVED_110 = 110; + + public const int EMR_COLORCORRECTPALETTE = 111; + + public const int EMR_SETICMPROFILEA = 112; + + public const int EMR_SETICMPROFILEW = 113; + + public const int EMR_ALPHABLEND = 114; + + public const int EMR_SETLAYOUT = 115; + + public const int EMR_TRANSPARENTBLT = 116; + + public const int EMR_RESERVED_117 = 117; + + public const int EMR_GRADIENTFILL = 118; + + public const int EMR_RESERVED_119 = 119; + + public const int EMR_RESERVED_120 = 120; + + public const int EMR_COLORMATCHTOTARGETW = 121; + + public const int EMR_CREATECOLORSPACEW = 122; + + public const int EMR_MIN = 1; + + public const int EMR_MAX = 122; + + public const int SETICMPROFILE_EMBEDED = 0x00000001; + + public const int CREATECOLORSPACE_EMBEDED = 0x00000001; + + public const int COLORMATCHTOTARGET_EMBEDED = 0x00000001; + + public const uint GDICOMMENT_IDENTIFIER = 0x43494447; + + public const uint GDICOMMENT_WINDOWS_METAFILE = 0x80000001; + + public const uint GDICOMMENT_BEGINGROUP = 0x00000002; + + public const uint GDICOMMENT_ENDGROUP = 0x00000003; + + public const uint GDICOMMENT_MULTIFORMATS = 0x40000004; + + public const int EPS_SIGNATURE = 0x46535045; + + public const int GDICOMMENT_UNICODE_STRING = 0x00000040; + + public const int GDICOMMENT_UNICODE_END = 0x00000080; + + public const int LPD_DOUBLEBUFFER = 0x00000001; + + public const int LPD_STEREO = 0x00000002; + + public const int LPD_SUPPORT_GDI = 0x00000010; + + public const int LPD_SUPPORT_OPENGL = 0x00000020; + + public const int LPD_SHARE_DEPTH = 0x00000040; + + public const int LPD_SHARE_STENCIL = 0x00000080; + + public const int LPD_SHARE_ACCUM = 0x00000100; + + public const int LPD_SWAP_EXCHANGE = 0x00000200; + + public const int LPD_SWAP_COPY = 0x00000400; + + public const int LPD_TRANSPARENT = 0x00001000; + + public const int LPD_TYPE_RGBA = 0; + + public const int LPD_TYPE_COLORINDEX = 1; + + public const int WGL_SWAP_MAIN_PLANE = 0x00000001; + + public const int WGL_SWAP_OVERLAY1 = 0x00000002; + + public const int WGL_SWAP_OVERLAY2 = 0x00000004; + + public const int WGL_SWAP_OVERLAY3 = 0x00000008; + + public const int WGL_SWAP_OVERLAY4 = 0x00000010; + + public const int WGL_SWAP_OVERLAY5 = 0x00000020; + + public const int WGL_SWAP_OVERLAY6 = 0x00000040; + + public const int WGL_SWAP_OVERLAY7 = 0x00000080; + + public const int WGL_SWAP_OVERLAY8 = 0x00000100; + + public const int WGL_SWAP_OVERLAY9 = 0x00000200; + + public const int WGL_SWAP_OVERLAY10 = 0x00000400; + + public const int WGL_SWAP_OVERLAY11 = 0x00000800; + + public const int WGL_SWAP_OVERLAY12 = 0x00001000; + + public const int WGL_SWAP_OVERLAY13 = 0x00002000; + + public const int WGL_SWAP_OVERLAY14 = 0x00004000; + + public const int WGL_SWAP_OVERLAY15 = 0x00008000; + + public const int WGL_SWAP_UNDERLAY1 = 0x00010000; + + public const int WGL_SWAP_UNDERLAY2 = 0x00020000; + + public const int WGL_SWAP_UNDERLAY3 = 0x00040000; + + public const int WGL_SWAP_UNDERLAY4 = 0x00080000; + + public const int WGL_SWAP_UNDERLAY5 = 0x00100000; + + public const int WGL_SWAP_UNDERLAY6 = 0x00200000; + + public const int WGL_SWAP_UNDERLAY7 = 0x00400000; + + public const int WGL_SWAP_UNDERLAY8 = 0x00800000; + + public const int WGL_SWAP_UNDERLAY9 = 0x01000000; + + public const int WGL_SWAP_UNDERLAY10 = 0x02000000; + + public const int WGL_SWAP_UNDERLAY11 = 0x04000000; + + public const int WGL_SWAP_UNDERLAY12 = 0x08000000; + + public const int WGL_SWAP_UNDERLAY13 = 0x10000000; + + public const int WGL_SWAP_UNDERLAY14 = 0x20000000; + + public const int WGL_SWAP_UNDERLAY15 = 0x40000000; + + public const int WGL_SWAPMULTIPLE_MAX = 16; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static uint MAKEROP4(uint fore, uint back) => ((back << 8) & 0xFF000000) | fore; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetKValue([NativeTypeName("COLORREF")]uint cmyk) => (byte)cmyk; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetYValue([NativeTypeName("COLORREF")]uint cmyk) => (byte)(cmyk >> 8); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetMValue([NativeTypeName("COLORREF")]uint cmyk) => (byte)(cmyk >> 16); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetCValue([NativeTypeName("COLORREF")] uint cmyk) => (byte)(cmyk >> 24); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("COLORREF")] + public static uint CMYK(byte c, byte m, byte y, byte k) => k | ((uint)y << 8) | (((uint)m) << 16) | (((uint)c) << 24); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static POINTS MAKEPOINTS(int l) => *(POINTS*)&l; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("COLORREF")] + public static uint RGB(byte r, byte g, byte b) => r | ((uint)g << 8) | (((uint)b) << 16); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("COLORREF")] + public static uint PALETTERGB(byte r, byte g, byte b) => 0x02000000 | RGB(r, g, b); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("COLORREF")] + public static uint PALETTEINDEX(ushort i) => 0x01000000 | (uint)i; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetRValue([NativeTypeName("COLORREF")] uint rgb) => LOBYTE((ushort)rgb); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetGValue([NativeTypeName("COLORREF")] uint rgb) => LOBYTE((ushort)(rgb >> 8)); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static byte GetBValue([NativeTypeName("COLORREF")] uint rgb) => LOBYTE((ushort)(rgb >> 16)); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static uint GDI_WIDTHBYTES(uint bits) => ((bits + 31) & ~31u) / 8; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static uint GDI_DIBWIDTHBYTES(BITMAPINFOHEADER bi) => GDI_WIDTHBYTES((uint)bi.biWidth * bi.biBitCount); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static uint GDI__DIBSIZE(BITMAPINFOHEADER bi) => GDI_DIBWIDTHBYTES(bi) * (uint)bi.biHeight; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static uint GDI_DIBSIZE(BITMAPINFOHEADER bi) => bi.biHeight < 0 ? unchecked((uint)-1) * GDI__DIBSIZE(bi) : GDI__DIBSIZE(bi); + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/Gdi32.cs b/sources/Interop/Gdi32/um/wingdi/Gdi32.cs new file mode 100644 index 0000000000..a036b2dac0 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/Gdi32.cs @@ -0,0 +1,1224 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public static unsafe partial class Gdi32 + { + private const string LibraryPath = "Gdi32"; + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AddFontResourceW", ExactSpelling = true)] + public static extern int AddFontResource([NativeTypeName("LPCWSTR")] ushort* param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AnimatePalette", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AnimatePalette([NativeTypeName("HPALETTE")] IntPtr hPal, [NativeTypeName("UINT")] uint iStartIndex, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("const PALETTEENTRY *")] PALETTEENTRY* ppe); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Arc", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Arc([NativeTypeName("HDC")] IntPtr hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BitBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int BitBlt([NativeTypeName("HDC")] IntPtr hdc, int x, int y, int cx, int cy, [NativeTypeName("HDC")] IntPtr hdcSrc, int x1, int y1, [NativeTypeName("DWORD")] uint rop); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CancelDC", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CancelDC([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Chord", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Chord([NativeTypeName("HDC")] IntPtr hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChoosePixelFormat", ExactSpelling = true)] + public static extern int ChoosePixelFormat([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const PIXELFORMATDESCRIPTOR *")] PIXELFORMATDESCRIPTOR* ppfd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseMetaFile", ExactSpelling = true)] + [return: NativeTypeName("HMETAFILE")] + public static extern IntPtr CloseMetaFile([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CombineRgn", ExactSpelling = true)] + public static extern int CombineRgn([NativeTypeName("HRGN")] IntPtr hrgnDst, [NativeTypeName("HRGN")] IntPtr hrgnSrc1, [NativeTypeName("HRGN")] IntPtr hrgnSrc2, int iMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HMETAFILE")] + public static extern IntPtr CopyMetaFile([NativeTypeName("HMETAFILE")] IntPtr param0, [NativeTypeName("LPCWSTR")] ushort* param1); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateBitmap", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateBitmap(int nWidth, int nHeight, [NativeTypeName("UINT")] uint nPlanes, [NativeTypeName("UINT")] uint nBitCount, [NativeTypeName("const void *")] void* lpBits); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateBitmapIndirect", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateBitmapIndirect([NativeTypeName("const BITMAP *")] BITMAP* pbm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateBrushIndirect", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreateBrushIndirect([NativeTypeName("const LOGBRUSH *")] LOGBRUSH* plbrush); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateCompatibleBitmap", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateCompatibleBitmap([NativeTypeName("HDC")] IntPtr hdc, int cx, int cy); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDiscardableBitmap", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateDiscardableBitmap([NativeTypeName("HDC")] IntPtr hdc, int cx, int cy); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateCompatibleDC", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr CreateCompatibleDC([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDCW", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr CreateDC([NativeTypeName("LPCWSTR")] ushort* pwszDriver, [NativeTypeName("LPCWSTR")] ushort* pwszDevice, [NativeTypeName("LPCWSTR")] ushort* pszPort, [NativeTypeName("const DEVMODEW *")] DEVMODE* pdm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDIBitmap", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateDIBitmap([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const BITMAPINFOHEADER *")] BITMAPINFOHEADER* pbmih, [NativeTypeName("DWORD")] uint flInit, [NativeTypeName("const void *")] void* pjBits, [NativeTypeName("const BITMAPINFO *")] BITMAPINFO* pbmi, [NativeTypeName("UINT")] uint iUsage); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDIBPatternBrush", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreateDIBPatternBrush([NativeTypeName("HGLOBAL")] void* h, [NativeTypeName("UINT")] uint iUsage); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDIBPatternBrushPt", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreateDIBPatternBrushPt([NativeTypeName("const void *")] void* lpPackedDIB, [NativeTypeName("UINT")] uint iUsage); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateEllipticRgn", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreateEllipticRgn(int x1, int y1, int x2, int y2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateEllipticRgnIndirect", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreateEllipticRgnIndirect([NativeTypeName("const RECT *")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateFontIndirectW", ExactSpelling = true)] + [return: NativeTypeName("HFONT")] + public static extern IntPtr CreateFontIndirect([NativeTypeName("const LOGFONTW *")] LOGFONT* lplf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateFontW", ExactSpelling = true)] + [return: NativeTypeName("HFONT")] + public static extern IntPtr CreateFont(int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, [NativeTypeName("DWORD")] uint bItalic, [NativeTypeName("DWORD")] uint bUnderline, [NativeTypeName("DWORD")] uint bStrikeOut, [NativeTypeName("DWORD")] uint iCharSet, [NativeTypeName("DWORD")] uint iOutPrecision, [NativeTypeName("DWORD")] uint iClipPrecision, [NativeTypeName("DWORD")] uint iQuality, [NativeTypeName("DWORD")] uint iPitchAndFamily, [NativeTypeName("LPCWSTR")] ushort* pszFaceName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateHatchBrush", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreateHatchBrush(int iHatch, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateICW", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr CreateIC([NativeTypeName("LPCWSTR")] ushort* pszDriver, [NativeTypeName("LPCWSTR")] ushort* pszDevice, [NativeTypeName("LPCWSTR")] ushort* pszPort, [NativeTypeName("const DEVMODEW *")] DEVMODE* pdm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr CreateMetaFile([NativeTypeName("LPCWSTR")] ushort* pszFile); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePalette", ExactSpelling = true)] + [return: NativeTypeName("HPALETTE")] + public static extern IntPtr CreatePalette([NativeTypeName("const LOGPALETTE *")] LOGPALETTE* plpal); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePen", ExactSpelling = true)] + [return: NativeTypeName("HPEN")] + public static extern IntPtr CreatePen(int iStyle, int cWidth, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePenIndirect", ExactSpelling = true)] + [return: NativeTypeName("HPEN")] + public static extern IntPtr CreatePenIndirect([NativeTypeName("const LOGPEN *")] LOGPEN* plpen); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePolyPolygonRgn", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreatePolyPolygonRgn([NativeTypeName("const POINT *")] POINT* pptl, [NativeTypeName("const INT *")] int* pc, int cPoly, int iMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePatternBrush", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreatePatternBrush([NativeTypeName("HBITMAP")] IntPtr hbm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateRectRgn", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreateRectRgn(int x1, int y1, int x2, int y2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateRectRgnIndirect", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreateRectRgnIndirect([NativeTypeName("const RECT *")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateRoundRectRgn", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreateRoundRectRgn(int x1, int y1, int x2, int y2, int w, int h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateScalableFontResourceW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CreateScalableFontResource([NativeTypeName("DWORD")] uint fdwHidden, [NativeTypeName("LPCWSTR")] ushort* lpszFont, [NativeTypeName("LPCWSTR")] ushort* lpszFile, [NativeTypeName("LPCWSTR")] ushort* lpszPath); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateSolidBrush", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr CreateSolidBrush([NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteDC", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteDC([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteMetaFile([NativeTypeName("HMETAFILE")] IntPtr hmf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteObject", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteObject([NativeTypeName("HGDIOBJ")] void* ho); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DescribePixelFormat", ExactSpelling = true)] + public static extern int DescribePixelFormat([NativeTypeName("HDC")] IntPtr hdc, int iPixelFormat, [NativeTypeName("UINT")] uint nBytes, [NativeTypeName("LPPIXELFORMATDESCRIPTOR")] PIXELFORMATDESCRIPTOR* ppfd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeviceCapabilitiesW", ExactSpelling = true)] + public static extern int DeviceCapabilities([NativeTypeName("LPCWSTR")] ushort* pDevice, [NativeTypeName("LPCWSTR")] ushort* pPort, [NativeTypeName("WORD")] ushort fwCapability, [NativeTypeName("LPWSTR")] ushort* pOutput, [NativeTypeName("const DEVMODEW *")] DEVMODE* pDevMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawEscape", ExactSpelling = true)] + public static extern int DrawEscape([NativeTypeName("HDC")] IntPtr hdc, int iEscape, int cjIn, [NativeTypeName("LPCSTR")] sbyte* lpIn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Ellipse", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Ellipse([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumFontFamiliesExW", ExactSpelling = true)] + public static extern int EnumFontFamiliesEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPLOGFONTW")] LOGFONT* lpLogfont, [NativeTypeName("FONTENUMPROCW")] IntPtr lpProc, [NativeTypeName("LPARAM")] IntPtr lParam, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumFontFamiliesW", ExactSpelling = true)] + public static extern int EnumFontFamilies([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpLogfont, [NativeTypeName("FONTENUMPROCW")] IntPtr lpProc, [NativeTypeName("LPARAM")] IntPtr lParam); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumFontsW", ExactSpelling = true)] + public static extern int EnumFonts([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpLogfont, [NativeTypeName("FONTENUMPROCW")] IntPtr lpProc, [NativeTypeName("LPARAM")] IntPtr lParam); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumObjects", ExactSpelling = true)] + public static extern int EnumObjects([NativeTypeName("HDC")] IntPtr hdc, int nType, [NativeTypeName("GOBJENUMPROC")] IntPtr lpFunc, [NativeTypeName("LPARAM")] IntPtr lParam); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EqualRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EqualRgn([NativeTypeName("HRGN")] IntPtr hrgn1, [NativeTypeName("HRGN")] IntPtr hrgn2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Escape", ExactSpelling = true)] + public static extern int Escape([NativeTypeName("HDC")] IntPtr hdc, int iEscape, int cjIn, [NativeTypeName("LPCSTR")] sbyte* pvIn, [NativeTypeName("LPVOID")] void* pvOut); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtEscape", ExactSpelling = true)] + public static extern int ExtEscape([NativeTypeName("HDC")] IntPtr hdc, int iEscape, int cjInput, [NativeTypeName("LPCSTR")] sbyte* lpInData, int cjOutput, [NativeTypeName("LPSTR")] sbyte* lpOutData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExcludeClipRect", ExactSpelling = true)] + public static extern int ExcludeClipRect([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtCreateRegion", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr ExtCreateRegion([NativeTypeName("const XFORM *")] XFORM* lpx, [NativeTypeName("DWORD")] uint nCount, [NativeTypeName("const RGNDATA *")] RGNDATA* lpData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtFloodFill", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ExtFloodFill([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("COLORREF")] uint color, [NativeTypeName("UINT")] uint type); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FillRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FillRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("HBRUSH")] IntPtr hbr); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FloodFill", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FloodFill([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FrameRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FrameRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("HBRUSH")] IntPtr hbr, int w, int h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetROP2", ExactSpelling = true)] + public static extern int GetROP2([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAspectRatioFilterEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetAspectRatioFilterEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPSIZE")] SIZE* lpsize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBkColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetBkColor([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDCBrushColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetDCBrushColor([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDCPenColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetDCPenColor([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBkMode", ExactSpelling = true)] + public static extern int GetBkMode([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBitmapBits", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int GetBitmapBits([NativeTypeName("HBITMAP")] IntPtr hbit, [NativeTypeName("LONG")] int cb, [NativeTypeName("LPVOID")] void* lpvBits); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBitmapDimensionEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetBitmapDimensionEx([NativeTypeName("HBITMAP")] IntPtr hbit, [NativeTypeName("LPSIZE")] SIZE* lpsize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBoundsRect", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetBoundsRect([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPRECT")] RECT* lprect, [NativeTypeName("UINT")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetBrushOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetBrushOrgEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharWidthW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharWidth([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iFirst, [NativeTypeName("UINT")] uint iLast, [NativeTypeName("LPINT")] int* lpBuffer); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharWidth32W", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharWidth32([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iFirst, [NativeTypeName("UINT")] uint iLast, [NativeTypeName("LPINT")] int* lpBuffer); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharWidthFloatW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharWidthFloat([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iFirst, [NativeTypeName("UINT")] uint iLast, [NativeTypeName("PFLOAT")] float* lpBuffer); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharABCWidthsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharABCWidths([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint wFirst, [NativeTypeName("UINT")] uint wLast, [NativeTypeName("LPABC")] ABC* lpABC); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharABCWidthsFloatW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharABCWidthsFloat([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iFirst, [NativeTypeName("UINT")] uint iLast, [NativeTypeName("LPABCFLOAT")] ABCFLOAT* lpABC); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipBox", ExactSpelling = true)] + public static extern int GetClipBox([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPRECT")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipRgn", ExactSpelling = true)] + public static extern int GetClipRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMetaRgn", ExactSpelling = true)] + public static extern int GetMetaRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCurrentObject", ExactSpelling = true)] + [return: NativeTypeName("HGDIOBJ")] + public static extern void* GetCurrentObject([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint type); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCurrentPositionEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCurrentPositionEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDeviceCaps", ExactSpelling = true)] + public static extern int GetDeviceCaps([NativeTypeName("HDC")] IntPtr hdc, int index); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDIBits", ExactSpelling = true)] + public static extern int GetDIBits([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HBITMAP")] IntPtr hbm, [NativeTypeName("UINT")] uint start, [NativeTypeName("UINT")] uint cLines, [NativeTypeName("LPVOID")] void* lpvBits, [NativeTypeName("LPBITMAPINFO")] BITMAPINFO* lpbmi, [NativeTypeName("UINT")] uint usage); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetFontData", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetFontData([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("DWORD")] uint dwTable, [NativeTypeName("DWORD")] uint dwOffset, [NativeTypeName("PVOID")] void* pvBuffer, [NativeTypeName("DWORD")] uint cjBuffer); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGlyphOutlineW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetGlyphOutline([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint uChar, [NativeTypeName("UINT")] uint fuFormat, [NativeTypeName("LPGLYPHMETRICS")] GLYPHMETRICS* lpgm, [NativeTypeName("DWORD")] uint cjBuffer, [NativeTypeName("LPVOID")] void* pvBuffer, [NativeTypeName("const MAT2 *")] MAT2* lpmat2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGraphicsMode", ExactSpelling = true)] + public static extern int GetGraphicsMode([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMapMode", ExactSpelling = true)] + public static extern int GetMapMode([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMetaFileBitsEx", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetMetaFileBitsEx([NativeTypeName("HMETAFILE")] IntPtr hMF, [NativeTypeName("UINT")] uint cbBuffer, [NativeTypeName("LPVOID")] void* lpData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HMETAFILE")] + public static extern IntPtr GetMetaFile([NativeTypeName("LPCWSTR")] ushort* lpName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetNearestColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetNearestColor([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetNearestPaletteIndex", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetNearestPaletteIndex([NativeTypeName("HPALETTE")] IntPtr h, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetObjectType", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetObjectType([NativeTypeName("HGDIOBJ")] void* h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetOutlineTextMetricsW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetOutlineTextMetrics([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint cjCopy, [NativeTypeName("LPOUTLINETEXTMETRICW")] OUTLINETEXTMETRIC* potm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPaletteEntries", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetPaletteEntries([NativeTypeName("HPALETTE")] IntPtr hpal, [NativeTypeName("UINT")] uint iStart, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("LPPALETTEENTRY")] PALETTEENTRY* pPalEntries); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPixel", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetPixel([NativeTypeName("HDC")] IntPtr hdc, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPixelFormat", ExactSpelling = true)] + public static extern int GetPixelFormat([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPolyFillMode", ExactSpelling = true)] + public static extern int GetPolyFillMode([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRasterizerCaps", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetRasterizerCaps([NativeTypeName("LPRASTERIZER_STATUS")] RASTERIZER_STATUS* lpraststat, [NativeTypeName("UINT")] uint cjBytes); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRandomRgn", ExactSpelling = true)] + public static extern int GetRandomRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("INT")] int i); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRegionData", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetRegionData([NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("DWORD")] uint nCount, [NativeTypeName("LPRGNDATA")] RGNDATA* lpRgnData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRgnBox", ExactSpelling = true)] + public static extern int GetRgnBox([NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("LPRECT")] RECT* lprc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetStockObject", ExactSpelling = true)] + [return: NativeTypeName("HGDIOBJ")] + public static extern void* GetStockObject(int i); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetStretchBltMode", ExactSpelling = true)] + public static extern int GetStretchBltMode([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSystemPaletteEntries", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetSystemPaletteEntries([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iStart, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("LPPALETTEENTRY")] PALETTEENTRY* pPalEntries); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSystemPaletteUse", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetSystemPaletteUse([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextCharacterExtra", ExactSpelling = true)] + public static extern int GetTextCharacterExtra([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextAlign", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetTextAlign([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint GetTextColor([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextExtentPointW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextExtentPoint([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpString, int c, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextExtentPoint32W", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextExtentPoint32([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpString, int c, [NativeTypeName("LPSIZE")] SIZE* psizl); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextExtentExPointW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextExtentExPoint([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpszString, int cchString, int nMaxExtent, [NativeTypeName("LPINT")] int* lpnFit, [NativeTypeName("LPINT")] int* lpnDx, [NativeTypeName("LPSIZE")] SIZE* lpSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextCharset", ExactSpelling = true)] + public static extern int GetTextCharset([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextCharsetInfo", ExactSpelling = true)] + public static extern int GetTextCharsetInfo([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPFONTSIGNATURE")] FONTSIGNATURE* lpSig, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TranslateCharsetInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TranslateCharsetInfo([NativeTypeName("DWORD *")] uint* lpSrc, [NativeTypeName("LPCHARSETINFO")] CHARSETINFO* lpCs, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetFontLanguageInfo", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetFontLanguageInfo([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharacterPlacementW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetCharacterPlacement([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpString, int nCount, int nMexExtent, [NativeTypeName("LPGCP_RESULTSW")] GCP_RESULTS* lpResults, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetFontUnicodeRanges", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetFontUnicodeRanges([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPGLYPHSET")] GLYPHSET* lpgs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGlyphIndicesW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetGlyphIndices([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpstr, int c, [NativeTypeName("LPWORD")] ushort* pgi, [NativeTypeName("DWORD")] uint fl); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextExtentPointI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextExtentPointI([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPWORD")] ushort* pgiIn, int cgi, [NativeTypeName("LPSIZE")] SIZE* psize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextExtentExPointI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextExtentExPointI([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPWORD")] ushort* lpwszString, int cwchString, int nMaxExtent, [NativeTypeName("LPINT")] int* lpnFit, [NativeTypeName("LPINT")] int* lpnDx, [NativeTypeName("LPSIZE")] SIZE* lpSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharWidthI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharWidthI([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint giFirst, [NativeTypeName("UINT")] uint cgi, [NativeTypeName("LPWORD")] ushort* pgi, [NativeTypeName("LPINT")] int* piWidths); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCharABCWidthsI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCharABCWidthsI([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint giFirst, [NativeTypeName("UINT")] uint cgi, [NativeTypeName("LPWORD")] ushort* pgi, [NativeTypeName("LPABC")] ABC* pabc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AddFontResourceExW", ExactSpelling = true)] + public static extern int AddFontResourceEx([NativeTypeName("LPCWSTR")] ushort* name, [NativeTypeName("DWORD")] uint fl, [NativeTypeName("PVOID")] void* res); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemoveFontResourceExW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RemoveFontResourceEx([NativeTypeName("LPCWSTR")] ushort* name, [NativeTypeName("DWORD")] uint fl, [NativeTypeName("PVOID")] void* pdv); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AddFontMemResourceEx", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* AddFontMemResourceEx([NativeTypeName("PVOID")] void* pFileView, [NativeTypeName("DWORD")] uint cjSize, [NativeTypeName("PVOID")] void* pvResrved, [NativeTypeName("DWORD *")] uint* pNumFonts); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemoveFontMemResourceEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RemoveFontMemResourceEx([NativeTypeName("HANDLE")] void* h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateFontIndirectExW", ExactSpelling = true)] + [return: NativeTypeName("HFONT")] + public static extern IntPtr CreateFontIndirectEx([NativeTypeName("const ENUMLOGFONTEXDVW *")] ENUMLOGFONTEXDV* param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetViewportExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetViewportExtEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPSIZE")] SIZE* lpsize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetViewportOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetViewportOrgEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppoint); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowExtEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPSIZE")] SIZE* lpsize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowOrgEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppoint); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IntersectClipRect", ExactSpelling = true)] + public static extern int IntersectClipRect([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InvertRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InvertRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LineDDA", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LineDDA(int xStart, int yStart, int xEnd, int yEnd, [NativeTypeName("LINEDDAPROC")] IntPtr lpProc, [NativeTypeName("LPARAM")] IntPtr data); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LineTo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LineTo([NativeTypeName("HDC")] IntPtr hdc, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MaskBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int MaskBlt([NativeTypeName("HDC")] IntPtr hdcDest, int xDest, int yDest, int width, int height, [NativeTypeName("HDC")] IntPtr hdcSrc, int xSrc, int ySrc, [NativeTypeName("HBITMAP")] IntPtr hbmMask, int xMask, int yMask, [NativeTypeName("DWORD")] uint rop); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PlgBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PlgBlt([NativeTypeName("HDC")] IntPtr hdcDest, [NativeTypeName("const POINT *")] POINT* lpPoint, [NativeTypeName("HDC")] IntPtr hdcSrc, int xSrc, int ySrc, int width, int height, [NativeTypeName("HBITMAP")] IntPtr hbmMask, int xMask, int yMask); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OffsetClipRgn", ExactSpelling = true)] + public static extern int OffsetClipRgn([NativeTypeName("HDC")] IntPtr hdc, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OffsetRgn", ExactSpelling = true)] + public static extern int OffsetRgn([NativeTypeName("HRGN")] IntPtr hrgn, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PatBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PatBlt([NativeTypeName("HDC")] IntPtr hdc, int x, int y, int w, int h, [NativeTypeName("DWORD")] uint rop); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Pie", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Pie([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom, int xr1, int yr1, int xr2, int yr2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PlayMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PlayMetaFile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HMETAFILE")] IntPtr hmf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PaintRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PaintRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyPolygon", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyPolygon([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("const INT *")] int* asz, int csz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PtInRegion", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PtInRegion([NativeTypeName("HRGN")] IntPtr hrgn, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PtVisible", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PtVisible([NativeTypeName("HDC")] IntPtr hdc, int x, int y); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RectInRegion", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RectInRegion([NativeTypeName("HRGN")] IntPtr hrgn, [NativeTypeName("const RECT *")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RectVisible", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RectVisible([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const RECT *")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Rectangle", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Rectangle([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RestoreDC", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RestoreDC([NativeTypeName("HDC")] IntPtr hdc, int nSavedDC); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ResetDCW", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr ResetDC([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const DEVMODEW *")] DEVMODE* lpdm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RealizePalette", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint RealizePalette([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemoveFontResourceW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RemoveFontResource([NativeTypeName("LPCWSTR")] ushort* lpFileName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RoundRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RoundRect([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom, int width, int height); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ResizePalette", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ResizePalette([NativeTypeName("HPALETTE")] IntPtr hpal, [NativeTypeName("UINT")] uint n); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SaveDC", ExactSpelling = true)] + public static extern int SaveDC([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SelectClipRgn", ExactSpelling = true)] + public static extern int SelectClipRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtSelectClipRgn", ExactSpelling = true)] + public static extern int ExtSelectClipRgn([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HRGN")] IntPtr hrgn, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMetaRgn", ExactSpelling = true)] + public static extern int SetMetaRgn([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SelectObject", ExactSpelling = true)] + [return: NativeTypeName("HGDIOBJ")] + public static extern void* SelectObject([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HGDIOBJ")] void* h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SelectPalette", ExactSpelling = true)] + [return: NativeTypeName("HPALETTE")] + public static extern IntPtr SelectPalette([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HPALETTE")] IntPtr hPal, [NativeTypeName("BOOL")] int bForceBkgd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBkColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint SetBkColor([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDCBrushColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint SetDCBrushColor([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDCPenColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint SetDCPenColor([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBkMode", ExactSpelling = true)] + public static extern int SetBkMode([NativeTypeName("HDC")] IntPtr hdc, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBitmapBits", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int SetBitmapBits([NativeTypeName("HBITMAP")] IntPtr hbm, [NativeTypeName("DWORD")] uint cb, [NativeTypeName("const void *")] void* pvBits); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBoundsRect", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SetBoundsRect([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const RECT *")] RECT* lprect, [NativeTypeName("UINT")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDIBits", ExactSpelling = true)] + public static extern int SetDIBits([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HBITMAP")] IntPtr hbm, [NativeTypeName("UINT")] uint start, [NativeTypeName("UINT")] uint cLines, [NativeTypeName("const void *")] void* lpBits, [NativeTypeName("const BITMAPINFO *")] BITMAPINFO* lpbmi, [NativeTypeName("UINT")] uint ColorUse); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDIBitsToDevice", ExactSpelling = true)] + public static extern int SetDIBitsToDevice([NativeTypeName("HDC")] IntPtr hdc, int xDest, int yDest, [NativeTypeName("DWORD")] uint w, [NativeTypeName("DWORD")] uint h, int xSrc, int ySrc, [NativeTypeName("UINT")] uint StartScan, [NativeTypeName("UINT")] uint cLines, [NativeTypeName("const void *")] void* lpvBits, [NativeTypeName("const BITMAPINFO *")] BITMAPINFO* lpbmi, [NativeTypeName("UINT")] uint ColorUse); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMapperFlags", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint SetMapperFlags([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("DWORD")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetGraphicsMode", ExactSpelling = true)] + public static extern int SetGraphicsMode([NativeTypeName("HDC")] IntPtr hdc, int iMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMapMode", ExactSpelling = true)] + public static extern int SetMapMode([NativeTypeName("HDC")] IntPtr hdc, int iMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetLayout", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint SetLayout([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("DWORD")] uint l); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetLayout", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetLayout([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMetaFileBitsEx", ExactSpelling = true)] + [return: NativeTypeName("HMETAFILE")] + public static extern IntPtr SetMetaFileBitsEx([NativeTypeName("UINT")] uint cbBuffer, [NativeTypeName("const BYTE *")] byte* lpData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPaletteEntries", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SetPaletteEntries([NativeTypeName("HPALETTE")] IntPtr hpal, [NativeTypeName("UINT")] uint iStart, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("const PALETTEENTRY *")] PALETTEENTRY* pPalEntries); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPixel", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint SetPixel([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPixelV", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetPixelV([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPixelFormat", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetPixelFormat([NativeTypeName("HDC")] IntPtr hdc, int format, [NativeTypeName("const PIXELFORMATDESCRIPTOR *")] PIXELFORMATDESCRIPTOR* ppfd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPolyFillMode", ExactSpelling = true)] + public static extern int SetPolyFillMode([NativeTypeName("HDC")] IntPtr hdc, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StretchBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int StretchBlt([NativeTypeName("HDC")] IntPtr hdcDest, int xDest, int yDest, int wDest, int hDest, [NativeTypeName("HDC")] IntPtr hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, [NativeTypeName("DWORD")] uint rop); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetRectRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetRectRgn([NativeTypeName("HRGN")] IntPtr hrgn, int left, int top, int right, int bottom); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StretchDIBits", ExactSpelling = true)] + public static extern int StretchDIBits([NativeTypeName("HDC")] IntPtr hdc, int xDest, int yDest, int DestWidth, int DestHeight, int xSrc, int ySrc, int SrcWidth, int SrcHeight, [NativeTypeName("const void *")] void* lpBits, [NativeTypeName("const BITMAPINFO *")] BITMAPINFO* lpbmi, [NativeTypeName("UINT")] uint iUsage, [NativeTypeName("DWORD")] uint rop); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetROP2", ExactSpelling = true)] + public static extern int SetROP2([NativeTypeName("HDC")] IntPtr hdc, int rop2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetStretchBltMode", ExactSpelling = true)] + public static extern int SetStretchBltMode([NativeTypeName("HDC")] IntPtr hdc, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetSystemPaletteUse", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SetSystemPaletteUse([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint use); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetTextCharacterExtra", ExactSpelling = true)] + public static extern int SetTextCharacterExtra([NativeTypeName("HDC")] IntPtr hdc, int extra); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetTextColor", ExactSpelling = true)] + [return: NativeTypeName("COLORREF")] + public static extern uint SetTextColor([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("COLORREF")] uint color); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetTextAlign", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SetTextAlign([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint align); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetTextJustification", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetTextJustification([NativeTypeName("HDC")] IntPtr hdc, int extra, int count); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UpdateColors", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UpdateColors([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiRegisterDdraw", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiRegisterDdraw([NativeTypeName("PGDIREGISTERDDRAWPACKET")] GDIREGISTERDDRAWPACKET* pPacket, [NativeTypeName("GDIMARSHALLOC")] IntPtr ppfnGdiAlloc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiMarshalSize", ExactSpelling = true)] + [return: NativeTypeName("ULONG")] + public static extern uint GdiMarshalSize(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiMarshal", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern void GdiMarshal([NativeTypeName("DWORD")] uint dwProcessIdTo, [NativeTypeName("HGDIOBJ")] void* hGdiObj, [NativeTypeName("PVOID")] void* pData, [NativeTypeName("ULONG")] uint ulFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiUnmarshal", ExactSpelling = true)] + [return: NativeTypeName("HGDIOBJ")] + public static extern void* GdiUnmarshal([NativeTypeName("PVOID")] void* pData, [NativeTypeName("ULONG")] uint ulFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AlphaBlend", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AlphaBlend([NativeTypeName("HDC")] IntPtr hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, [NativeTypeName("HDC")] IntPtr hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, [NativeTypeName("BLENDFUNCTION")] BLENDFUNCTION ftn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TransparentBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TransparentBlt([NativeTypeName("HDC")] IntPtr hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, [NativeTypeName("HDC")] IntPtr hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, [NativeTypeName("UINT")] uint crTransparent); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GradientFill", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GradientFill([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("PTRIVERTEX")] TRIVERTEX* pVertex, [NativeTypeName("ULONG")] uint nVertex, [NativeTypeName("PVOID")] void* pMesh, [NativeTypeName("ULONG")] uint nMesh, [NativeTypeName("ULONG")] uint ulMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiAlphaBlend", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiAlphaBlend([NativeTypeName("HDC")] IntPtr hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, [NativeTypeName("HDC")] IntPtr hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, [NativeTypeName("BLENDFUNCTION")] BLENDFUNCTION ftn); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiTransparentBlt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiTransparentBlt([NativeTypeName("HDC")] IntPtr hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, [NativeTypeName("HDC")] IntPtr hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, [NativeTypeName("UINT")] uint crTransparent); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiGradientFill", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiGradientFill([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("PTRIVERTEX")] TRIVERTEX* pVertex, [NativeTypeName("ULONG")] uint nVertex, [NativeTypeName("PVOID")] void* pMesh, [NativeTypeName("ULONG")] uint nCount, [NativeTypeName("ULONG")] uint ulMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PlayMetaFileRecord", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PlayMetaFileRecord([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPHANDLETABLE")] HANDLETABLE* lpHandleTable, [NativeTypeName("LPMETARECORD")] METARECORD* lpMR, [NativeTypeName("UINT")] uint noObjs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumMetaFile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HMETAFILE")] IntPtr hmf, [NativeTypeName("MFENUMPROC")] IntPtr proc, [NativeTypeName("LPARAM")] IntPtr param3); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseEnhMetaFile", ExactSpelling = true)] + [return: NativeTypeName("HENHMETAFILE")] + public static extern IntPtr CloseEnhMetaFile([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyEnhMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HENHMETAFILE")] + public static extern IntPtr CopyEnhMetaFile([NativeTypeName("HENHMETAFILE")] IntPtr hEnh, [NativeTypeName("LPCWSTR")] ushort* lpFileName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateEnhMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr CreateEnhMetaFile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpFilename, [NativeTypeName("const RECT *")] RECT* lprc, [NativeTypeName("LPCWSTR")] ushort* lpDesc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteEnhMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteEnhMetaFile([NativeTypeName("HENHMETAFILE")] IntPtr hmf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumEnhMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumEnhMetaFile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HENHMETAFILE")] IntPtr hmf, [NativeTypeName("ENHMFENUMPROC")] IntPtr proc, [NativeTypeName("LPVOID")] void* param3, [NativeTypeName("const RECT *")] RECT* lpRect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFileW", ExactSpelling = true)] + [return: NativeTypeName("HENHMETAFILE")] + public static extern IntPtr GetEnhMetaFile([NativeTypeName("LPCWSTR")] ushort* lpName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFileBits", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetEnhMetaFileBits([NativeTypeName("HENHMETAFILE")] IntPtr hEMF, [NativeTypeName("UINT")] uint nSize, [NativeTypeName("LPBYTE")] byte* lpData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFileDescriptionW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetEnhMetaFileDescription([NativeTypeName("HENHMETAFILE")] IntPtr hemf, [NativeTypeName("UINT")] uint cchBuffer, [NativeTypeName("LPWSTR")] ushort* lpDescription); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFileHeader", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetEnhMetaFileHeader([NativeTypeName("HENHMETAFILE")] IntPtr hemf, [NativeTypeName("UINT")] uint nSize, [NativeTypeName("LPENHMETAHEADER")] ENHMETAHEADER* lpEnhMetaHeader); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFilePaletteEntries", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetEnhMetaFilePaletteEntries([NativeTypeName("HENHMETAFILE")] IntPtr hemf, [NativeTypeName("UINT")] uint nNumEntries, [NativeTypeName("LPPALETTEENTRY")] PALETTEENTRY* lpPaletteEntries); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetEnhMetaFilePixelFormat", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetEnhMetaFilePixelFormat([NativeTypeName("HENHMETAFILE")] IntPtr hemf, [NativeTypeName("UINT")] uint cbBuffer, [NativeTypeName("PIXELFORMATDESCRIPTOR *")] PIXELFORMATDESCRIPTOR* ppfd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWinMetaFileBits", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetWinMetaFileBits([NativeTypeName("HENHMETAFILE")] IntPtr hemf, [NativeTypeName("UINT")] uint cbData16, [NativeTypeName("LPBYTE")] byte* pData16, [NativeTypeName("INT")] int iMapMode, [NativeTypeName("HDC")] IntPtr hdcRef); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PlayEnhMetaFile", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PlayEnhMetaFile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HENHMETAFILE")] IntPtr hmf, [NativeTypeName("const RECT *")] RECT* lprect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PlayEnhMetaFileRecord", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PlayEnhMetaFileRecord([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPHANDLETABLE")] HANDLETABLE* pht, [NativeTypeName("const ENHMETARECORD *")] ENHMETARECORD* pmr, [NativeTypeName("UINT")] uint cht); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetEnhMetaFileBits", ExactSpelling = true)] + [return: NativeTypeName("HENHMETAFILE")] + public static extern IntPtr SetEnhMetaFileBits([NativeTypeName("UINT")] uint nSize, [NativeTypeName("const BYTE *")] byte* pb); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWinMetaFileBits", ExactSpelling = true)] + [return: NativeTypeName("HENHMETAFILE")] + public static extern IntPtr SetWinMetaFileBits([NativeTypeName("UINT")] uint nSize, [NativeTypeName("const BYTE *")] byte* lpMeta16Data, [NativeTypeName("HDC")] IntPtr hdcRef, [NativeTypeName("const METAFILEPICT *")] METAFILEPICT* lpMFP); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiComment", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiComment([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint nSize, [NativeTypeName("const BYTE *")] byte* lpData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextMetricsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTextMetrics([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPTEXTMETRICW")] TEXTMETRIC* lptm); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AngleArc", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AngleArc([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("DWORD")] uint r, [NativeTypeName("FLOAT")] float StartAngle, [NativeTypeName("FLOAT")] float SweepAngle); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyPolyline", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyPolyline([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("const DWORD *")] uint* asz, [NativeTypeName("DWORD")] uint csz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWorldTransform", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWorldTransform([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPXFORM")] XFORM* lpxf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWorldTransform", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWorldTransform([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const XFORM *")] XFORM* lpxf); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ModifyWorldTransform", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ModifyWorldTransform([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const XFORM *")] XFORM* lpxf, [NativeTypeName("DWORD")] uint mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CombineTransform", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CombineTransform([NativeTypeName("LPXFORM")] XFORM* lpxfOut, [NativeTypeName("const XFORM *")] XFORM* lpxf1, [NativeTypeName("const XFORM *")] XFORM* lpxf2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDIBSection", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr CreateDIBSection([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const BITMAPINFO *")] BITMAPINFO* pbmi, [NativeTypeName("UINT")] uint usage, [NativeTypeName("void **")] void** ppvBits, [NativeTypeName("HANDLE")] void* hSection, [NativeTypeName("DWORD")] uint offset); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDIBColorTable", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDIBColorTable([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iStart, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("RGBQUAD *")] RGBQUAD* prgbq); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDIBColorTable", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SetDIBColorTable([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("UINT")] uint iStart, [NativeTypeName("UINT")] uint cEntries, [NativeTypeName("const RGBQUAD *")] RGBQUAD* prgbq); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetColorAdjustment", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetColorAdjustment([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const COLORADJUSTMENT *")] COLORADJUSTMENT* lpca); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetColorAdjustment", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetColorAdjustment([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCOLORADJUSTMENT")] COLORADJUSTMENT* lpca); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateHalftonePalette", ExactSpelling = true)] + [return: NativeTypeName("HPALETTE")] + public static extern IntPtr CreateHalftonePalette([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StartDocW", ExactSpelling = true)] + public static extern int StartDoc([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const DOCINFOW *")] DOCINFO* lpdi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndDoc", ExactSpelling = true)] + public static extern int EndDoc([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StartPage", ExactSpelling = true)] + public static extern int StartPage([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndPage", ExactSpelling = true)] + public static extern int EndPage([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AbortDoc", ExactSpelling = true)] + public static extern int AbortDoc([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetAbortProc", ExactSpelling = true)] + public static extern int SetAbortProc([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("ABORTPROC")] IntPtr proc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AbortPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AbortPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ArcTo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ArcTo([NativeTypeName("HDC")] IntPtr hdc, int left, int top, int right, int bottom, int xr1, int yr1, int xr2, int yr2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BeginPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int BeginPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseFigure", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseFigure([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EndPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FillPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FillPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FlattenPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FlattenPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPath", ExactSpelling = true)] + public static extern int GetPath([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* apt, [NativeTypeName("LPBYTE")] byte* aj, int cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PathToRegion", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr PathToRegion([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyDraw", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyDraw([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("const BYTE *")] byte* aj, int cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SelectClipPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SelectClipPath([NativeTypeName("HDC")] IntPtr hdc, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetArcDirection", ExactSpelling = true)] + public static extern int SetArcDirection([NativeTypeName("HDC")] IntPtr hdc, int dir); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMiterLimit", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMiterLimit([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("FLOAT")] float limit, [NativeTypeName("PFLOAT")] float* old); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StrokeAndFillPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int StrokeAndFillPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "StrokePath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int StrokePath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WidenPath", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int WidenPath([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtCreatePen", ExactSpelling = true)] + [return: NativeTypeName("HPEN")] + public static extern IntPtr ExtCreatePen([NativeTypeName("DWORD")] uint iPenStyle, [NativeTypeName("DWORD")] uint cWidth, [NativeTypeName("const LOGBRUSH *")] LOGBRUSH* plbrush, [NativeTypeName("DWORD")] uint cStyle, [NativeTypeName("const DWORD *")] uint* pstyle); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMiterLimit", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMiterLimit([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("PFLOAT")] float* plimit); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetArcDirection", ExactSpelling = true)] + public static extern int GetArcDirection([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetObjectW", ExactSpelling = true)] + public static extern int GetObject([NativeTypeName("HANDLE")] void* h, int c, [NativeTypeName("LPVOID")] void* pv); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MoveToEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int MoveToEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TextOutW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TextOut([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPCWSTR")] ushort* lpString, int c); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExtTextOutW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ExtTextOut([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("UINT")] uint options, [NativeTypeName("const RECT *")] RECT* lprect, [NativeTypeName("LPCWSTR")] ushort* lpString, [NativeTypeName("UINT")] uint c, [NativeTypeName("const INT *")] int* lpDx); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyTextOutW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyTextOut([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POLYTEXTW *")] POLYTEXT* ppt, int nstrings); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePolygonRgn", ExactSpelling = true)] + [return: NativeTypeName("HRGN")] + public static extern IntPtr CreatePolygonRgn([NativeTypeName("const POINT *")] POINT* pptl, int cPoint, int iMode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DPtoLP", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DPtoLP([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppt, int c); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LPtoDP", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LPtoDP([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppt, int c); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Polygon", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Polygon([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, int cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "Polyline", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int Polyline([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, int cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyBezier", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyBezier([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("DWORD")] uint cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolyBezierTo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolyBezierTo([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("DWORD")] uint cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PolylineTo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PolylineTo([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const POINT *")] POINT* apt, [NativeTypeName("DWORD")] uint cpt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetViewportExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetViewportExtEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetViewportOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetViewportOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowExtEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OffsetViewportOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OffsetViewportOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OffsetWindowOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OffsetWindowOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScaleViewportExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ScaleViewportExtEx([NativeTypeName("HDC")] IntPtr hdc, int xn, int dx, int yn, int yd, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScaleWindowExtEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ScaleWindowExtEx([NativeTypeName("HDC")] IntPtr hdc, int xn, int xd, int yn, int yd, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBitmapDimensionEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetBitmapDimensionEx([NativeTypeName("HBITMAP")] IntPtr hbm, int w, int h, [NativeTypeName("LPSIZE")] SIZE* lpsz); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetBrushOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetBrushOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTextFaceW", ExactSpelling = true)] + public static extern int GetTextFace([NativeTypeName("HDC")] IntPtr hdc, int c, [NativeTypeName("LPWSTR")] ushort* lpName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKerningPairsW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetKerningPairs([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("DWORD")] uint nPairs, [NativeTypeName("LPKERNINGPAIR")] KERNINGPAIR* lpKernPair); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDCOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetDCOrgEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPPOINT")] POINT* lppt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FixBrushOrgEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FixBrushOrgEx([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPPOINT")] POINT* ptl); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnrealizeObject", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnrealizeObject([NativeTypeName("HGDIOBJ")] void* h); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiFlush", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GdiFlush(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiSetBatchLimit", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GdiSetBatchLimit([NativeTypeName("DWORD")] uint dw); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GdiGetBatchLimit", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GdiGetBatchLimit(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetICMMode", ExactSpelling = true)] + public static extern int SetICMMode([NativeTypeName("HDC")] IntPtr hdc, int mode); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CheckColorsInGamut", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CheckColorsInGamut([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPRGBTRIPLE")] RGBTRIPLE* lpRGBTriple, [NativeTypeName("LPVOID")] void* dlpBuffer, [NativeTypeName("DWORD")] uint nCount); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetColorSpace", ExactSpelling = true)] + [return: NativeTypeName("HCOLORSPACE")] + public static extern IntPtr GetColorSpace([NativeTypeName("HDC")] IntPtr hdc); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetLogColorSpaceW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetLogColorSpace([NativeTypeName("HCOLORSPACE")] IntPtr hColorSpace, [NativeTypeName("LPLOGCOLORSPACEW")] LOGCOLORSPACE* lpBuffer, [NativeTypeName("DWORD")] uint nSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateColorSpaceW", ExactSpelling = true)] + [return: NativeTypeName("HCOLORSPACE")] + public static extern IntPtr CreateColorSpace([NativeTypeName("LPLOGCOLORSPACEW")] LOGCOLORSPACE* lplcs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetColorSpace", ExactSpelling = true)] + [return: NativeTypeName("HCOLORSPACE")] + public static extern IntPtr SetColorSpace([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HCOLORSPACE")] IntPtr hcs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteColorSpace", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteColorSpace([NativeTypeName("HCOLORSPACE")] IntPtr hcs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetICMProfileW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetICMProfile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPDWORD")] uint* pBufSize, [NativeTypeName("LPWSTR")] ushort* pszFilename); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetICMProfileW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetICMProfile([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPWSTR")] ushort* lpFileName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDeviceGammaRamp", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetDeviceGammaRamp([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPVOID")] void* lpRamp); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDeviceGammaRamp", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDeviceGammaRamp([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPVOID")] void* lpRamp); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ColorMatchToTarget", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ColorMatchToTarget([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HDC")] IntPtr hdcTarget, [NativeTypeName("DWORD")] uint action); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumICMProfilesW", ExactSpelling = true)] + public static extern int EnumICMProfiles([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("ICMENUMPROCW")] IntPtr proc, [NativeTypeName("LPARAM")] IntPtr param2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UpdateICMRegKeyW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UpdateICMRegKey([NativeTypeName("DWORD")] uint reserved, [NativeTypeName("LPWSTR")] ushort* lpszCMID, [NativeTypeName("LPWSTR")] ushort* lpszFileName, [NativeTypeName("UINT")] uint command); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ColorCorrectPalette", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ColorCorrectPalette([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HPALETTE")] IntPtr hPal, [NativeTypeName("DWORD")] uint deFirst, [NativeTypeName("DWORD")] uint num); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglCopyContext", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglCopyContext([NativeTypeName("HGLRC")] IntPtr param0, [NativeTypeName("HGLRC")] IntPtr param1, [NativeTypeName("UINT")] uint param2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglCreateContext", ExactSpelling = true)] + [return: NativeTypeName("HGLRC")] + public static extern IntPtr wglCreateContext([NativeTypeName("HDC")] IntPtr param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglCreateLayerContext", ExactSpelling = true)] + [return: NativeTypeName("HGLRC")] + public static extern IntPtr wglCreateLayerContext([NativeTypeName("HDC")] IntPtr param0, int param1); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglDeleteContext", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglDeleteContext([NativeTypeName("HGLRC")] IntPtr param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglGetCurrentContext", ExactSpelling = true)] + [return: NativeTypeName("HGLRC")] + public static extern IntPtr wglGetCurrentContext(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglGetCurrentDC", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr wglGetCurrentDC(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglGetProcAddress", ExactSpelling = true)] + [return: NativeTypeName("PROC")] + public static extern IntPtr wglGetProcAddress([NativeTypeName("LPCSTR")] sbyte* param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglMakeCurrent", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglMakeCurrent([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("HGLRC")] IntPtr param1); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglShareLists", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglShareLists([NativeTypeName("HGLRC")] IntPtr param0, [NativeTypeName("HGLRC")] IntPtr param1); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglUseFontBitmapsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglUseFontBitmaps([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("DWORD")] uint param1, [NativeTypeName("DWORD")] uint param2, [NativeTypeName("DWORD")] uint param3); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SwapBuffers", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SwapBuffers([NativeTypeName("HDC")] IntPtr param0); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglUseFontOutlinesW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglUseFontOutlines([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("DWORD")] uint param1, [NativeTypeName("DWORD")] uint param2, [NativeTypeName("DWORD")] uint param3, [NativeTypeName("FLOAT")] float param4, [NativeTypeName("FLOAT")] float param5, int param6, [NativeTypeName("LPGLYPHMETRICSFLOAT")] GLYPHMETRICSFLOAT* param7); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglDescribeLayerPlane", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglDescribeLayerPlane([NativeTypeName("HDC")] IntPtr param0, int param1, int param2, [NativeTypeName("UINT")] uint param3, [NativeTypeName("LPLAYERPLANEDESCRIPTOR")] LAYERPLANEDESCRIPTOR* param4); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglSetLayerPaletteEntries", ExactSpelling = true)] + public static extern int wglSetLayerPaletteEntries([NativeTypeName("HDC")] IntPtr param0, int param1, int param2, int param3, [NativeTypeName("const COLORREF *")] uint* param4); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglGetLayerPaletteEntries", ExactSpelling = true)] + public static extern int wglGetLayerPaletteEntries([NativeTypeName("HDC")] IntPtr param0, int param1, int param2, int param3, [NativeTypeName("COLORREF *")] uint* param4); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglRealizeLayerPalette", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglRealizeLayerPalette([NativeTypeName("HDC")] IntPtr param0, int param1, [NativeTypeName("BOOL")] int param2); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglSwapLayerBuffers", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int wglSwapLayerBuffers([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("UINT")] uint param1); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wglSwapMultipleBuffers", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint wglSwapMultipleBuffers([NativeTypeName("UINT")] uint param0, [NativeTypeName("const WGLSWAP *")] WGLSWAP* param1); + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/HANDLETABLE.cs b/sources/Interop/Gdi32/um/wingdi/HANDLETABLE.cs new file mode 100644 index 0000000000..dbfad17807 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/HANDLETABLE.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct HANDLETABLE + { + [NativeTypeName("HGDIOBJ [1]")] + public _objectHandle_e__FixedBuffer objectHandle; + + public unsafe partial struct _objectHandle_e__FixedBuffer + { + internal IntPtr e0; + + public ref IntPtr this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/ICMENUMPROC.cs b/sources/Interop/Gdi32/um/wingdi/ICMENUMPROC.cs new file mode 100644 index 0000000000..58d733fc94 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/ICMENUMPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int ICMENUMPROC([NativeTypeName("LPWSTR")] ushort* param0, [NativeTypeName("LPARAM")] IntPtr param1); +} diff --git a/sources/Interop/Gdi32/um/wingdi/KERNINGPAIR.cs b/sources/Interop/Gdi32/um/wingdi/KERNINGPAIR.cs new file mode 100644 index 0000000000..99ecac397e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/KERNINGPAIR.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct KERNINGPAIR + { + [NativeTypeName("WORD")] + public ushort wFirst; + + [NativeTypeName("WORD")] + public ushort wSecond; + + public int iKernAmount; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LAYERPLANEDESCRIPTOR.cs b/sources/Interop/Gdi32/um/wingdi/LAYERPLANEDESCRIPTOR.cs new file mode 100644 index 0000000000..2f5ce27d12 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LAYERPLANEDESCRIPTOR.cs @@ -0,0 +1,82 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct LAYERPLANEDESCRIPTOR + { + [NativeTypeName("WORD")] + public ushort nSize; + + [NativeTypeName("WORD")] + public ushort nVersion; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("BYTE")] + public byte iPixelType; + + [NativeTypeName("BYTE")] + public byte cColorBits; + + [NativeTypeName("BYTE")] + public byte cRedBits; + + [NativeTypeName("BYTE")] + public byte cRedShift; + + [NativeTypeName("BYTE")] + public byte cGreenBits; + + [NativeTypeName("BYTE")] + public byte cGreenShift; + + [NativeTypeName("BYTE")] + public byte cBlueBits; + + [NativeTypeName("BYTE")] + public byte cBlueShift; + + [NativeTypeName("BYTE")] + public byte cAlphaBits; + + [NativeTypeName("BYTE")] + public byte cAlphaShift; + + [NativeTypeName("BYTE")] + public byte cAccumBits; + + [NativeTypeName("BYTE")] + public byte cAccumRedBits; + + [NativeTypeName("BYTE")] + public byte cAccumGreenBits; + + [NativeTypeName("BYTE")] + public byte cAccumBlueBits; + + [NativeTypeName("BYTE")] + public byte cAccumAlphaBits; + + [NativeTypeName("BYTE")] + public byte cDepthBits; + + [NativeTypeName("BYTE")] + public byte cStencilBits; + + [NativeTypeName("BYTE")] + public byte cAuxBuffers; + + [NativeTypeName("BYTE")] + public byte iLayerPlane; + + [NativeTypeName("BYTE")] + public byte bReserved; + + [NativeTypeName("COLORREF")] + public uint crTransparent; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LINEDDAPROC.cs b/sources/Interop/Gdi32/um/wingdi/LINEDDAPROC.cs new file mode 100644 index 0000000000..780e653a58 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LINEDDAPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public delegate void LINEDDAPROC(int param0, int param1, [NativeTypeName("LPARAM")] IntPtr param2); +} diff --git a/sources/Interop/Gdi32/um/wingdi/LOCALESIGNATURE.cs b/sources/Interop/Gdi32/um/wingdi/LOCALESIGNATURE.cs new file mode 100644 index 0000000000..eed6c4d06e --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOCALESIGNATURE.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct LOCALESIGNATURE + { + [NativeTypeName("DWORD [4]")] + public fixed uint lsUsb[4]; + + [NativeTypeName("DWORD [2]")] + public fixed uint lsCsbDefault[2]; + + [NativeTypeName("DWORD [2]")] + public fixed uint lsCsbSupported[2]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LOGBRUSH.cs b/sources/Interop/Gdi32/um/wingdi/LOGBRUSH.cs new file mode 100644 index 0000000000..32a45af633 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOGBRUSH.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct LOGBRUSH + { + [NativeTypeName("UINT")] + public uint lbStyle; + + [NativeTypeName("COLORREF")] + public uint lbColor; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr lbHatch; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LOGBRUSH32.cs b/sources/Interop/Gdi32/um/wingdi/LOGBRUSH32.cs new file mode 100644 index 0000000000..3737012078 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOGBRUSH32.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct LOGBRUSH32 + { + [NativeTypeName("UINT")] + public uint lbStyle; + + [NativeTypeName("COLORREF")] + public uint lbColor; + + [NativeTypeName("ULONG")] + public uint lbHatch; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LOGCOLORSPACE.cs b/sources/Interop/Gdi32/um/wingdi/LOGCOLORSPACE.cs new file mode 100644 index 0000000000..e1c58dc056 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOGCOLORSPACE.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct LOGCOLORSPACE + { + [NativeTypeName("DWORD")] + public uint lcsSignature; + + [NativeTypeName("DWORD")] + public uint lcsVersion; + + [NativeTypeName("DWORD")] + public uint lcsSize; + + [NativeTypeName("LCSCSTYPE")] + public int lcsCSType; + + [NativeTypeName("LCSGAMUTMATCH")] + public int lcsIntent; + + public CIEXYZTRIPLE lcsEndpoints; + + [NativeTypeName("DWORD")] + public uint lcsGammaRed; + + [NativeTypeName("DWORD")] + public uint lcsGammaGreen; + + [NativeTypeName("DWORD")] + public uint lcsGammaBlue; + + [NativeTypeName("WCHAR [260]")] + public fixed ushort lcsFilename[260]; + } +} diff --git a/sources/Interop/Windows/um/wingdi/LOGFONT.cs b/sources/Interop/Gdi32/um/wingdi/LOGFONT.cs similarity index 97% rename from sources/Interop/Windows/um/wingdi/LOGFONT.cs rename to sources/Interop/Gdi32/um/wingdi/LOGFONT.cs index 11c947dd3f..3504644754 100644 --- a/sources/Interop/Windows/um/wingdi/LOGFONT.cs +++ b/sources/Interop/Gdi32/um/wingdi/LOGFONT.cs @@ -46,7 +46,7 @@ public unsafe struct LOGFONT [NativeTypeName("BYTE")] public byte lfPitchAndFamily; - [NativeTypeName("WCHAR[32]")] + [NativeTypeName("WCHAR [32]")] public fixed ushort lfFaceName[32]; } } diff --git a/sources/Interop/Gdi32/um/wingdi/LOGPALETTE.cs b/sources/Interop/Gdi32/um/wingdi/LOGPALETTE.cs new file mode 100644 index 0000000000..e4c65f5ca4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOGPALETTE.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct LOGPALETTE + { + [NativeTypeName("WORD")] + public ushort palVersion; + + [NativeTypeName("WORD")] + public ushort palNumEntries; + + [NativeTypeName("PALETTEENTRY [1]")] + public _palPalEntry_e__FixedBuffer palPalEntry; + + public partial struct _palPalEntry_e__FixedBuffer + { + internal PALETTEENTRY e0; + + public ref PALETTEENTRY this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LOGPEN.cs b/sources/Interop/Gdi32/um/wingdi/LOGPEN.cs new file mode 100644 index 0000000000..cd7c706c03 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LOGPEN.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct LOGPEN + { + [NativeTypeName("UINT")] + public uint lopnStyle; + + public POINT lopnWidth; + + [NativeTypeName("COLORREF")] + public uint lopnColor; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/LPFNDEVCAPS.cs b/sources/Interop/Gdi32/um/wingdi/LPFNDEVCAPS.cs new file mode 100644 index 0000000000..8a08bcd981 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LPFNDEVCAPS.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("DWORD")] + public unsafe delegate uint LPFNDEVCAPS([NativeTypeName("LPSTR")] sbyte* param0, [NativeTypeName("LPSTR")] sbyte* param1, [NativeTypeName("UINT")] uint param2, [NativeTypeName("LPSTR")] sbyte* param3, [NativeTypeName("LPDEVMODE")] DEVMODE* param4); +} diff --git a/sources/Interop/Gdi32/um/wingdi/LPFNDEVMODE.cs b/sources/Interop/Gdi32/um/wingdi/LPFNDEVMODE.cs new file mode 100644 index 0000000000..86c2f6a502 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/LPFNDEVMODE.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("UINT")] + public unsafe delegate uint LPFNDEVMODE([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("HMODULE")] IntPtr param1, [NativeTypeName("LPDEVMODE")] DEVMODE* param2, [NativeTypeName("LPSTR")] sbyte* param3, [NativeTypeName("LPSTR")] sbyte* param4, [NativeTypeName("LPDEVMODE")] DEVMODE* param5, [NativeTypeName("LPSTR")] sbyte* param6, [NativeTypeName("UINT")] uint param7); +} diff --git a/sources/Interop/Gdi32/um/wingdi/MAT2.cs b/sources/Interop/Gdi32/um/wingdi/MAT2.cs new file mode 100644 index 0000000000..d7480d9054 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/MAT2.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MAT2 + { + public FIXED eM11; + + public FIXED eM12; + + public FIXED eM21; + + public FIXED eM22; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/METAFILEPICT.cs b/sources/Interop/Gdi32/um/wingdi/METAFILEPICT.cs new file mode 100644 index 0000000000..f837729785 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/METAFILEPICT.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct METAFILEPICT + { + [NativeTypeName("LONG")] + public int mm; + + [NativeTypeName("LONG")] + public int xExt; + + [NativeTypeName("LONG")] + public int yExt; + + [NativeTypeName("HMETAFILE")] + public IntPtr hMF; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/METAHEADER.cs b/sources/Interop/Gdi32/um/wingdi/METAHEADER.cs new file mode 100644 index 0000000000..c1facbf8c2 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/METAHEADER.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct METAHEADER + { + [NativeTypeName("WORD")] + public ushort mtType; + + [NativeTypeName("WORD")] + public ushort mtHeaderSize; + + [NativeTypeName("WORD")] + public ushort mtVersion; + + [NativeTypeName("DWORD")] + public uint mtSize; + + [NativeTypeName("WORD")] + public ushort mtNoObjects; + + [NativeTypeName("DWORD")] + public uint mtMaxRecord; + + [NativeTypeName("WORD")] + public ushort mtNoParameters; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/METARECORD.cs b/sources/Interop/Gdi32/um/wingdi/METARECORD.cs new file mode 100644 index 0000000000..36b6529525 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/METARECORD.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct METARECORD + { + [NativeTypeName("DWORD")] + public uint rdSize; + + [NativeTypeName("WORD")] + public ushort rdFunction; + + [NativeTypeName("WORD [1]")] + public fixed ushort rdParm[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/MFENUMPROC.cs b/sources/Interop/Gdi32/um/wingdi/MFENUMPROC.cs new file mode 100644 index 0000000000..f330935fae --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/MFENUMPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int MFENUMPROC([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HANDLETABLE *")] HANDLETABLE* lpht, [NativeTypeName("METARECORD *")] METARECORD* lpMR, int nObj, [NativeTypeName("LPARAM")] IntPtr param4); +} diff --git a/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRIC.cs b/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRIC.cs new file mode 100644 index 0000000000..b945d3e338 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRIC.cs @@ -0,0 +1,82 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct NEWTEXTMETRIC + { + [NativeTypeName("LONG")] + public int tmHeight; + + [NativeTypeName("LONG")] + public int tmAscent; + + [NativeTypeName("LONG")] + public int tmDescent; + + [NativeTypeName("LONG")] + public int tmInternalLeading; + + [NativeTypeName("LONG")] + public int tmExternalLeading; + + [NativeTypeName("LONG")] + public int tmAveCharWidth; + + [NativeTypeName("LONG")] + public int tmMaxCharWidth; + + [NativeTypeName("LONG")] + public int tmWeight; + + [NativeTypeName("LONG")] + public int tmOverhang; + + [NativeTypeName("LONG")] + public int tmDigitizedAspectX; + + [NativeTypeName("LONG")] + public int tmDigitizedAspectY; + + [NativeTypeName("WCHAR")] + public ushort tmFirstChar; + + [NativeTypeName("WCHAR")] + public ushort tmLastChar; + + [NativeTypeName("WCHAR")] + public ushort tmDefaultChar; + + [NativeTypeName("WCHAR")] + public ushort tmBreakChar; + + [NativeTypeName("BYTE")] + public byte tmItalic; + + [NativeTypeName("BYTE")] + public byte tmUnderlined; + + [NativeTypeName("BYTE")] + public byte tmStruckOut; + + [NativeTypeName("BYTE")] + public byte tmPitchAndFamily; + + [NativeTypeName("BYTE")] + public byte tmCharSet; + + [NativeTypeName("DWORD")] + public uint ntmFlags; + + [NativeTypeName("UINT")] + public uint ntmSizeEM; + + [NativeTypeName("UINT")] + public uint ntmCellHeight; + + [NativeTypeName("UINT")] + public uint ntmAvgWidth; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRICEX.cs b/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRICEX.cs new file mode 100644 index 0000000000..700cf1ae47 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/NEWTEXTMETRICEX.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct NEWTEXTMETRICEX + { + public NEWTEXTMETRIC ntmTm; + + public FONTSIGNATURE ntmFontSig; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/OLDFONTENUMPROC.cs b/sources/Interop/Gdi32/um/wingdi/OLDFONTENUMPROC.cs new file mode 100644 index 0000000000..2408aaecd4 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/OLDFONTENUMPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int OLDFONTENUMPROC([NativeTypeName("const LOGFONTW *")] LOGFONT* param0, [NativeTypeName("const TEXTMETRICW *")] TEXTMETRIC* param1, [NativeTypeName("DWORD")] uint param2, [NativeTypeName("LPARAM")] IntPtr param3); +} diff --git a/sources/Interop/Gdi32/um/wingdi/OUTLINETEXTMETRIC.cs b/sources/Interop/Gdi32/um/wingdi/OUTLINETEXTMETRIC.cs new file mode 100644 index 0000000000..3c5c746ed6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/OUTLINETEXTMETRIC.cs @@ -0,0 +1,90 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct OUTLINETEXTMETRIC + { + [NativeTypeName("UINT")] + public uint otmSize; + + [NativeTypeName("TEXTMETRICW")] + public TEXTMETRIC otmTextMetrics; + + [NativeTypeName("BYTE")] + public byte otmFiller; + + public PANOSE otmPanoseNumber; + + [NativeTypeName("UINT")] + public uint otmfsSelection; + + [NativeTypeName("UINT")] + public uint otmfsType; + + public int otmsCharSlopeRise; + + public int otmsCharSlopeRun; + + public int otmItalicAngle; + + [NativeTypeName("UINT")] + public uint otmEMSquare; + + public int otmAscent; + + public int otmDescent; + + [NativeTypeName("UINT")] + public uint otmLineGap; + + [NativeTypeName("UINT")] + public uint otmsCapEmHeight; + + [NativeTypeName("UINT")] + public uint otmsXHeight; + + public RECT otmrcFontBox; + + public int otmMacAscent; + + public int otmMacDescent; + + [NativeTypeName("UINT")] + public uint otmMacLineGap; + + [NativeTypeName("UINT")] + public uint otmusMinimumPPEM; + + public POINT otmptSubscriptSize; + + public POINT otmptSubscriptOffset; + + public POINT otmptSuperscriptSize; + + public POINT otmptSuperscriptOffset; + + [NativeTypeName("UINT")] + public uint otmsStrikeoutSize; + + public int otmsStrikeoutPosition; + + public int otmsUnderscoreSize; + + public int otmsUnderscorePosition; + + [NativeTypeName("PSTR")] + public sbyte* otmpFamilyName; + + [NativeTypeName("PSTR")] + public sbyte* otmpFaceName; + + [NativeTypeName("PSTR")] + public sbyte* otmpStyleName; + + [NativeTypeName("PSTR")] + public sbyte* otmpFullName; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PALETTEENTRY.cs b/sources/Interop/Gdi32/um/wingdi/PALETTEENTRY.cs new file mode 100644 index 0000000000..7502c256ec --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PALETTEENTRY.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PALETTEENTRY + { + [NativeTypeName("BYTE")] + public byte peRed; + + [NativeTypeName("BYTE")] + public byte peGreen; + + [NativeTypeName("BYTE")] + public byte peBlue; + + [NativeTypeName("BYTE")] + public byte peFlags; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PANOSE.cs b/sources/Interop/Gdi32/um/wingdi/PANOSE.cs new file mode 100644 index 0000000000..726f15aea6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PANOSE.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PANOSE + { + [NativeTypeName("BYTE")] + public byte bFamilyType; + + [NativeTypeName("BYTE")] + public byte bSerifStyle; + + [NativeTypeName("BYTE")] + public byte bWeight; + + [NativeTypeName("BYTE")] + public byte bProportion; + + [NativeTypeName("BYTE")] + public byte bContrast; + + [NativeTypeName("BYTE")] + public byte bStrokeVariation; + + [NativeTypeName("BYTE")] + public byte bArmStyle; + + [NativeTypeName("BYTE")] + public byte bLetterform; + + [NativeTypeName("BYTE")] + public byte bMidline; + + [NativeTypeName("BYTE")] + public byte bXHeight; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PELARRAY.cs b/sources/Interop/Gdi32/um/wingdi/PELARRAY.cs new file mode 100644 index 0000000000..4f85e6cdf6 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PELARRAY.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PELARRAY + { + [NativeTypeName("LONG")] + public int paXCount; + + [NativeTypeName("LONG")] + public int paYCount; + + [NativeTypeName("LONG")] + public int paXExt; + + [NativeTypeName("LONG")] + public int paYExt; + + [NativeTypeName("BYTE")] + public byte paRGBs; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PIXELFORMATDESCRIPTOR.cs b/sources/Interop/Gdi32/um/wingdi/PIXELFORMATDESCRIPTOR.cs new file mode 100644 index 0000000000..d0b24e426f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PIXELFORMATDESCRIPTOR.cs @@ -0,0 +1,88 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PIXELFORMATDESCRIPTOR + { + [NativeTypeName("WORD")] + public ushort nSize; + + [NativeTypeName("WORD")] + public ushort nVersion; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("BYTE")] + public byte iPixelType; + + [NativeTypeName("BYTE")] + public byte cColorBits; + + [NativeTypeName("BYTE")] + public byte cRedBits; + + [NativeTypeName("BYTE")] + public byte cRedShift; + + [NativeTypeName("BYTE")] + public byte cGreenBits; + + [NativeTypeName("BYTE")] + public byte cGreenShift; + + [NativeTypeName("BYTE")] + public byte cBlueBits; + + [NativeTypeName("BYTE")] + public byte cBlueShift; + + [NativeTypeName("BYTE")] + public byte cAlphaBits; + + [NativeTypeName("BYTE")] + public byte cAlphaShift; + + [NativeTypeName("BYTE")] + public byte cAccumBits; + + [NativeTypeName("BYTE")] + public byte cAccumRedBits; + + [NativeTypeName("BYTE")] + public byte cAccumGreenBits; + + [NativeTypeName("BYTE")] + public byte cAccumBlueBits; + + [NativeTypeName("BYTE")] + public byte cAccumAlphaBits; + + [NativeTypeName("BYTE")] + public byte cDepthBits; + + [NativeTypeName("BYTE")] + public byte cStencilBits; + + [NativeTypeName("BYTE")] + public byte cAuxBuffers; + + [NativeTypeName("BYTE")] + public byte iLayerType; + + [NativeTypeName("BYTE")] + public byte bReserved; + + [NativeTypeName("DWORD")] + public uint dwLayerMask; + + [NativeTypeName("DWORD")] + public uint dwVisibleMask; + + [NativeTypeName("DWORD")] + public uint dwDamageMask; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/POINTFLOAT.cs b/sources/Interop/Gdi32/um/wingdi/POINTFLOAT.cs new file mode 100644 index 0000000000..2bfe2c2c66 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/POINTFLOAT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTFLOAT + { + [NativeTypeName("FLOAT")] + public float x; + + [NativeTypeName("FLOAT")] + public float y; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/POINTFX.cs b/sources/Interop/Gdi32/um/wingdi/POINTFX.cs new file mode 100644 index 0000000000..3a41a3683d --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/POINTFX.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTFX + { + public FIXED x; + + public FIXED y; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/POLYTEXT.cs b/sources/Interop/Gdi32/um/wingdi/POLYTEXT.cs new file mode 100644 index 0000000000..4a4c7a692c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/POLYTEXT.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct POLYTEXT + { + public int x; + + public int y; + + [NativeTypeName("UINT")] + public uint n; + + [NativeTypeName("LPCWSTR")] + public ushort* lpstr; + + [NativeTypeName("UINT")] + public uint uiFlags; + + public RECT rcl; + + [NativeTypeName("int *")] + public int* pdx; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PSFEATURE_CUSTPAPER.cs b/sources/Interop/Gdi32/um/wingdi/PSFEATURE_CUSTPAPER.cs new file mode 100644 index 0000000000..73532af528 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PSFEATURE_CUSTPAPER.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PSFEATURE_CUSTPAPER + { + [NativeTypeName("LONG")] + public int lOrientation; + + [NativeTypeName("LONG")] + public int lWidth; + + [NativeTypeName("LONG")] + public int lHeight; + + [NativeTypeName("LONG")] + public int lWidthOffset; + + [NativeTypeName("LONG")] + public int lHeightOffset; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PSFEATURE_OUTPUT.cs b/sources/Interop/Gdi32/um/wingdi/PSFEATURE_OUTPUT.cs new file mode 100644 index 0000000000..1853060988 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PSFEATURE_OUTPUT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PSFEATURE_OUTPUT + { + [NativeTypeName("BOOL")] + public int bPageIndependent; + + [NativeTypeName("BOOL")] + public int bSetPageDevice; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/PSINJECTDATA.cs b/sources/Interop/Gdi32/um/wingdi/PSINJECTDATA.cs new file mode 100644 index 0000000000..f7f4c1bfbe --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/PSINJECTDATA.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct PSINJECTDATA + { + [NativeTypeName("DWORD")] + public uint DataBytes; + + [NativeTypeName("WORD")] + public ushort InjectionPoint; + + [NativeTypeName("WORD")] + public ushort PageNumber; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/RASTERIZER_STATUS.cs b/sources/Interop/Gdi32/um/wingdi/RASTERIZER_STATUS.cs new file mode 100644 index 0000000000..234f0e7cfe --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/RASTERIZER_STATUS.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RASTERIZER_STATUS + { + public short nSize; + + public short wFlags; + + public short nLanguageID; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/RGBQUAD.cs b/sources/Interop/Gdi32/um/wingdi/RGBQUAD.cs new file mode 100644 index 0000000000..059812b87f --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/RGBQUAD.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RGBQUAD + { + [NativeTypeName("BYTE")] + public byte rgbBlue; + + [NativeTypeName("BYTE")] + public byte rgbGreen; + + [NativeTypeName("BYTE")] + public byte rgbRed; + + [NativeTypeName("BYTE")] + public byte rgbReserved; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/RGBTRIPLE.cs b/sources/Interop/Gdi32/um/wingdi/RGBTRIPLE.cs new file mode 100644 index 0000000000..c2044d7631 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/RGBTRIPLE.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RGBTRIPLE + { + [NativeTypeName("BYTE")] + public byte rgbtBlue; + + [NativeTypeName("BYTE")] + public byte rgbtGreen; + + [NativeTypeName("BYTE")] + public byte rgbtRed; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/RGNDATA.cs b/sources/Interop/Gdi32/um/wingdi/RGNDATA.cs new file mode 100644 index 0000000000..abe24664c2 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/RGNDATA.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct RGNDATA + { + [NativeTypeName("RGNDATAHEADER")] + public RGNDATAHEADER rdh; + + [NativeTypeName("char [1]")] + public fixed sbyte Buffer[1]; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/RGNDATAHEADER.cs b/sources/Interop/Gdi32/um/wingdi/RGNDATAHEADER.cs new file mode 100644 index 0000000000..cb7c488dfb --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/RGNDATAHEADER.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RGNDATAHEADER + { + [NativeTypeName("DWORD")] + public uint dwSize; + + [NativeTypeName("DWORD")] + public uint iType; + + [NativeTypeName("DWORD")] + public uint nCount; + + [NativeTypeName("DWORD")] + public uint nRgnSize; + + public RECT rcBound; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/TEXTMETRIC.cs b/sources/Interop/Gdi32/um/wingdi/TEXTMETRIC.cs new file mode 100644 index 0000000000..dba8f0c05c --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/TEXTMETRIC.cs @@ -0,0 +1,70 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TEXTMETRIC + { + [NativeTypeName("LONG")] + public int tmHeight; + + [NativeTypeName("LONG")] + public int tmAscent; + + [NativeTypeName("LONG")] + public int tmDescent; + + [NativeTypeName("LONG")] + public int tmInternalLeading; + + [NativeTypeName("LONG")] + public int tmExternalLeading; + + [NativeTypeName("LONG")] + public int tmAveCharWidth; + + [NativeTypeName("LONG")] + public int tmMaxCharWidth; + + [NativeTypeName("LONG")] + public int tmWeight; + + [NativeTypeName("LONG")] + public int tmOverhang; + + [NativeTypeName("LONG")] + public int tmDigitizedAspectX; + + [NativeTypeName("LONG")] + public int tmDigitizedAspectY; + + [NativeTypeName("WCHAR")] + public ushort tmFirstChar; + + [NativeTypeName("WCHAR")] + public ushort tmLastChar; + + [NativeTypeName("WCHAR")] + public ushort tmDefaultChar; + + [NativeTypeName("WCHAR")] + public ushort tmBreakChar; + + [NativeTypeName("BYTE")] + public byte tmItalic; + + [NativeTypeName("BYTE")] + public byte tmUnderlined; + + [NativeTypeName("BYTE")] + public byte tmStruckOut; + + [NativeTypeName("BYTE")] + public byte tmPitchAndFamily; + + [NativeTypeName("BYTE")] + public byte tmCharSet; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/TRIVERTEX.cs b/sources/Interop/Gdi32/um/wingdi/TRIVERTEX.cs new file mode 100644 index 0000000000..4eb99559c1 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/TRIVERTEX.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TRIVERTEX + { + [NativeTypeName("LONG")] + public int x; + + [NativeTypeName("LONG")] + public int y; + + [NativeTypeName("COLOR16")] + public ushort Red; + + [NativeTypeName("COLOR16")] + public ushort Green; + + [NativeTypeName("COLOR16")] + public ushort Blue; + + [NativeTypeName("COLOR16")] + public ushort Alpha; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/TTPOLYCURVE.cs b/sources/Interop/Gdi32/um/wingdi/TTPOLYCURVE.cs new file mode 100644 index 0000000000..fdf71ed9a0 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/TTPOLYCURVE.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct TTPOLYCURVE + { + [NativeTypeName("WORD")] + public ushort wType; + + [NativeTypeName("WORD")] + public ushort cpfx; + + [NativeTypeName("POINTFX [1]")] + public _apfx_e__FixedBuffer apfx; + + public partial struct _apfx_e__FixedBuffer + { + internal POINTFX e0; + + public ref POINTFX this[int index] => ref AsSpan(int.MaxValue)[index]; + + public Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/TTPOLYGONHEADER.cs b/sources/Interop/Gdi32/um/wingdi/TTPOLYGONHEADER.cs new file mode 100644 index 0000000000..02d9473a24 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/TTPOLYGONHEADER.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TTPOLYGONHEADER + { + [NativeTypeName("DWORD")] + public uint cb; + + [NativeTypeName("DWORD")] + public uint dwType; + + public POINTFX pfxStart; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/WCRANGE.cs b/sources/Interop/Gdi32/um/wingdi/WCRANGE.cs new file mode 100644 index 0000000000..42e3946414 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/WCRANGE.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct WCRANGE + { + [NativeTypeName("WCHAR")] + public ushort wcLow; + + [NativeTypeName("USHORT")] + public ushort cGlyphs; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/WGLSWAP.cs b/sources/Interop/Gdi32/um/wingdi/WGLSWAP.cs new file mode 100644 index 0000000000..56da5ef8cd --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/WGLSWAP.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct WGLSWAP + { + [NativeTypeName("HDC")] + public IntPtr hdc; + + [NativeTypeName("UINT")] + public uint uiFlags; + } +} diff --git a/sources/Interop/Gdi32/um/wingdi/XFORM.cs b/sources/Interop/Gdi32/um/wingdi/XFORM.cs new file mode 100644 index 0000000000..6f5643bfa7 --- /dev/null +++ b/sources/Interop/Gdi32/um/wingdi/XFORM.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\wingdi.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct XFORM + { + [NativeTypeName("FLOAT")] + public float eM11; + + [NativeTypeName("FLOAT")] + public float eM12; + + [NativeTypeName("FLOAT")] + public float eM21; + + [NativeTypeName("FLOAT")] + public float eM22; + + [NativeTypeName("FLOAT")] + public float eDx; + + [NativeTypeName("FLOAT")] + public float eDy; + } +} diff --git a/sources/Interop/Kernel32/um/winbase/Kernel32.cs b/sources/Interop/Kernel32/um/winbase/Kernel32.cs index 4b05e1c275..fa11798450 100644 --- a/sources/Interop/Kernel32/um/winbase/Kernel32.cs +++ b/sources/Interop/Kernel32/um/winbase/Kernel32.cs @@ -9,10 +9,7 @@ namespace TerraFX.Interop { public static unsafe partial class Kernel32 { - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "lstrlenA", ExactSpelling = true)] - public static extern int lstrlenA([NativeTypeName("LPCSTR")] byte* lpString); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "lstrlenW", ExactSpelling = true)] - public static extern int lstrlenW([NativeTypeName("LPCWSTR")] ushort* lpString); + public static extern int lstrlen([NativeTypeName("LPCWSTR")] ushort* lpString); } } diff --git a/sources/Interop/User32/TerraFX.Interop.User32.csproj b/sources/Interop/User32/TerraFX.Interop.User32.csproj index 6fda13d50f..a52c258985 100644 --- a/sources/Interop/User32/TerraFX.Interop.User32.csproj +++ b/sources/Interop/User32/TerraFX.Interop.User32.csproj @@ -9,7 +9,7 @@ - + diff --git a/sources/Interop/User32/shared/tvout/User32.Manual.cs b/sources/Interop/User32/shared/tvout/User32.Manual.cs new file mode 100644 index 0000000000..9461a479d4 --- /dev/null +++ b/sources/Interop/User32/shared/tvout/User32.Manual.cs @@ -0,0 +1,86 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\tvout.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public static partial class User32 + { + public const int VP_COMMAND_GET = 0x0001; + + public const int VP_COMMAND_SET = 0x0002; + + public const int VP_FLAGS_TV_MODE = 0x0001; + + public const int VP_FLAGS_TV_STANDARD = 0x0002; + + public const int VP_FLAGS_FLICKER = 0x0004; + + public const int VP_FLAGS_OVERSCAN = 0x0008; + + public const int VP_FLAGS_MAX_UNSCALED = 0x0010; + + public const int VP_FLAGS_POSITION = 0x0020; + + public const int VP_FLAGS_BRIGHTNESS = 0x0040; + + public const int VP_FLAGS_CONTRAST = 0x0080; + + public const int VP_FLAGS_COPYPROTECT = 0x0100; + + public const int VP_MODE_WIN_GRAPHICS = 0x0001; + + public const int VP_MODE_TV_PLAYBACK = 0x0002; + + public const int VP_TV_STANDARD_NTSC_M = 0x0001; + + public const int VP_TV_STANDARD_NTSC_M_J = 0x0002; + + public const int VP_TV_STANDARD_PAL_B = 0x0004; + + public const int VP_TV_STANDARD_PAL_D = 0x0008; + + public const int VP_TV_STANDARD_PAL_H = 0x0010; + + public const int VP_TV_STANDARD_PAL_I = 0x0020; + + public const int VP_TV_STANDARD_PAL_M = 0x0040; + + public const int VP_TV_STANDARD_PAL_N = 0x0080; + + public const int VP_TV_STANDARD_SECAM_B = 0x0100; + + public const int VP_TV_STANDARD_SECAM_D = 0x0200; + + public const int VP_TV_STANDARD_SECAM_G = 0x0400; + + public const int VP_TV_STANDARD_SECAM_H = 0x0800; + + public const int VP_TV_STANDARD_SECAM_K = 0x1000; + + public const int VP_TV_STANDARD_SECAM_K1 = 0x2000; + + public const int VP_TV_STANDARD_SECAM_L = 0x4000; + + public const int VP_TV_STANDARD_WIN_VGA = 0x8000; + + public const int VP_TV_STANDARD_NTSC_433 = 0x00010000; + + public const int VP_TV_STANDARD_PAL_G = 0x00020000; + + public const int VP_TV_STANDARD_PAL_60 = 0x00040000; + + public const int VP_TV_STANDARD_SECAM_L1 = 0x00080000; + + public const int VP_CP_TYPE_APS_TRIGGER = 0x0001; + + public const int VP_CP_TYPE_MACROVISION = 0x0002; + + public const int VP_CP_CMD_ACTIVATE = 0x0001; + + public const int VP_CP_CMD_DEACTIVATE = 0x0002; + + public const int VP_CP_CMD_CHANGE = 0x0004; + } +} diff --git a/sources/Interop/User32/shared/tvout/VIDEOPARAMETERS.cs b/sources/Interop/User32/shared/tvout/VIDEOPARAMETERS.cs new file mode 100644 index 0000000000..d8ad8625d6 --- /dev/null +++ b/sources/Interop/User32/shared/tvout/VIDEOPARAMETERS.cs @@ -0,0 +1,81 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\tvout.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct VIDEOPARAMETERS + { + [NativeTypeName("GUID")] + public Guid Guid; + + [NativeTypeName("ULONG")] + public uint dwOffset; + + [NativeTypeName("ULONG")] + public uint dwCommand; + + [NativeTypeName("ULONG")] + public uint dwFlags; + + [NativeTypeName("ULONG")] + public uint dwMode; + + [NativeTypeName("ULONG")] + public uint dwTVStandard; + + [NativeTypeName("ULONG")] + public uint dwAvailableModes; + + [NativeTypeName("ULONG")] + public uint dwAvailableTVStandard; + + [NativeTypeName("ULONG")] + public uint dwFlickerFilter; + + [NativeTypeName("ULONG")] + public uint dwOverScanX; + + [NativeTypeName("ULONG")] + public uint dwOverScanY; + + [NativeTypeName("ULONG")] + public uint dwMaxUnscaledX; + + [NativeTypeName("ULONG")] + public uint dwMaxUnscaledY; + + [NativeTypeName("ULONG")] + public uint dwPositionX; + + [NativeTypeName("ULONG")] + public uint dwPositionY; + + [NativeTypeName("ULONG")] + public uint dwBrightness; + + [NativeTypeName("ULONG")] + public uint dwContrast; + + [NativeTypeName("ULONG")] + public uint dwCPType; + + [NativeTypeName("ULONG")] + public uint dwCPCommand; + + [NativeTypeName("ULONG")] + public uint dwCPStandard; + + [NativeTypeName("ULONG")] + public uint dwCPKey; + + [NativeTypeName("ULONG")] + public uint bCP_APSTriggerBits; + + [NativeTypeName("UCHAR [256]")] + public fixed byte bOEMCopyProtection[256]; + } +} diff --git a/sources/Interop/User32/um/winuser/ACCEL.cs b/sources/Interop/User32/um/winuser/ACCEL.cs new file mode 100644 index 0000000000..0535f3ca13 --- /dev/null +++ b/sources/Interop/User32/um/winuser/ACCEL.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ACCEL + { + [NativeTypeName("BYTE")] + public byte fVirt; + + [NativeTypeName("WORD")] + public ushort key; + + [NativeTypeName("WORD")] + public ushort cmd; + } +} diff --git a/sources/Interop/User32/um/winuser/ACCESSTIMEOUT.cs b/sources/Interop/User32/um/winuser/ACCESSTIMEOUT.cs new file mode 100644 index 0000000000..fe90b14687 --- /dev/null +++ b/sources/Interop/User32/um/winuser/ACCESSTIMEOUT.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ACCESSTIMEOUT + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint iTimeOutMSec; + } +} diff --git a/sources/Interop/User32/um/winuser/ALTTABINFO.cs b/sources/Interop/User32/um/winuser/ALTTABINFO.cs new file mode 100644 index 0000000000..53b1dfd36f --- /dev/null +++ b/sources/Interop/User32/um/winuser/ALTTABINFO.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ALTTABINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public int cItems; + + public int cColumns; + + public int cRows; + + public int iColFocus; + + public int iRowFocus; + + public int cxItem; + + public int cyItem; + + public POINT ptStart; + } +} diff --git a/sources/Interop/User32/um/winuser/ANIMATIONINFO.cs b/sources/Interop/User32/um/winuser/ANIMATIONINFO.cs new file mode 100644 index 0000000000..d26cda356b --- /dev/null +++ b/sources/Interop/User32/um/winuser/ANIMATIONINFO.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ANIMATIONINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iMinAnimate; + } +} diff --git a/sources/Interop/User32/um/winuser/AR_STATE.cs b/sources/Interop/User32/um/winuser/AR_STATE.cs new file mode 100644 index 0000000000..fe1af7cbe1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/AR_STATE.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum AR_STATE + { + AR_ENABLED = 0x0, + AR_DISABLED = 0x1, + AR_SUPPRESSED = 0x2, + AR_REMOTESESSION = 0x4, + AR_MULTIMON = 0x8, + AR_NOSENSOR = 0x10, + AR_NOT_SUPPORTED = 0x20, + AR_DOCKED = 0x40, + AR_LAPTOP = 0x80, + } +} diff --git a/sources/Interop/User32/um/winuser/AUDIODESCRIPTION.cs b/sources/Interop/User32/um/winuser/AUDIODESCRIPTION.cs new file mode 100644 index 0000000000..467a619d50 --- /dev/null +++ b/sources/Interop/User32/um/winuser/AUDIODESCRIPTION.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct AUDIODESCRIPTION + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("BOOL")] + public int Enabled; + + [NativeTypeName("LCID")] + public uint Locale; + } +} diff --git a/sources/Interop/User32/um/winuser/BSMINFO.cs b/sources/Interop/User32/um/winuser/BSMINFO.cs new file mode 100644 index 0000000000..09fe8818ba --- /dev/null +++ b/sources/Interop/User32/um/winuser/BSMINFO.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct BSMINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("HDESK")] + public IntPtr hdesk; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + + public LUID luid; + } +} diff --git a/sources/Interop/User32/um/winuser/CBTACTIVATESTRUCT.cs b/sources/Interop/User32/um/winuser/CBTACTIVATESTRUCT.cs new file mode 100644 index 0000000000..5800a93ac3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CBTACTIVATESTRUCT.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct CBTACTIVATESTRUCT + { + [NativeTypeName("BOOL")] + public int fMouse; + + [NativeTypeName("HWND")] + public IntPtr hWndActive; + } +} diff --git a/sources/Interop/User32/um/winuser/CBT_CREATEWND.cs b/sources/Interop/User32/um/winuser/CBT_CREATEWND.cs new file mode 100644 index 0000000000..8fc1eb0b3b --- /dev/null +++ b/sources/Interop/User32/um/winuser/CBT_CREATEWND.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct CBT_CREATEWND + { + [NativeTypeName("struct tagCREATESTRUCTW *")] + public CREATESTRUCT* lpcs; + + [NativeTypeName("HWND")] + public IntPtr hwndInsertAfter; + } +} diff --git a/sources/Interop/User32/um/winuser/CHANGEFILTERSTRUCT.cs b/sources/Interop/User32/um/winuser/CHANGEFILTERSTRUCT.cs new file mode 100644 index 0000000000..e564cd7143 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CHANGEFILTERSTRUCT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct CHANGEFILTERSTRUCT + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint ExtStatus; + } +} diff --git a/sources/Interop/User32/um/winuser/CLIENTCREATESTRUCT.cs b/sources/Interop/User32/um/winuser/CLIENTCREATESTRUCT.cs new file mode 100644 index 0000000000..5d6aa0f4de --- /dev/null +++ b/sources/Interop/User32/um/winuser/CLIENTCREATESTRUCT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct CLIENTCREATESTRUCT + { + [NativeTypeName("HANDLE")] + public void* hWindowMenu; + + [NativeTypeName("UINT")] + public uint idFirstChild; + } +} diff --git a/sources/Interop/User32/um/winuser/COMBOBOXINFO.cs b/sources/Interop/User32/um/winuser/COMBOBOXINFO.cs new file mode 100644 index 0000000000..67ab530a42 --- /dev/null +++ b/sources/Interop/User32/um/winuser/COMBOBOXINFO.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct COMBOBOXINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcItem; + + public RECT rcButton; + + [NativeTypeName("DWORD")] + public uint stateButton; + + [NativeTypeName("HWND")] + public IntPtr hwndCombo; + + [NativeTypeName("HWND")] + public IntPtr hwndItem; + + [NativeTypeName("HWND")] + public IntPtr hwndList; + } +} diff --git a/sources/Interop/User32/um/winuser/COMPAREITEMSTRUCT.cs b/sources/Interop/User32/um/winuser/COMPAREITEMSTRUCT.cs new file mode 100644 index 0000000000..b9a75a7c8f --- /dev/null +++ b/sources/Interop/User32/um/winuser/COMPAREITEMSTRUCT.cs @@ -0,0 +1,36 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct COMPAREITEMSTRUCT + { + [NativeTypeName("UINT")] + public uint CtlType; + + [NativeTypeName("UINT")] + public uint CtlID; + + [NativeTypeName("HWND")] + public IntPtr hwndItem; + + [NativeTypeName("UINT")] + public uint itemID1; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr itemData1; + + [NativeTypeName("UINT")] + public uint itemID2; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr itemData2; + + [NativeTypeName("DWORD")] + public uint dwLocaleId; + } +} diff --git a/sources/Interop/User32/um/winuser/COPYDATASTRUCT.cs b/sources/Interop/User32/um/winuser/COPYDATASTRUCT.cs new file mode 100644 index 0000000000..90007e98cd --- /dev/null +++ b/sources/Interop/User32/um/winuser/COPYDATASTRUCT.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct COPYDATASTRUCT + { + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwData; + + [NativeTypeName("DWORD")] + public uint cbData; + + [NativeTypeName("PVOID")] + public void* lpData; + } +} diff --git a/sources/Interop/User32/um/winuser/CREATESTRUCT.cs b/sources/Interop/User32/um/winuser/CREATESTRUCT.cs index 683ec8d729..f2c6e12062 100644 --- a/sources/Interop/User32/um/winuser/CREATESTRUCT.cs +++ b/sources/Interop/User32/um/winuser/CREATESTRUCT.cs @@ -7,7 +7,7 @@ namespace TerraFX.Interop { - public unsafe struct CREATESTRUCT + public unsafe partial struct CREATESTRUCT { [NativeTypeName("LPVOID")] public void* lpCreateParams; diff --git a/sources/Interop/User32/um/winuser/CURSORINFO.cs b/sources/Interop/User32/um/winuser/CURSORINFO.cs new file mode 100644 index 0000000000..b514427ab2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CURSORINFO.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct CURSORINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint flags; + + [NativeTypeName("HCURSOR")] + public IntPtr hCursor; + + public POINT ptScreenPos; + } +} diff --git a/sources/Interop/User32/um/winuser/CURSORSHAPE.cs b/sources/Interop/User32/um/winuser/CURSORSHAPE.cs new file mode 100644 index 0000000000..9a3cc22b51 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CURSORSHAPE.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct CURSORSHAPE + { + public int xHotSpot; + + public int yHotSpot; + + public int cx; + + public int cy; + + public int cbWidth; + + [NativeTypeName("BYTE")] + public byte Planes; + + [NativeTypeName("BYTE")] + public byte BitsPixel; + } +} diff --git a/sources/Interop/User32/um/winuser/CWPRETSTRUCT.cs b/sources/Interop/User32/um/winuser/CWPRETSTRUCT.cs new file mode 100644 index 0000000000..8d6aa0be29 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CWPRETSTRUCT.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct CWPRETSTRUCT + { + [NativeTypeName("LRESULT")] + public IntPtr lResult; + + [NativeTypeName("LPARAM")] + public IntPtr lParam; + + [NativeTypeName("WPARAM")] + public UIntPtr wParam; + + [NativeTypeName("UINT")] + public uint message; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + } +} diff --git a/sources/Interop/User32/um/winuser/CWPSTRUCT.cs b/sources/Interop/User32/um/winuser/CWPSTRUCT.cs new file mode 100644 index 0000000000..c0c4a3bf13 --- /dev/null +++ b/sources/Interop/User32/um/winuser/CWPSTRUCT.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct CWPSTRUCT + { + [NativeTypeName("LPARAM")] + public IntPtr lParam; + + [NativeTypeName("WPARAM")] + public UIntPtr wParam; + + [NativeTypeName("UINT")] + public uint message; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + } +} diff --git a/sources/Interop/User32/um/winuser/DEBUGHOOKINFO.cs b/sources/Interop/User32/um/winuser/DEBUGHOOKINFO.cs new file mode 100644 index 0000000000..f56dc28ab2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DEBUGHOOKINFO.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct DEBUGHOOKINFO + { + [NativeTypeName("DWORD")] + public uint idThread; + + [NativeTypeName("DWORD")] + public uint idThreadInstaller; + + [NativeTypeName("LPARAM")] + public IntPtr lParam; + + [NativeTypeName("WPARAM")] + public UIntPtr wParam; + + public int code; + } +} diff --git a/sources/Interop/User32/um/winuser/DELETEITEMSTRUCT.cs b/sources/Interop/User32/um/winuser/DELETEITEMSTRUCT.cs new file mode 100644 index 0000000000..0f92bfb2db --- /dev/null +++ b/sources/Interop/User32/um/winuser/DELETEITEMSTRUCT.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct DELETEITEMSTRUCT + { + [NativeTypeName("UINT")] + public uint CtlType; + + [NativeTypeName("UINT")] + public uint CtlID; + + [NativeTypeName("UINT")] + public uint itemID; + + [NativeTypeName("HWND")] + public IntPtr hwndItem; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr itemData; + } +} diff --git a/sources/Interop/User32/um/winuser/DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.cs b/sources/Interop/User32/um/winuser/DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.cs new file mode 100644 index 0000000000..b5e2d45601 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS + { + DCDC_DEFAULT = 0x0000, + DCDC_DISABLE_FONT_UPDATE = 0x0001, + DCDC_DISABLE_RELAYOUT = 0x0002, + } +} diff --git a/sources/Interop/User32/um/winuser/DIALOG_DPI_CHANGE_BEHAVIORS.cs b/sources/Interop/User32/um/winuser/DIALOG_DPI_CHANGE_BEHAVIORS.cs new file mode 100644 index 0000000000..a2da97afae --- /dev/null +++ b/sources/Interop/User32/um/winuser/DIALOG_DPI_CHANGE_BEHAVIORS.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DIALOG_DPI_CHANGE_BEHAVIORS + { + DDC_DEFAULT = 0x0000, + DDC_DISABLE_ALL = 0x0001, + DDC_DISABLE_RESIZE = 0x0002, + DDC_DISABLE_CONTROL_RELAYOUT = 0x0004, + } +} diff --git a/sources/Interop/User32/um/winuser/DLGITEMTEMPLATE.cs b/sources/Interop/User32/um/winuser/DLGITEMTEMPLATE.cs new file mode 100644 index 0000000000..0d43391a83 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DLGITEMTEMPLATE.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DLGITEMTEMPLATE + { + [NativeTypeName("DWORD")] + public uint style; + + [NativeTypeName("DWORD")] + public uint dwExtendedStyle; + + public short x; + + public short y; + + public short cx; + + public short cy; + + [NativeTypeName("WORD")] + public ushort id; + } +} diff --git a/sources/Interop/User32/um/winuser/DLGPROC.cs b/sources/Interop/User32/um/winuser/DLGPROC.cs new file mode 100644 index 0000000000..3fab44c25b --- /dev/null +++ b/sources/Interop/User32/um/winuser/DLGPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("INT_PTR")] + public unsafe delegate IntPtr DLGPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("UINT")] uint param1, [NativeTypeName("WPARAM")] UIntPtr param2, [NativeTypeName("LPARAM")] IntPtr param3); +} diff --git a/sources/Interop/User32/um/winuser/DLGTEMPLATE.cs b/sources/Interop/User32/um/winuser/DLGTEMPLATE.cs new file mode 100644 index 0000000000..9c85cae411 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DLGTEMPLATE.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DLGTEMPLATE + { + [NativeTypeName("DWORD")] + public uint style; + + [NativeTypeName("DWORD")] + public uint dwExtendedStyle; + + [NativeTypeName("WORD")] + public ushort cdit; + + public short x; + + public short y; + + public short cx; + + public short cy; + } +} diff --git a/sources/Interop/User32/um/winuser/DRAWITEMSTRUCT.cs b/sources/Interop/User32/um/winuser/DRAWITEMSTRUCT.cs new file mode 100644 index 0000000000..0083560503 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DRAWITEMSTRUCT.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct DRAWITEMSTRUCT + { + [NativeTypeName("UINT")] + public uint CtlType; + + [NativeTypeName("UINT")] + public uint CtlID; + + [NativeTypeName("UINT")] + public uint itemID; + + [NativeTypeName("UINT")] + public uint itemAction; + + [NativeTypeName("UINT")] + public uint itemState; + + [NativeTypeName("HWND")] + public IntPtr hwndItem; + + [NativeTypeName("HDC")] + public IntPtr hDC; + + public RECT rcItem; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr itemData; + } +} diff --git a/sources/Interop/User32/um/winuser/DRAWSTATEPROC.cs b/sources/Interop/User32/um/winuser/DRAWSTATEPROC.cs new file mode 100644 index 0000000000..07e0fa8301 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DRAWSTATEPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int DRAWSTATEPROC([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPARAM")] IntPtr lData, [NativeTypeName("WPARAM")] UIntPtr wData, int cx, int cy); +} diff --git a/sources/Interop/User32/um/winuser/DRAWTEXTPARAMS.cs b/sources/Interop/User32/um/winuser/DRAWTEXTPARAMS.cs new file mode 100644 index 0000000000..5a93c090ab --- /dev/null +++ b/sources/Interop/User32/um/winuser/DRAWTEXTPARAMS.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct DRAWTEXTPARAMS + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iTabLength; + + public int iLeftMargin; + + public int iRightMargin; + + [NativeTypeName("UINT")] + public uint uiLengthDrawn; + } +} diff --git a/sources/Interop/User32/um/winuser/DROPSTRUCT.cs b/sources/Interop/User32/um/winuser/DROPSTRUCT.cs new file mode 100644 index 0000000000..b57158c113 --- /dev/null +++ b/sources/Interop/User32/um/winuser/DROPSTRUCT.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct DROPSTRUCT + { + [NativeTypeName("HWND")] + public IntPtr hwndSource; + + [NativeTypeName("HWND")] + public IntPtr hwndSink; + + [NativeTypeName("DWORD")] + public uint wFmt; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwData; + + public POINT ptDrop; + + [NativeTypeName("DWORD")] + public uint dwControlData; + } +} diff --git a/sources/Interop/User32/um/winuser/EDITWORDBREAKPROC.cs b/sources/Interop/User32/um/winuser/EDITWORDBREAKPROC.cs new file mode 100644 index 0000000000..65aac08be3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/EDITWORDBREAKPROC.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate int EDITWORDBREAKPROC([NativeTypeName("LPWSTR")] ushort* lpch, int ichCurrent, int cch, int code); +} diff --git a/sources/Interop/User32/um/winuser/EDIT_CONTROL_FEATURE.cs b/sources/Interop/User32/um/winuser/EDIT_CONTROL_FEATURE.cs new file mode 100644 index 0000000000..be377ddbc6 --- /dev/null +++ b/sources/Interop/User32/um/winuser/EDIT_CONTROL_FEATURE.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum EDIT_CONTROL_FEATURE + { + EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT = 0, + EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS = 1, + } +} diff --git a/sources/Interop/User32/um/winuser/EVENTMSG.cs b/sources/Interop/User32/um/winuser/EVENTMSG.cs new file mode 100644 index 0000000000..648d5f89e2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/EVENTMSG.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct EVENTMSG + { + [NativeTypeName("UINT")] + public uint message; + + [NativeTypeName("UINT")] + public uint paramL; + + [NativeTypeName("UINT")] + public uint paramH; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + } +} diff --git a/sources/Interop/User32/um/winuser/FEEDBACK_TYPE.cs b/sources/Interop/User32/um/winuser/FEEDBACK_TYPE.cs new file mode 100644 index 0000000000..ade2cc4a28 --- /dev/null +++ b/sources/Interop/User32/um/winuser/FEEDBACK_TYPE.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum FEEDBACK_TYPE : uint + { + FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1, + FEEDBACK_PEN_BARRELVISUALIZATION = 2, + FEEDBACK_PEN_TAP = 3, + FEEDBACK_PEN_DOUBLETAP = 4, + FEEDBACK_PEN_PRESSANDHOLD = 5, + FEEDBACK_PEN_RIGHTTAP = 6, + FEEDBACK_TOUCH_TAP = 7, + FEEDBACK_TOUCH_DOUBLETAP = 8, + FEEDBACK_TOUCH_PRESSANDHOLD = 9, + FEEDBACK_TOUCH_RIGHTTAP = 10, + FEEDBACK_GESTURE_PRESSANDTAP = 11, + FEEDBACK_MAX = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/User32/um/winuser/FILTERKEYS.cs b/sources/Interop/User32/um/winuser/FILTERKEYS.cs new file mode 100644 index 0000000000..83b2a71d3a --- /dev/null +++ b/sources/Interop/User32/um/winuser/FILTERKEYS.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct FILTERKEYS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint iWaitMSec; + + [NativeTypeName("DWORD")] + public uint iDelayMSec; + + [NativeTypeName("DWORD")] + public uint iRepeatMSec; + + [NativeTypeName("DWORD")] + public uint iBounceMSec; + } +} diff --git a/sources/Interop/User32/um/winuser/FLASHWINFO.cs b/sources/Interop/User32/um/winuser/FLASHWINFO.cs new file mode 100644 index 0000000000..54dc616e56 --- /dev/null +++ b/sources/Interop/User32/um/winuser/FLASHWINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct FLASHWINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("UINT")] + public uint uCount; + + [NativeTypeName("DWORD")] + public uint dwTimeout; + } +} diff --git a/sources/Interop/User32/um/winuser/GESTURECONFIG.cs b/sources/Interop/User32/um/winuser/GESTURECONFIG.cs new file mode 100644 index 0000000000..0d7d6ecadc --- /dev/null +++ b/sources/Interop/User32/um/winuser/GESTURECONFIG.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct GESTURECONFIG + { + [NativeTypeName("DWORD")] + public uint dwID; + + [NativeTypeName("DWORD")] + public uint dwWant; + + [NativeTypeName("DWORD")] + public uint dwBlock; + } +} diff --git a/sources/Interop/User32/um/winuser/GESTUREINFO.cs b/sources/Interop/User32/um/winuser/GESTUREINFO.cs new file mode 100644 index 0000000000..e57ad59ec4 --- /dev/null +++ b/sources/Interop/User32/um/winuser/GESTUREINFO.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct GESTUREINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint dwID; + + [NativeTypeName("HWND")] + public IntPtr hwndTarget; + + public POINTS ptsLocation; + + [NativeTypeName("DWORD")] + public uint dwInstanceID; + + [NativeTypeName("DWORD")] + public uint dwSequenceID; + + [NativeTypeName("ULONGLONG")] + public ulong ullArguments; + + [NativeTypeName("UINT")] + public uint cbExtraArgs; + } +} diff --git a/sources/Interop/User32/um/winuser/GESTURENOTIFYSTRUCT.cs b/sources/Interop/User32/um/winuser/GESTURENOTIFYSTRUCT.cs new file mode 100644 index 0000000000..95b518204a --- /dev/null +++ b/sources/Interop/User32/um/winuser/GESTURENOTIFYSTRUCT.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct GESTURENOTIFYSTRUCT + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("HWND")] + public IntPtr hwndTarget; + + public POINTS ptsLocation; + + [NativeTypeName("DWORD")] + public uint dwInstanceID; + } +} diff --git a/sources/Interop/User32/um/winuser/GRAYSTRINGPROC.cs b/sources/Interop/User32/um/winuser/GRAYSTRINGPROC.cs new file mode 100644 index 0000000000..af6c44d566 --- /dev/null +++ b/sources/Interop/User32/um/winuser/GRAYSTRINGPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int GRAYSTRINGPROC([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("LPARAM")] IntPtr param1, int param2); +} diff --git a/sources/Interop/User32/um/winuser/GUITHREADINFO.cs b/sources/Interop/User32/um/winuser/GUITHREADINFO.cs new file mode 100644 index 0000000000..9207c206b7 --- /dev/null +++ b/sources/Interop/User32/um/winuser/GUITHREADINFO.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct GUITHREADINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint flags; + + [NativeTypeName("HWND")] + public IntPtr hwndActive; + + [NativeTypeName("HWND")] + public IntPtr hwndFocus; + + [NativeTypeName("HWND")] + public IntPtr hwndCapture; + + [NativeTypeName("HWND")] + public IntPtr hwndMenuOwner; + + [NativeTypeName("HWND")] + public IntPtr hwndMoveSize; + + [NativeTypeName("HWND")] + public IntPtr hwndCaret; + + public RECT rcCaret; + } +} diff --git a/sources/Interop/User32/um/winuser/HARDWAREHOOKSTRUCT.cs b/sources/Interop/User32/um/winuser/HARDWAREHOOKSTRUCT.cs new file mode 100644 index 0000000000..b5dc41d2ae --- /dev/null +++ b/sources/Interop/User32/um/winuser/HARDWAREHOOKSTRUCT.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct HARDWAREHOOKSTRUCT + { + [NativeTypeName("HWND")] + public IntPtr hwnd; + + [NativeTypeName("UINT")] + public uint message; + + [NativeTypeName("WPARAM")] + public UIntPtr wParam; + + [NativeTypeName("LPARAM")] + public IntPtr lParam; + } +} diff --git a/sources/Interop/User32/um/winuser/HARDWAREINPUT.cs b/sources/Interop/User32/um/winuser/HARDWAREINPUT.cs new file mode 100644 index 0000000000..e903bf7f30 --- /dev/null +++ b/sources/Interop/User32/um/winuser/HARDWAREINPUT.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct HARDWAREINPUT + { + [NativeTypeName("DWORD")] + public uint uMsg; + + [NativeTypeName("WORD")] + public ushort wParamL; + + [NativeTypeName("WORD")] + public ushort wParamH; + } +} diff --git a/sources/Interop/User32/um/winuser/HELPINFO.cs b/sources/Interop/User32/um/winuser/HELPINFO.cs new file mode 100644 index 0000000000..e0b84d358e --- /dev/null +++ b/sources/Interop/User32/um/winuser/HELPINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct HELPINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iContextType; + + public int iCtrlId; + + [NativeTypeName("HANDLE")] + public void* hItemHandle; + + [NativeTypeName("DWORD_PTR")] + public UIntPtr dwContextId; + + public POINT MousePos; + } +} diff --git a/sources/Interop/User32/um/winuser/HELPWININFO.cs b/sources/Interop/User32/um/winuser/HELPWININFO.cs new file mode 100644 index 0000000000..cf2289b160 --- /dev/null +++ b/sources/Interop/User32/um/winuser/HELPWININFO.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct HELPWININFO + { + public int wStructSize; + + public int x; + + public int y; + + public int dx; + + public int dy; + + public int wMax; + + [NativeTypeName("WCHAR [2]")] + public fixed ushort rgchMember[2]; + } +} diff --git a/sources/Interop/User32/um/winuser/HIGHCONTRAST.cs b/sources/Interop/User32/um/winuser/HIGHCONTRAST.cs new file mode 100644 index 0000000000..4be8a3a572 --- /dev/null +++ b/sources/Interop/User32/um/winuser/HIGHCONTRAST.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct HIGHCONTRAST + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("LPWSTR")] + public ushort* lpszDefaultScheme; + } +} diff --git a/sources/Interop/User32/um/winuser/HOOKPROC.cs b/sources/Interop/User32/um/winuser/HOOKPROC.cs new file mode 100644 index 0000000000..fae2714019 --- /dev/null +++ b/sources/Interop/User32/um/winuser/HOOKPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("LRESULT")] + public delegate IntPtr HOOKPROC(int code, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); +} diff --git a/sources/Interop/User32/um/winuser/ICONINFO.cs b/sources/Interop/User32/um/winuser/ICONINFO.cs new file mode 100644 index 0000000000..e475325bd4 --- /dev/null +++ b/sources/Interop/User32/um/winuser/ICONINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct ICONINFO + { + [NativeTypeName("BOOL")] + public int fIcon; + + [NativeTypeName("DWORD")] + public uint xHotspot; + + [NativeTypeName("DWORD")] + public uint yHotspot; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmMask; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmColor; + } +} diff --git a/sources/Interop/User32/um/winuser/ICONINFOEX.cs b/sources/Interop/User32/um/winuser/ICONINFOEX.cs new file mode 100644 index 0000000000..b012422a19 --- /dev/null +++ b/sources/Interop/User32/um/winuser/ICONINFOEX.cs @@ -0,0 +1,39 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct ICONINFOEX + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("BOOL")] + public int fIcon; + + [NativeTypeName("DWORD")] + public uint xHotspot; + + [NativeTypeName("DWORD")] + public uint yHotspot; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmMask; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmColor; + + [NativeTypeName("WORD")] + public ushort wResID; + + [NativeTypeName("WCHAR [260]")] + public fixed ushort szModName[260]; + + [NativeTypeName("WCHAR [260]")] + public fixed ushort szResName[260]; + } +} diff --git a/sources/Interop/User32/um/winuser/ICONMETRICS.cs b/sources/Interop/User32/um/winuser/ICONMETRICS.cs new file mode 100644 index 0000000000..47701392f3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/ICONMETRICS.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct ICONMETRICS + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iHorzSpacing; + + public int iVertSpacing; + + public int iTitleWrap; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfFont; + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT.cs b/sources/Interop/User32/um/winuser/INPUT.cs new file mode 100644 index 0000000000..1fabaf70f7 --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct INPUT + { + [NativeTypeName("DWORD")] + public uint type; + + [NativeTypeName("struct (anonymous struct at um/winuser.h:5980:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("MOUSEINPUT")] + public MOUSEINPUT mi; + + [FieldOffset(0)] + [NativeTypeName("KEYBDINPUT")] + public KEYBDINPUT ki; + + [FieldOffset(0)] + [NativeTypeName("HARDWAREINPUT")] + public HARDWAREINPUT hi; + } + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT_INJECTION_VALUE.cs b/sources/Interop/User32/um/winuser/INPUT_INJECTION_VALUE.cs new file mode 100644 index 0000000000..87dfb41d43 --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT_INJECTION_VALUE.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct INPUT_INJECTION_VALUE + { + [NativeTypeName("USHORT")] + public ushort page; + + [NativeTypeName("USHORT")] + public ushort usage; + + [NativeTypeName("INT32")] + public int value; + + [NativeTypeName("USHORT")] + public ushort index; + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT_MESSAGE_DEVICE_TYPE.cs b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_DEVICE_TYPE.cs new file mode 100644 index 0000000000..eaaa099e9e --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_DEVICE_TYPE.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum INPUT_MESSAGE_DEVICE_TYPE + { + IMDT_UNAVAILABLE = 0x00000000, + IMDT_KEYBOARD = 0x00000001, + IMDT_MOUSE = 0x00000002, + IMDT_TOUCH = 0x00000004, + IMDT_PEN = 0x00000008, + IMDT_TOUCHPAD = 0x00000010, + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT_MESSAGE_ORIGIN_ID.cs b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_ORIGIN_ID.cs new file mode 100644 index 0000000000..8d54c2ee54 --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_ORIGIN_ID.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum INPUT_MESSAGE_ORIGIN_ID + { + IMO_UNAVAILABLE = 0x00000000, + IMO_HARDWARE = 0x00000001, + IMO_INJECTED = 0x00000002, + IMO_SYSTEM = 0x00000004, + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT_MESSAGE_SOURCE.cs b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_SOURCE.cs new file mode 100644 index 0000000000..2bfc530839 --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT_MESSAGE_SOURCE.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct INPUT_MESSAGE_SOURCE + { + public INPUT_MESSAGE_DEVICE_TYPE deviceType; + + public INPUT_MESSAGE_ORIGIN_ID originId; + } +} diff --git a/sources/Interop/User32/um/winuser/INPUT_TRANSFORM.cs b/sources/Interop/User32/um/winuser/INPUT_TRANSFORM.cs new file mode 100644 index 0000000000..d203f2f81e --- /dev/null +++ b/sources/Interop/User32/um/winuser/INPUT_TRANSFORM.cs @@ -0,0 +1,62 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct INPUT_TRANSFORM + { + [NativeTypeName("struct (anonymous struct at um/winuser.h:6613:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public unsafe partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/winuser.h:6614:9)")] + public _Anonymous_e__Record Anonymous; + + [FieldOffset(0)] + [NativeTypeName("float [4][4]")] + public fixed float m[4 * 4]; + + public partial struct _Anonymous_e__Record + { + public float _11; + + public float _12; + + public float _13; + + public float _14; + + public float _21; + + public float _22; + + public float _23; + + public float _24; + + public float _31; + + public float _32; + + public float _33; + + public float _34; + + public float _41; + + public float _42; + + public float _43; + + public float _44; + } + } + } +} diff --git a/sources/Interop/User32/um/winuser/KBDLLHOOKSTRUCT.cs b/sources/Interop/User32/um/winuser/KBDLLHOOKSTRUCT.cs new file mode 100644 index 0000000000..9e986e8b4c --- /dev/null +++ b/sources/Interop/User32/um/winuser/KBDLLHOOKSTRUCT.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct KBDLLHOOKSTRUCT + { + [NativeTypeName("DWORD")] + public uint vkCode; + + [NativeTypeName("DWORD")] + public uint scanCode; + + [NativeTypeName("DWORD")] + public uint flags; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/KEYBDINPUT.cs b/sources/Interop/User32/um/winuser/KEYBDINPUT.cs new file mode 100644 index 0000000000..8f3b927705 --- /dev/null +++ b/sources/Interop/User32/um/winuser/KEYBDINPUT.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct KEYBDINPUT + { + [NativeTypeName("WORD")] + public ushort wVk; + + [NativeTypeName("WORD")] + public ushort wScan; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/LASTINPUTINFO.cs b/sources/Interop/User32/um/winuser/LASTINPUTINFO.cs new file mode 100644 index 0000000000..287701a694 --- /dev/null +++ b/sources/Interop/User32/um/winuser/LASTINPUTINFO.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct LASTINPUTINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwTime; + } +} diff --git a/sources/Interop/User32/um/winuser/MDICREATESTRUCT.cs b/sources/Interop/User32/um/winuser/MDICREATESTRUCT.cs new file mode 100644 index 0000000000..9795dbb920 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MDICREATESTRUCT.cs @@ -0,0 +1,35 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MDICREATESTRUCT + { + [NativeTypeName("LPCWSTR")] + public ushort* szClass; + + [NativeTypeName("LPCWSTR")] + public ushort* szTitle; + + [NativeTypeName("HANDLE")] + public void* hOwner; + + public int x; + + public int y; + + public int cx; + + public int cy; + + [NativeTypeName("DWORD")] + public uint style; + + [NativeTypeName("LPARAM")] + public IntPtr lParam; + } +} diff --git a/sources/Interop/User32/um/winuser/MDINEXTMENU.cs b/sources/Interop/User32/um/winuser/MDINEXTMENU.cs new file mode 100644 index 0000000000..5b9eca09c5 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MDINEXTMENU.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MDINEXTMENU + { + [NativeTypeName("HMENU")] + public IntPtr hmenuIn; + + [NativeTypeName("HMENU")] + public IntPtr hmenuNext; + + [NativeTypeName("HWND")] + public IntPtr hwndNext; + } +} diff --git a/sources/Interop/User32/um/winuser/MEASUREITEMSTRUCT.cs b/sources/Interop/User32/um/winuser/MEASUREITEMSTRUCT.cs new file mode 100644 index 0000000000..76660d9b88 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MEASUREITEMSTRUCT.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct MEASUREITEMSTRUCT + { + [NativeTypeName("UINT")] + public uint CtlType; + + [NativeTypeName("UINT")] + public uint CtlID; + + [NativeTypeName("UINT")] + public uint itemID; + + [NativeTypeName("UINT")] + public uint itemWidth; + + [NativeTypeName("UINT")] + public uint itemHeight; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr itemData; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUBARINFO.cs b/sources/Interop/User32/um/winuser/MENUBARINFO.cs new file mode 100644 index 0000000000..0c8830833a --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUBARINFO.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MENUBARINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcBar; + + [NativeTypeName("HMENU")] + public IntPtr hMenu; + + [NativeTypeName("HWND")] + public IntPtr hwndMenu; + + [NativeTypeName("BOOL")] + public int fBarFocused; + + [NativeTypeName("BOOL")] + public int fFocused; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUGETOBJECTINFO.cs b/sources/Interop/User32/um/winuser/MENUGETOBJECTINFO.cs new file mode 100644 index 0000000000..637bcb4d13 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUGETOBJECTINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MENUGETOBJECTINFO + { + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("UINT")] + public uint uPos; + + [NativeTypeName("HMENU")] + public IntPtr hmenu; + + [NativeTypeName("PVOID")] + public void* riid; + + [NativeTypeName("PVOID")] + public void* pvObj; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUINFO.cs b/sources/Interop/User32/um/winuser/MENUINFO.cs new file mode 100644 index 0000000000..789fab5766 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUINFO.cs @@ -0,0 +1,33 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MENUINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint fMask; + + [NativeTypeName("DWORD")] + public uint dwStyle; + + [NativeTypeName("UINT")] + public uint cyMax; + + [NativeTypeName("HBRUSH")] + public IntPtr hbrBack; + + [NativeTypeName("DWORD")] + public uint dwContextHelpID; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwMenuData; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUITEMINFO.cs b/sources/Interop/User32/um/winuser/MENUITEMINFO.cs new file mode 100644 index 0000000000..d6c0f3602c --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUITEMINFO.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MENUITEMINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("UINT")] + public uint fMask; + + [NativeTypeName("UINT")] + public uint fType; + + [NativeTypeName("UINT")] + public uint fState; + + [NativeTypeName("UINT")] + public uint wID; + + [NativeTypeName("HMENU")] + public IntPtr hSubMenu; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmpChecked; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmpUnchecked; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwItemData; + + [NativeTypeName("LPWSTR")] + public ushort* dwTypeData; + + [NativeTypeName("UINT")] + public uint cch; + + [NativeTypeName("HBITMAP")] + public IntPtr hbmpItem; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUITEMTEMPLATE.cs b/sources/Interop/User32/um/winuser/MENUITEMTEMPLATE.cs new file mode 100644 index 0000000000..f9f6d108c1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUITEMTEMPLATE.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct MENUITEMTEMPLATE + { + [NativeTypeName("WORD")] + public ushort mtOption; + + [NativeTypeName("WORD")] + public ushort mtID; + + [NativeTypeName("WCHAR [1]")] + public fixed ushort mtString[1]; + } +} diff --git a/sources/Interop/User32/um/winuser/MENUITEMTEMPLATEHEADER.cs b/sources/Interop/User32/um/winuser/MENUITEMTEMPLATEHEADER.cs new file mode 100644 index 0000000000..a2a7cbb9c2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MENUITEMTEMPLATEHEADER.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MENUITEMTEMPLATEHEADER + { + [NativeTypeName("WORD")] + public ushort versionNumber; + + [NativeTypeName("WORD")] + public ushort offset; + } +} diff --git a/sources/Interop/User32/um/winuser/MINIMIZEDMETRICS.cs b/sources/Interop/User32/um/winuser/MINIMIZEDMETRICS.cs new file mode 100644 index 0000000000..847b045168 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MINIMIZEDMETRICS.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MINIMIZEDMETRICS + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iWidth; + + public int iHorzGap; + + public int iVertGap; + + public int iArrange; + } +} diff --git a/sources/Interop/User32/um/winuser/MINMAXINFO.cs b/sources/Interop/User32/um/winuser/MINMAXINFO.cs new file mode 100644 index 0000000000..e28101defe --- /dev/null +++ b/sources/Interop/User32/um/winuser/MINMAXINFO.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MINMAXINFO + { + public POINT ptReserved; + + public POINT ptMaxSize; + + public POINT ptMaxPosition; + + public POINT ptMinTrackSize; + + public POINT ptMaxTrackSize; + } +} diff --git a/sources/Interop/User32/um/winuser/MONITORENUMPROC.cs b/sources/Interop/User32/um/winuser/MONITORENUMPROC.cs new file mode 100644 index 0000000000..6f0a009981 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MONITORENUMPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int MONITORENUMPROC([NativeTypeName("HMONITOR")] IntPtr param0, [NativeTypeName("HDC")] IntPtr param1, [NativeTypeName("LPRECT")] RECT* param2, [NativeTypeName("LPARAM")] IntPtr param3); +} diff --git a/sources/Interop/User32/um/winuser/MONITORINFO.cs b/sources/Interop/User32/um/winuser/MONITORINFO.cs new file mode 100644 index 0000000000..4d53600e1e --- /dev/null +++ b/sources/Interop/User32/um/winuser/MONITORINFO.cs @@ -0,0 +1,20 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MONITORINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcMonitor; + + public RECT rcWork; + + [NativeTypeName("DWORD")] + public uint dwFlags; + } +} diff --git a/sources/Interop/User32/um/winuser/MONITORINFOEX.cs b/sources/Interop/User32/um/winuser/MONITORINFOEX.cs new file mode 100644 index 0000000000..bfaac0c0c2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MONITORINFOEX.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct MONITORINFOEX + { + public MONITORINFO _base; + + [NativeTypeName("WCHAR [32]")] + public fixed ushort szDevice[32]; + } +} diff --git a/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCT.cs b/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCT.cs new file mode 100644 index 0000000000..46726a0c7c --- /dev/null +++ b/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCT.cs @@ -0,0 +1,23 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MOUSEHOOKSTRUCT + { + public POINT pt; + + [NativeTypeName("HWND")] + public IntPtr hwnd; + + [NativeTypeName("UINT")] + public uint wHitTestCode; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCTEX.cs b/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCTEX.cs new file mode 100644 index 0000000000..25da773585 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MOUSEHOOKSTRUCTEX.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MOUSEHOOKSTRUCTEX + { + public MOUSEHOOKSTRUCT _base; + + [NativeTypeName("DWORD")] + public uint mouseData; + } +} diff --git a/sources/Interop/User32/um/winuser/MOUSEINPUT.cs b/sources/Interop/User32/um/winuser/MOUSEINPUT.cs new file mode 100644 index 0000000000..9ad7ef94c3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MOUSEINPUT.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct MOUSEINPUT + { + [NativeTypeName("LONG")] + public int dx; + + [NativeTypeName("LONG")] + public int dy; + + [NativeTypeName("DWORD")] + public uint mouseData; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/MOUSEKEYS.cs b/sources/Interop/User32/um/winuser/MOUSEKEYS.cs new file mode 100644 index 0000000000..f70c5ea4d1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MOUSEKEYS.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct MOUSEKEYS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint iMaxSpeed; + + [NativeTypeName("DWORD")] + public uint iTimeToMaxSpeed; + + [NativeTypeName("DWORD")] + public uint iCtrlSpeed; + + [NativeTypeName("DWORD")] + public uint dwReserved1; + + [NativeTypeName("DWORD")] + public uint dwReserved2; + } +} diff --git a/sources/Interop/User32/um/winuser/MOUSEMOVEPOINT.cs b/sources/Interop/User32/um/winuser/MOUSEMOVEPOINT.cs new file mode 100644 index 0000000000..08ab382772 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MOUSEMOVEPOINT.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct MOUSEMOVEPOINT + { + public int x; + + public int y; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/MSG.cs b/sources/Interop/User32/um/winuser/MSG.cs index a3b039eb52..81ba7388e2 100644 --- a/sources/Interop/User32/um/winuser/MSG.cs +++ b/sources/Interop/User32/um/winuser/MSG.cs @@ -7,7 +7,7 @@ namespace TerraFX.Interop { - public unsafe struct MSG + public unsafe partial struct MSG { [NativeTypeName("HWND")] public IntPtr hwnd; diff --git a/sources/Interop/User32/um/winuser/MSGBOXCALLBACK.cs b/sources/Interop/User32/um/winuser/MSGBOXCALLBACK.cs new file mode 100644 index 0000000000..1d7d87c53a --- /dev/null +++ b/sources/Interop/User32/um/winuser/MSGBOXCALLBACK.cs @@ -0,0 +1,12 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate void MSGBOXCALLBACK([NativeTypeName("LPHELPINFO")] HELPINFO* lpHelpInfo); +} diff --git a/sources/Interop/User32/um/winuser/MSGBOXPARAMS.cs b/sources/Interop/User32/um/winuser/MSGBOXPARAMS.cs new file mode 100644 index 0000000000..b6f058ea54 --- /dev/null +++ b/sources/Interop/User32/um/winuser/MSGBOXPARAMS.cs @@ -0,0 +1,42 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct MSGBOXPARAMS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("HWND")] + public IntPtr hwndOwner; + + [NativeTypeName("HINSTANCE")] + public IntPtr hInstance; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszText; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszCaption; + + [NativeTypeName("DWORD")] + public uint dwStyle; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszIcon; + + [NativeTypeName("DWORD_PTR")] + public UIntPtr dwContextHelpId; + + [NativeTypeName("MSGBOXCALLBACK")] + public IntPtr lpfnMsgBoxCallback; + + [NativeTypeName("DWORD")] + public uint dwLanguageId; + } +} diff --git a/sources/Interop/User32/um/winuser/MSLLHOOKSTRUCT.cs b/sources/Interop/User32/um/winuser/MSLLHOOKSTRUCT.cs new file mode 100644 index 0000000000..af92ac79fe --- /dev/null +++ b/sources/Interop/User32/um/winuser/MSLLHOOKSTRUCT.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public partial struct MSLLHOOKSTRUCT + { + public POINT pt; + + [NativeTypeName("DWORD")] + public uint mouseData; + + [NativeTypeName("DWORD")] + public uint flags; + + [NativeTypeName("DWORD")] + public uint time; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + } +} diff --git a/sources/Interop/User32/um/winuser/MULTIKEYHELP.cs b/sources/Interop/User32/um/winuser/MULTIKEYHELP.cs new file mode 100644 index 0000000000..e82808f34b --- /dev/null +++ b/sources/Interop/User32/um/winuser/MULTIKEYHELP.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct MULTIKEYHELP + { + [NativeTypeName("DWORD")] + public uint mkSize; + + [NativeTypeName("WCHAR")] + public ushort mkKeylist; + + [NativeTypeName("WCHAR [1]")] + public fixed ushort szKeyphrase[1]; + } +} diff --git a/sources/Interop/User32/um/winuser/NAMEENUMPROC.cs b/sources/Interop/User32/um/winuser/NAMEENUMPROC.cs new file mode 100644 index 0000000000..1f3c43c590 --- /dev/null +++ b/sources/Interop/User32/um/winuser/NAMEENUMPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int NAMEENUMPROC([NativeTypeName("LPWSTR")] ushort* param0, [NativeTypeName("LPARAM")] IntPtr param1); +} diff --git a/sources/Interop/User32/um/winuser/NCCALCSIZE_PARAMS.cs b/sources/Interop/User32/um/winuser/NCCALCSIZE_PARAMS.cs new file mode 100644 index 0000000000..8f402eb56c --- /dev/null +++ b/sources/Interop/User32/um/winuser/NCCALCSIZE_PARAMS.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct NCCALCSIZE_PARAMS + { + [NativeTypeName("RECT [3]")] + public _rgrc_e__FixedBuffer rgrc; + + [NativeTypeName("PWINDOWPOS")] + public WINDOWPOS* lppos; + + public partial struct _rgrc_e__FixedBuffer + { + internal RECT e0; + internal RECT e1; + internal RECT e2; + + public unsafe ref RECT this[int index] + { + get + { + fixed (RECT* pThis = &e0) + { + return ref pThis[index]; + } + } + } + } + } +} diff --git a/sources/Interop/User32/um/winuser/NMHDR.cs b/sources/Interop/User32/um/winuser/NMHDR.cs new file mode 100644 index 0000000000..1fba4118db --- /dev/null +++ b/sources/Interop/User32/um/winuser/NMHDR.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct NMHDR + { + [NativeTypeName("HWND")] + public IntPtr hwndFrom; + + [NativeTypeName("UINT_PTR")] + public UIntPtr idFrom; + + [NativeTypeName("UINT")] + public uint code; + } +} diff --git a/sources/Interop/User32/um/winuser/NONCLIENTMETRICS.cs b/sources/Interop/User32/um/winuser/NONCLIENTMETRICS.cs new file mode 100644 index 0000000000..1efeb9320a --- /dev/null +++ b/sources/Interop/User32/um/winuser/NONCLIENTMETRICS.cs @@ -0,0 +1,48 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct NONCLIENTMETRICS + { + [NativeTypeName("UINT")] + public uint cbSize; + + public int iBorderWidth; + + public int iScrollWidth; + + public int iScrollHeight; + + public int iCaptionWidth; + + public int iCaptionHeight; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfCaptionFont; + + public int iSmCaptionWidth; + + public int iSmCaptionHeight; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfSmCaptionFont; + + public int iMenuWidth; + + public int iMenuHeight; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfMenuFont; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfStatusFont; + + [NativeTypeName("LOGFONTW")] + public LOGFONT lfMessageFont; + + public int iPaddedBorderWidth; + } +} diff --git a/sources/Interop/User32/um/winuser/ORIENTATION_PREFERENCE.cs b/sources/Interop/User32/um/winuser/ORIENTATION_PREFERENCE.cs new file mode 100644 index 0000000000..ff50c4d97c --- /dev/null +++ b/sources/Interop/User32/um/winuser/ORIENTATION_PREFERENCE.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum ORIENTATION_PREFERENCE + { + ORIENTATION_PREFERENCE_NONE = 0x0, + ORIENTATION_PREFERENCE_LANDSCAPE = 0x1, + ORIENTATION_PREFERENCE_PORTRAIT = 0x2, + ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4, + ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8, + } +} diff --git a/sources/Interop/User32/um/winuser/PAINTSTRUCT.cs b/sources/Interop/User32/um/winuser/PAINTSTRUCT.cs new file mode 100644 index 0000000000..ffad6aa2b1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/PAINTSTRUCT.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct PAINTSTRUCT + { + [NativeTypeName("HDC")] + public IntPtr hdc; + + [NativeTypeName("BOOL")] + public int fErase; + + public RECT rcPaint; + + [NativeTypeName("BOOL")] + public int fRestore; + + [NativeTypeName("BOOL")] + public int fIncUpdate; + + [NativeTypeName("BYTE [32]")] + public fixed byte rgbReserved[32]; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_BUTTON_CHANGE_TYPE.cs b/sources/Interop/User32/um/winuser/POINTER_BUTTON_CHANGE_TYPE.cs new file mode 100644 index 0000000000..d65fa19140 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_BUTTON_CHANGE_TYPE.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum POINTER_BUTTON_CHANGE_TYPE + { + POINTER_CHANGE_NONE, + POINTER_CHANGE_FIRSTBUTTON_DOWN, + POINTER_CHANGE_FIRSTBUTTON_UP, + POINTER_CHANGE_SECONDBUTTON_DOWN, + POINTER_CHANGE_SECONDBUTTON_UP, + POINTER_CHANGE_THIRDBUTTON_DOWN, + POINTER_CHANGE_THIRDBUTTON_UP, + POINTER_CHANGE_FOURTHBUTTON_DOWN, + POINTER_CHANGE_FOURTHBUTTON_UP, + POINTER_CHANGE_FIFTHBUTTON_DOWN, + POINTER_CHANGE_FIFTHBUTTON_UP, + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_INFO.cs new file mode 100644 index 0000000000..de288cb35d --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_INFO.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTER_DEVICE_CURSOR_INFO + { + [NativeTypeName("UINT32")] + public uint cursorId; + + public POINTER_DEVICE_CURSOR_TYPE cursor; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_TYPE.cs b/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_TYPE.cs new file mode 100644 index 0000000000..41e61ba3e8 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_DEVICE_CURSOR_TYPE.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum POINTER_DEVICE_CURSOR_TYPE : uint + { + POINTER_DEVICE_CURSOR_TYPE_UNKNOWN = 0x00000000, + POINTER_DEVICE_CURSOR_TYPE_TIP = 0x00000001, + POINTER_DEVICE_CURSOR_TYPE_ERASER = 0x00000002, + POINTER_DEVICE_CURSOR_TYPE_MAX = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_DEVICE_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_DEVICE_INFO.cs new file mode 100644 index 0000000000..1f24dfdadd --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_DEVICE_INFO.cs @@ -0,0 +1,32 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct POINTER_DEVICE_INFO + { + [NativeTypeName("DWORD")] + public uint displayOrientation; + + [NativeTypeName("HANDLE")] + public void* device; + + public POINTER_DEVICE_TYPE pointerDeviceType; + + [NativeTypeName("HMONITOR")] + public IntPtr monitor; + + [NativeTypeName("ULONG")] + public uint startingCursorId; + + [NativeTypeName("USHORT")] + public ushort maxActiveContacts; + + [NativeTypeName("WCHAR [520]")] + public fixed ushort productString[520]; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_DEVICE_PROPERTY.cs b/sources/Interop/User32/um/winuser/POINTER_DEVICE_PROPERTY.cs new file mode 100644 index 0000000000..a2e69fe6b9 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_DEVICE_PROPERTY.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTER_DEVICE_PROPERTY + { + [NativeTypeName("INT32")] + public int logicalMin; + + [NativeTypeName("INT32")] + public int logicalMax; + + [NativeTypeName("INT32")] + public int physicalMin; + + [NativeTypeName("INT32")] + public int physicalMax; + + [NativeTypeName("UINT32")] + public uint unit; + + [NativeTypeName("UINT32")] + public uint unitExponent; + + [NativeTypeName("USHORT")] + public ushort usagePageId; + + [NativeTypeName("USHORT")] + public ushort usageId; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_DEVICE_TYPE.cs b/sources/Interop/User32/um/winuser/POINTER_DEVICE_TYPE.cs new file mode 100644 index 0000000000..1c477852d1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_DEVICE_TYPE.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum POINTER_DEVICE_TYPE : uint + { + POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, + POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, + POINTER_DEVICE_TYPE_TOUCH = 0x00000003, + POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004, + POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF, + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_INFO.cs new file mode 100644 index 0000000000..21e99777c5 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_INFO.cs @@ -0,0 +1,55 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct POINTER_INFO + { + [NativeTypeName("POINTER_INPUT_TYPE")] + public uint pointerType; + + [NativeTypeName("UINT32")] + public uint pointerId; + + [NativeTypeName("UINT32")] + public uint frameId; + + [NativeTypeName("POINTER_FLAGS")] + public uint pointerFlags; + + [NativeTypeName("HANDLE")] + public void* sourceDevice; + + [NativeTypeName("HWND")] + public IntPtr hwndTarget; + + public POINT ptPixelLocation; + + public POINT ptHimetricLocation; + + public POINT ptPixelLocationRaw; + + public POINT ptHimetricLocationRaw; + + [NativeTypeName("DWORD")] + public uint dwTime; + + [NativeTypeName("UINT32")] + public uint historyCount; + + [NativeTypeName("INT32")] + public int InputData; + + [NativeTypeName("DWORD")] + public uint dwKeyStates; + + [NativeTypeName("UINT64")] + public ulong PerformanceCount; + + public POINTER_BUTTON_CHANGE_TYPE ButtonChangeType; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_INPUT_TYPE.cs b/sources/Interop/User32/um/winuser/POINTER_INPUT_TYPE.cs new file mode 100644 index 0000000000..f60205015d --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_INPUT_TYPE.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum POINTER_INPUT_TYPE + { + PT_POINTER = 1, + PT_TOUCH = 2, + PT_PEN = 3, + PT_MOUSE = 4, + PT_TOUCHPAD = 5, + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_PEN_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_PEN_INFO.cs new file mode 100644 index 0000000000..89fff436e0 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_PEN_INFO.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTER_PEN_INFO + { + public POINTER_INFO pointerInfo; + + [NativeTypeName("PEN_FLAGS")] + public uint penFlags; + + [NativeTypeName("PEN_MASK")] + public uint penMask; + + [NativeTypeName("UINT32")] + public uint pressure; + + [NativeTypeName("UINT32")] + public uint rotation; + + [NativeTypeName("INT32")] + public int tiltX; + + [NativeTypeName("INT32")] + public int tiltY; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_TOUCH_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_TOUCH_INFO.cs new file mode 100644 index 0000000000..407797fb3e --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_TOUCH_INFO.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTER_TOUCH_INFO + { + [NativeTypeName("POINTER_INFO")] + public POINTER_INFO pointerInfo; + + [NativeTypeName("TOUCH_FLAGS")] + public uint touchFlags; + + [NativeTypeName("TOUCH_MASK")] + public uint touchMask; + + public RECT rcContact; + + public RECT rcContactRaw; + + [NativeTypeName("UINT32")] + public uint orientation; + + [NativeTypeName("UINT32")] + public uint pressure; + } +} diff --git a/sources/Interop/User32/um/winuser/POINTER_TYPE_INFO.cs b/sources/Interop/User32/um/winuser/POINTER_TYPE_INFO.cs new file mode 100644 index 0000000000..757c0a93ea --- /dev/null +++ b/sources/Interop/User32/um/winuser/POINTER_TYPE_INFO.cs @@ -0,0 +1,30 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct POINTER_TYPE_INFO + { + [NativeTypeName("POINTER_INPUT_TYPE")] + public uint type; + + [NativeTypeName("struct (anonymous struct at um/winuser.h:6325:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("POINTER_TOUCH_INFO")] + public POINTER_TOUCH_INFO touchInfo; + + [FieldOffset(0)] + [NativeTypeName("POINTER_PEN_INFO")] + public POINTER_PEN_INFO penInfo; + } + } +} diff --git a/sources/Interop/User32/um/winuser/POWERBROADCAST_SETTING.cs b/sources/Interop/User32/um/winuser/POWERBROADCAST_SETTING.cs new file mode 100644 index 0000000000..a67abb7bd3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/POWERBROADCAST_SETTING.cs @@ -0,0 +1,21 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct POWERBROADCAST_SETTING + { + [NativeTypeName("GUID")] + public Guid PowerSetting; + + [NativeTypeName("DWORD")] + public uint DataLength; + + [NativeTypeName("UCHAR [1]")] + public fixed byte Data[1]; + } +} diff --git a/sources/Interop/User32/um/winuser/PREGISTERCLASSNAME.cs b/sources/Interop/User32/um/winuser/PREGISTERCLASSNAME.cs new file mode 100644 index 0000000000..de5b0a7ff8 --- /dev/null +++ b/sources/Interop/User32/um/winuser/PREGISTERCLASSNAME.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOLEAN")] + public unsafe delegate byte PREGISTERCLASSNAME([NativeTypeName("LPCWSTR")] ushort* param0); +} diff --git a/sources/Interop/User32/um/winuser/PROPENUMPROC.cs b/sources/Interop/User32/um/winuser/PROPENUMPROC.cs new file mode 100644 index 0000000000..3f076f38cd --- /dev/null +++ b/sources/Interop/User32/um/winuser/PROPENUMPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int PROPENUMPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("LPCWSTR")] ushort* param1, [NativeTypeName("HANDLE")] void* param2); +} diff --git a/sources/Interop/User32/um/winuser/PROPENUMPROCEX.cs b/sources/Interop/User32/um/winuser/PROPENUMPROCEX.cs new file mode 100644 index 0000000000..e4cf6503e8 --- /dev/null +++ b/sources/Interop/User32/um/winuser/PROPENUMPROCEX.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int PROPENUMPROCEX([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("LPWSTR")] ushort* param1, [NativeTypeName("HANDLE")] void* param2, [NativeTypeName("ULONG_PTR")] UIntPtr param3); +} diff --git a/sources/Interop/User32/um/winuser/RAWHID.cs b/sources/Interop/User32/um/winuser/RAWHID.cs new file mode 100644 index 0000000000..7ad761e6d0 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWHID.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct RAWHID + { + [NativeTypeName("DWORD")] + public uint dwSizeHid; + + [NativeTypeName("DWORD")] + public uint dwCount; + + [NativeTypeName("BYTE [1]")] + public fixed byte bRawData[1]; + } +} diff --git a/sources/Interop/User32/um/winuser/RAWINPUT.cs b/sources/Interop/User32/um/winuser/RAWINPUT.cs new file mode 100644 index 0000000000..030f8264b7 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWINPUT.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct RAWINPUT + { + [NativeTypeName("RAWINPUTHEADER")] + public RAWINPUTHEADER header; + + [NativeTypeName("union (anonymous union at um/winuser.h:14686:5)")] + public _data_e__Union data; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _data_e__Union + { + [FieldOffset(0)] + [NativeTypeName("RAWMOUSE")] + public RAWMOUSE mouse; + + [FieldOffset(0)] + [NativeTypeName("RAWKEYBOARD")] + public RAWKEYBOARD keyboard; + + [FieldOffset(0)] + [NativeTypeName("RAWHID")] + public RAWHID hid; + } + } +} diff --git a/sources/Interop/User32/um/winuser/RAWINPUTDEVICE.cs b/sources/Interop/User32/um/winuser/RAWINPUTDEVICE.cs new file mode 100644 index 0000000000..efe3a9c27f --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWINPUTDEVICE.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct RAWINPUTDEVICE + { + [NativeTypeName("USHORT")] + public ushort usUsagePage; + + [NativeTypeName("USHORT")] + public ushort usUsage; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("HWND")] + public IntPtr hwndTarget; + } +} diff --git a/sources/Interop/User32/um/winuser/RAWINPUTDEVICELIST.cs b/sources/Interop/User32/um/winuser/RAWINPUTDEVICELIST.cs new file mode 100644 index 0000000000..62ca57cddf --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWINPUTDEVICELIST.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct RAWINPUTDEVICELIST + { + [NativeTypeName("HANDLE")] + public void* hDevice; + + [NativeTypeName("DWORD")] + public uint dwType; + } +} diff --git a/sources/Interop/User32/um/winuser/RAWINPUTHEADER.cs b/sources/Interop/User32/um/winuser/RAWINPUTHEADER.cs new file mode 100644 index 0000000000..3059e5af92 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWINPUTHEADER.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct RAWINPUTHEADER + { + [NativeTypeName("DWORD")] + public uint dwType; + + [NativeTypeName("DWORD")] + public uint dwSize; + + [NativeTypeName("HANDLE")] + public void* hDevice; + + [NativeTypeName("WPARAM")] + public UIntPtr wParam; + } +} diff --git a/sources/Interop/User32/um/winuser/RAWKEYBOARD.cs b/sources/Interop/User32/um/winuser/RAWKEYBOARD.cs new file mode 100644 index 0000000000..df4b46ee5d --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWKEYBOARD.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RAWKEYBOARD + { + [NativeTypeName("USHORT")] + public ushort MakeCode; + + [NativeTypeName("USHORT")] + public ushort Flags; + + [NativeTypeName("USHORT")] + public ushort Reserved; + + [NativeTypeName("USHORT")] + public ushort VKey; + + [NativeTypeName("UINT")] + public uint Message; + + [NativeTypeName("ULONG")] + public uint ExtraInformation; + } +} diff --git a/sources/Interop/User32/um/winuser/RAWMOUSE.cs b/sources/Interop/User32/um/winuser/RAWMOUSE.cs new file mode 100644 index 0000000000..47c36f3e38 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RAWMOUSE.cs @@ -0,0 +1,51 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct RAWMOUSE + { + [NativeTypeName("USHORT")] + public ushort usFlags; + + [NativeTypeName("struct (anonymous struct at um/winuser.h:14528:5)")] + public _Anonymous_e__Union Anonymous; + + [NativeTypeName("ULONG")] + public uint ulRawButtons; + + [NativeTypeName("LONG")] + public int lLastX; + + [NativeTypeName("LONG")] + public int lLastY; + + [NativeTypeName("ULONG")] + public uint ulExtraInformation; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + [NativeTypeName("ULONG")] + public uint ulButtons; + + [FieldOffset(0)] + [NativeTypeName("struct (anonymous struct at um/winuser.h:14530:9)")] + public _Anonymous_e__Record Anonymous; + + public partial struct _Anonymous_e__Record + { + [NativeTypeName("USHORT")] + public ushort usButtonFlags; + + [NativeTypeName("USHORT")] + public ushort usButtonData; + } + } + } +} diff --git a/sources/Interop/User32/um/winuser/RID_DEVICE_INFO.cs b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO.cs new file mode 100644 index 0000000000..d4a7e37fa8 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO.cs @@ -0,0 +1,34 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public partial struct RID_DEVICE_INFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwType; + + [NativeTypeName("struct (anonymous struct at um/winuser.h:14768:5)")] + public _Anonymous_e__Union Anonymous; + + [StructLayout(LayoutKind.Explicit)] + public partial struct _Anonymous_e__Union + { + [FieldOffset(0)] + public RID_DEVICE_INFO_MOUSE mouse; + + [FieldOffset(0)] + public RID_DEVICE_INFO_KEYBOARD keyboard; + + [FieldOffset(0)] + public RID_DEVICE_INFO_HID hid; + } + } +} diff --git a/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_HID.cs b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_HID.cs new file mode 100644 index 0000000000..e8917213dc --- /dev/null +++ b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_HID.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RID_DEVICE_INFO_HID + { + [NativeTypeName("DWORD")] + public uint dwVendorId; + + [NativeTypeName("DWORD")] + public uint dwProductId; + + [NativeTypeName("DWORD")] + public uint dwVersionNumber; + + [NativeTypeName("USHORT")] + public ushort usUsagePage; + + [NativeTypeName("USHORT")] + public ushort usUsage; + } +} diff --git a/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_KEYBOARD.cs b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_KEYBOARD.cs new file mode 100644 index 0000000000..2650f77cdb --- /dev/null +++ b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_KEYBOARD.cs @@ -0,0 +1,28 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RID_DEVICE_INFO_KEYBOARD + { + [NativeTypeName("DWORD")] + public uint dwType; + + [NativeTypeName("DWORD")] + public uint dwSubType; + + [NativeTypeName("DWORD")] + public uint dwKeyboardMode; + + [NativeTypeName("DWORD")] + public uint dwNumberOfFunctionKeys; + + [NativeTypeName("DWORD")] + public uint dwNumberOfIndicators; + + [NativeTypeName("DWORD")] + public uint dwNumberOfKeysTotal; + } +} diff --git a/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_MOUSE.cs b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_MOUSE.cs new file mode 100644 index 0000000000..5fcbcfe274 --- /dev/null +++ b/sources/Interop/User32/um/winuser/RID_DEVICE_INFO_MOUSE.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RID_DEVICE_INFO_MOUSE + { + [NativeTypeName("DWORD")] + public uint dwId; + + [NativeTypeName("DWORD")] + public uint dwNumberOfButtons; + + [NativeTypeName("DWORD")] + public uint dwSampleRate; + + [NativeTypeName("BOOL")] + public int fHasHorizontalWheel; + } +} diff --git a/sources/Interop/User32/um/winuser/SCROLLBARINFO.cs b/sources/Interop/User32/um/winuser/SCROLLBARINFO.cs new file mode 100644 index 0000000000..2fa9c83f67 --- /dev/null +++ b/sources/Interop/User32/um/winuser/SCROLLBARINFO.cs @@ -0,0 +1,26 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct SCROLLBARINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcScrollBar; + + public int dxyLineButton; + + public int xyThumbTop; + + public int xyThumbBottom; + + public int reserved; + + [NativeTypeName("DWORD [6]")] + public fixed uint rgstate[6]; + } +} diff --git a/sources/Interop/User32/um/winuser/SCROLLINFO.cs b/sources/Interop/User32/um/winuser/SCROLLINFO.cs new file mode 100644 index 0000000000..cb96be62dc --- /dev/null +++ b/sources/Interop/User32/um/winuser/SCROLLINFO.cs @@ -0,0 +1,27 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct SCROLLINFO + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("UINT")] + public uint fMask; + + public int nMin; + + public int nMax; + + [NativeTypeName("UINT")] + public uint nPage; + + public int nPos; + + public int nTrackPos; + } +} diff --git a/sources/Interop/User32/um/winuser/SENDASYNCPROC.cs b/sources/Interop/User32/um/winuser/SENDASYNCPROC.cs new file mode 100644 index 0000000000..5a93ee418b --- /dev/null +++ b/sources/Interop/User32/um/winuser/SENDASYNCPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate void SENDASYNCPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("UINT")] uint param1, [NativeTypeName("ULONG_PTR")] UIntPtr param2, [NativeTypeName("LRESULT")] IntPtr param3); +} diff --git a/sources/Interop/User32/um/winuser/SERIALKEYS.cs b/sources/Interop/User32/um/winuser/SERIALKEYS.cs new file mode 100644 index 0000000000..fe95c60f62 --- /dev/null +++ b/sources/Interop/User32/um/winuser/SERIALKEYS.cs @@ -0,0 +1,31 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct SERIALKEYS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("LPWSTR")] + public ushort* lpszActivePort; + + [NativeTypeName("LPWSTR")] + public ushort* lpszPort; + + [NativeTypeName("UINT")] + public uint iBaudRate; + + [NativeTypeName("UINT")] + public uint iPortState; + + [NativeTypeName("UINT")] + public uint iActive; + } +} diff --git a/sources/Interop/User32/um/winuser/SHELLHOOKINFO.cs b/sources/Interop/User32/um/winuser/SHELLHOOKINFO.cs new file mode 100644 index 0000000000..3816b03310 --- /dev/null +++ b/sources/Interop/User32/um/winuser/SHELLHOOKINFO.cs @@ -0,0 +1,17 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct SHELLHOOKINFO + { + [NativeTypeName("HWND")] + public IntPtr hwnd; + + public RECT rc; + } +} diff --git a/sources/Interop/User32/um/winuser/SOUNDSENTRY.cs b/sources/Interop/User32/um/winuser/SOUNDSENTRY.cs new file mode 100644 index 0000000000..e631889513 --- /dev/null +++ b/sources/Interop/User32/um/winuser/SOUNDSENTRY.cs @@ -0,0 +1,46 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct SOUNDSENTRY + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint iFSTextEffect; + + [NativeTypeName("DWORD")] + public uint iFSTextEffectMSec; + + [NativeTypeName("DWORD")] + public uint iFSTextEffectColorBits; + + [NativeTypeName("DWORD")] + public uint iFSGrafEffect; + + [NativeTypeName("DWORD")] + public uint iFSGrafEffectMSec; + + [NativeTypeName("DWORD")] + public uint iFSGrafEffectColor; + + [NativeTypeName("DWORD")] + public uint iWindowsEffect; + + [NativeTypeName("DWORD")] + public uint iWindowsEffectMSec; + + [NativeTypeName("LPWSTR")] + public ushort* lpszWindowsEffectDLL; + + [NativeTypeName("DWORD")] + public uint iWindowsEffectOrdinal; + } +} diff --git a/sources/Interop/User32/um/winuser/STICKYKEYS.cs b/sources/Interop/User32/um/winuser/STICKYKEYS.cs new file mode 100644 index 0000000000..117b65a38a --- /dev/null +++ b/sources/Interop/User32/um/winuser/STICKYKEYS.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct STICKYKEYS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + } +} diff --git a/sources/Interop/User32/um/winuser/STYLESTRUCT.cs b/sources/Interop/User32/um/winuser/STYLESTRUCT.cs new file mode 100644 index 0000000000..8ee7e9b19c --- /dev/null +++ b/sources/Interop/User32/um/winuser/STYLESTRUCT.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct STYLESTRUCT + { + [NativeTypeName("DWORD")] + public uint styleOld; + + [NativeTypeName("DWORD")] + public uint styleNew; + } +} diff --git a/sources/Interop/User32/um/winuser/TIMERPROC.cs b/sources/Interop/User32/um/winuser/TIMERPROC.cs new file mode 100644 index 0000000000..f2ad29e3bb --- /dev/null +++ b/sources/Interop/User32/um/winuser/TIMERPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate void TIMERPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("UINT")] uint param1, [NativeTypeName("UINT_PTR")] UIntPtr param2, [NativeTypeName("DWORD")] uint param3); +} diff --git a/sources/Interop/User32/um/winuser/TITLEBARINFO.cs b/sources/Interop/User32/um/winuser/TITLEBARINFO.cs new file mode 100644 index 0000000000..596404139f --- /dev/null +++ b/sources/Interop/User32/um/winuser/TITLEBARINFO.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public unsafe partial struct TITLEBARINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcTitleBar; + + [NativeTypeName("DWORD [6]")] + public fixed uint rgstate[6]; + } +} diff --git a/sources/Interop/User32/um/winuser/TITLEBARINFOEX.cs b/sources/Interop/User32/um/winuser/TITLEBARINFOEX.cs new file mode 100644 index 0000000000..9d641a50a1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TITLEBARINFOEX.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + public unsafe partial struct TITLEBARINFOEX + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcTitleBar; + + [NativeTypeName("DWORD [6]")] + public fixed uint rgstate[6]; + + [NativeTypeName("RECT [6]")] + public _rgrect_e__FixedBuffer rgrect; + + public partial struct _rgrect_e__FixedBuffer + { + internal RECT e0; + internal RECT e1; + internal RECT e2; + internal RECT e3; + internal RECT e4; + internal RECT e5; + + public ref RECT this[int index] => ref AsSpan()[index]; + + public Span AsSpan() => MemoryMarshal.CreateSpan(ref e0, 6); + } + } +} diff --git a/sources/Interop/User32/um/winuser/TOGGLEKEYS.cs b/sources/Interop/User32/um/winuser/TOGGLEKEYS.cs new file mode 100644 index 0000000000..151a7e9ed4 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TOGGLEKEYS.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TOGGLEKEYS + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + } +} diff --git a/sources/Interop/User32/um/winuser/TOUCHINPUT.cs b/sources/Interop/User32/um/winuser/TOUCHINPUT.cs new file mode 100644 index 0000000000..77d6f1425d --- /dev/null +++ b/sources/Interop/User32/um/winuser/TOUCHINPUT.cs @@ -0,0 +1,42 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct TOUCHINPUT + { + [NativeTypeName("LONG")] + public int x; + + [NativeTypeName("LONG")] + public int y; + + [NativeTypeName("HANDLE")] + public void* hSource; + + [NativeTypeName("DWORD")] + public uint dwID; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("DWORD")] + public uint dwMask; + + [NativeTypeName("DWORD")] + public uint dwTime; + + [NativeTypeName("ULONG_PTR")] + public UIntPtr dwExtraInfo; + + [NativeTypeName("DWORD")] + public uint cxContact; + + [NativeTypeName("DWORD")] + public uint cyContact; + } +} diff --git a/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_INPUT.cs b/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_INPUT.cs new file mode 100644 index 0000000000..278b8e88e1 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_INPUT.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TOUCH_HIT_TESTING_INPUT + { + [NativeTypeName("UINT32")] + public uint pointerId; + + public POINT point; + + public RECT boundingBox; + + public RECT nonOccludedBoundingBox; + + [NativeTypeName("UINT32")] + public uint orientation; + } +} diff --git a/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_PROXIMITY_EVALUATION.cs b/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_PROXIMITY_EVALUATION.cs new file mode 100644 index 0000000000..7db9a14ecc --- /dev/null +++ b/sources/Interop/User32/um/winuser/TOUCH_HIT_TESTING_PROXIMITY_EVALUATION.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TOUCH_HIT_TESTING_PROXIMITY_EVALUATION + { + [NativeTypeName("UINT16")] + public ushort score; + + public POINT adjustedPoint; + } +} diff --git a/sources/Interop/User32/um/winuser/TPMPARAMS.cs b/sources/Interop/User32/um/winuser/TPMPARAMS.cs new file mode 100644 index 0000000000..66f1e63ba0 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TPMPARAMS.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TPMPARAMS + { + [NativeTypeName("UINT")] + public uint cbSize; + + public RECT rcExclude; + } +} diff --git a/sources/Interop/User32/um/winuser/TRACKMOUSEEVENT.cs b/sources/Interop/User32/um/winuser/TRACKMOUSEEVENT.cs new file mode 100644 index 0000000000..3b6e022997 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TRACKMOUSEEVENT.cs @@ -0,0 +1,24 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct TRACKMOUSEEVENT + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("HWND")] + public IntPtr hwndTrack; + + [NativeTypeName("DWORD")] + public uint dwHoverTime; + } +} diff --git a/sources/Interop/User32/um/winuser/TouchPredictionParameters.cs b/sources/Interop/User32/um/winuser/TouchPredictionParameters.cs new file mode 100644 index 0000000000..e5f2597861 --- /dev/null +++ b/sources/Interop/User32/um/winuser/TouchPredictionParameters.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct TouchPredictionParameters + { + [NativeTypeName("UINT")] + public uint cbSize; + + [NativeTypeName("UINT")] + public uint dwLatency; + + [NativeTypeName("UINT")] + public uint dwSampleTime; + + [NativeTypeName("UINT")] + public uint bUseHWTimeStamp; + } +} diff --git a/sources/Interop/User32/um/winuser/UPDATELAYEREDWINDOWINFO.cs b/sources/Interop/User32/um/winuser/UPDATELAYEREDWINDOWINFO.cs new file mode 100644 index 0000000000..78e9f18cc0 --- /dev/null +++ b/sources/Interop/User32/um/winuser/UPDATELAYEREDWINDOWINFO.cs @@ -0,0 +1,42 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct UPDATELAYEREDWINDOWINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("HDC")] + public IntPtr hdcDst; + + [NativeTypeName("const POINT *")] + public POINT* pptDst; + + [NativeTypeName("const SIZE *")] + public SIZE* psize; + + [NativeTypeName("HDC")] + public IntPtr hdcSrc; + + [NativeTypeName("const POINT *")] + public POINT* pptSrc; + + [NativeTypeName("COLORREF")] + public uint crKey; + + [NativeTypeName("const BLENDFUNCTION *")] + public BLENDFUNCTION* pblend; + + [NativeTypeName("DWORD")] + public uint dwFlags; + + [NativeTypeName("const RECT *")] + public RECT* prcDirty; + } +} diff --git a/sources/Interop/User32/um/winuser/USAGE_PROPERTIES.cs b/sources/Interop/User32/um/winuser/USAGE_PROPERTIES.cs new file mode 100644 index 0000000000..35c8d41c89 --- /dev/null +++ b/sources/Interop/User32/um/winuser/USAGE_PROPERTIES.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct USAGE_PROPERTIES + { + [NativeTypeName("USHORT")] + public ushort level; + + [NativeTypeName("USHORT")] + public ushort page; + + [NativeTypeName("USHORT")] + public ushort usage; + + [NativeTypeName("INT32")] + public int logicalMinimum; + + [NativeTypeName("INT32")] + public int logicalMaximum; + + [NativeTypeName("USHORT")] + public ushort unit; + + [NativeTypeName("USHORT")] + public ushort exponent; + + [NativeTypeName("BYTE")] + public byte count; + + [NativeTypeName("INT32")] + public int physicalMinimum; + + [NativeTypeName("INT32")] + public int physicalMaximum; + } +} diff --git a/sources/Interop/User32/um/winuser/USEROBJECTFLAGS.cs b/sources/Interop/User32/um/winuser/USEROBJECTFLAGS.cs new file mode 100644 index 0000000000..ca8a025e3d --- /dev/null +++ b/sources/Interop/User32/um/winuser/USEROBJECTFLAGS.cs @@ -0,0 +1,19 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct USEROBJECTFLAGS + { + [NativeTypeName("BOOL")] + public int fInherit; + + [NativeTypeName("BOOL")] + public int fReserved; + + [NativeTypeName("DWORD")] + public uint dwFlags; + } +} diff --git a/sources/Interop/User32/um/winuser/User32.Manual.cs b/sources/Interop/User32/um/winuser/User32.Manual.cs new file mode 100644 index 0000000000..59d9d7a8d4 --- /dev/null +++ b/sources/Interop/User32/um/winuser/User32.Manual.cs @@ -0,0 +1,6130 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.CompilerServices; +using static TerraFX.Interop.Windows; + +namespace TerraFX.Interop +{ + public static unsafe partial class User32 + { + // MAKEINTRESOURCE(1) + public const ushort RT_CURSOR = 1; + + // MAKEINTRESOURCE(2) + public const ushort RT_BITMAP = 2; + + // MAKEINTRESOURCE(3) + public const ushort RT_ICON = 3; + + // MAKEINTRESOURCE(4) + public const ushort RT_MENU = 4; + + // MAKEINTRESOURCE(5) + public const ushort RT_DIALOG = 5; + + // MAKEINTRESOURCE(6) + public const ushort RT_STRING = 6; + + // MAKEINTRESOURCE(7) + public const ushort RT_FONTDIR = 7; + + // MAKEINTRESOURCE(8) + public const ushort RT_FONT = 8; + + // MAKEINTRESOURCE(9) + public const ushort RT_ACCELERATOR = 9; + + // MAKEINTRESOURCE(10) + public const ushort RT_RCDATA = 10; + + // MAKEINTRESOURCE(11) + public const ushort RT_MESSAGETABLE = 11; + + public const int DIFFERENCE = 11; + + // MAKEINTRESOURCE(RT_CURSOR + DIFFERENCE) + public const ushort RT_GROUP_CURSOR = RT_CURSOR + DIFFERENCE; + + // MAKEINTRESOURCE(RT_ICON + DIFFERENCE) + public const ushort RT_GROUP_ICON = RT_ICON + DIFFERENCE; + + // MAKEINTRESOURCE(16) + public const ushort RT_VERSION = 16; + + // MAKEINTRESOURCE(17) + public const ushort RT_DLGINCLUDE = 17; + + // MAKEINTRESOURCE(19) + public const ushort RT_PLUGPLAY = 19; + + // MAKEINTRESOURCE(20) + public const ushort RT_VXD = 20; + + // MAKEINTRESOURCE(21) + public const ushort RT_ANICURSOR = 21; + + // MAKEINTRESOURCE(22) + public const ushort RT_ANIICON = 22; + + // MAKEINTRESOURCE(23) + public const ushort RT_HTML = 23; + + // MAKEINTRESOURCE(24) + public const ushort RT_MANIFEST = 24; + + // MAKEINTRESOURCE(1) + public const ushort CREATEPROCESS_MANIFEST_RESOURCE_ID = 1; + + // MAKEINTRESOURCE(2) + public const ushort ISOLATIONAWARE_MANIFEST_RESOURCE_ID = 2; + + // MAKEINTRESOURCE(3) + public const ushort ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = 3; + + // MAKEINTRESOURCE(1) + public const ushort MINIMUM_RESERVED_MANIFEST_RESOURCE_ID = 1; + + // MAKEINTRESOURCE(16) + public const ushort MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID = 16; + + public const int SETWALLPAPER_DEFAULT = -1; + + public const int SB_HORZ = 0; + + public const int SB_VERT = 1; + + public const int SB_CTL = 2; + + public const int SB_BOTH = 3; + + public const int SB_LINEUP = 0; + + public const int SB_LINELEFT = 0; + + public const int SB_LINEDOWN = 1; + + public const int SB_LINERIGHT = 1; + + public const int SB_PAGEUP = 2; + + public const int SB_PAGELEFT = 2; + + public const int SB_PAGEDOWN = 3; + + public const int SB_PAGERIGHT = 3; + + public const int SB_THUMBPOSITION = 4; + + public const int SB_THUMBTRACK = 5; + + public const int SB_TOP = 6; + + public const int SB_LEFT = 6; + + public const int SB_BOTTOM = 7; + + public const int SB_RIGHT = 7; + + public const int SB_ENDSCROLL = 8; + + public const int SW_HIDE = 0; + + public const int SW_SHOWNORMAL = 1; + + public const int SW_NORMAL = 1; + + public const int SW_SHOWMINIMIZED = 2; + + public const int SW_SHOWMAXIMIZED = 3; + + public const int SW_MAXIMIZE = 3; + + public const int SW_SHOWNOACTIVATE = 4; + + public const int SW_SHOW = 5; + + public const int SW_MINIMIZE = 6; + + public const int SW_SHOWMINNOACTIVE = 7; + + public const int SW_SHOWNA = 8; + + public const int SW_RESTORE = 9; + + public const int SW_SHOWDEFAULT = 10; + + public const int SW_FORCEMINIMIZE = 11; + + public const int SW_MAX = 11; + + public const int HIDE_WINDOW = 0; + + public const int SHOW_OPENWINDOW = 1; + + public const int SHOW_ICONWINDOW = 2; + + public const int SHOW_FULLSCREEN = 3; + + public const int SHOW_OPENNOACTIVATE = 4; + + public const int SW_PARENTCLOSING = 1; + + public const int SW_OTHERZOOM = 2; + + public const int SW_PARENTOPENING = 3; + + public const int SW_OTHERUNZOOM = 4; + + public const int AW_HOR_POSITIVE = 0x00000001; + + public const int AW_HOR_NEGATIVE = 0x00000002; + + public const int AW_VER_POSITIVE = 0x00000004; + + public const int AW_VER_NEGATIVE = 0x00000008; + + public const int AW_CENTER = 0x00000010; + + public const int AW_HIDE = 0x00010000; + + public const int AW_ACTIVATE = 0x00020000; + + public const int AW_SLIDE = 0x00040000; + + public const int AW_BLEND = 0x00080000; + + public const int KF_EXTENDED = 0x0100; + + public const int KF_DLGMODE = 0x0800; + + public const int KF_MENUMODE = 0x1000; + + public const int KF_ALTDOWN = 0x2000; + + public const int KF_REPEAT = 0x4000; + + public const int KF_UP = 0x8000; + + public const int VK_LBUTTON = 0x01; + + public const int VK_RBUTTON = 0x02; + + public const int VK_CANCEL = 0x03; + + public const int VK_MBUTTON = 0x04; + + public const int VK_XBUTTON1 = 0x05; + + public const int VK_XBUTTON2 = 0x06; + + public const int VK_BACK = 0x08; + + public const int VK_TAB = 0x09; + + public const int VK_CLEAR = 0x0C; + + public const int VK_RETURN = 0x0D; + + public const int VK_SHIFT = 0x10; + + public const int VK_CONTROL = 0x11; + + public const int VK_MENU = 0x12; + + public const int VK_PAUSE = 0x13; + + public const int VK_CAPITAL = 0x14; + + public const int VK_KANA = 0x15; + + public const int VK_HANGEUL = 0x15; + + public const int VK_HANGUL = 0x15; + + public const int VK_JUNJA = 0x17; + + public const int VK_FINAL = 0x18; + + public const int VK_HANJA = 0x19; + + public const int VK_KANJI = 0x19; + + public const int VK_ESCAPE = 0x1B; + + public const int VK_CONVERT = 0x1C; + + public const int VK_NONCONVERT = 0x1D; + + public const int VK_ACCEPT = 0x1E; + + public const int VK_MODECHANGE = 0x1F; + + public const int VK_SPACE = 0x20; + + public const int VK_PRIOR = 0x21; + + public const int VK_NEXT = 0x22; + + public const int VK_END = 0x23; + + public const int VK_HOME = 0x24; + + public const int VK_LEFT = 0x25; + + public const int VK_UP = 0x26; + + public const int VK_RIGHT = 0x27; + + public const int VK_DOWN = 0x28; + + public const int VK_SELECT = 0x29; + + public const int VK_PRINT = 0x2A; + + public const int VK_EXECUTE = 0x2B; + + public const int VK_SNAPSHOT = 0x2C; + + public const int VK_INSERT = 0x2D; + + public const int VK_DELETE = 0x2E; + + public const int VK_HELP = 0x2F; + + public const int VK_LWIN = 0x5B; + + public const int VK_RWIN = 0x5C; + + public const int VK_APPS = 0x5D; + + public const int VK_SLEEP = 0x5F; + + public const int VK_NUMPAD0 = 0x60; + + public const int VK_NUMPAD1 = 0x61; + + public const int VK_NUMPAD2 = 0x62; + + public const int VK_NUMPAD3 = 0x63; + + public const int VK_NUMPAD4 = 0x64; + + public const int VK_NUMPAD5 = 0x65; + + public const int VK_NUMPAD6 = 0x66; + + public const int VK_NUMPAD7 = 0x67; + + public const int VK_NUMPAD8 = 0x68; + + public const int VK_NUMPAD9 = 0x69; + + public const int VK_MULTIPLY = 0x6A; + + public const int VK_ADD = 0x6B; + + public const int VK_SEPARATOR = 0x6C; + + public const int VK_SUBTRACT = 0x6D; + + public const int VK_DECIMAL = 0x6E; + + public const int VK_DIVIDE = 0x6F; + + public const int VK_F1 = 0x70; + + public const int VK_F2 = 0x71; + + public const int VK_F3 = 0x72; + + public const int VK_F4 = 0x73; + + public const int VK_F5 = 0x74; + + public const int VK_F6 = 0x75; + + public const int VK_F7 = 0x76; + + public const int VK_F8 = 0x77; + + public const int VK_F9 = 0x78; + + public const int VK_F10 = 0x79; + + public const int VK_F11 = 0x7A; + + public const int VK_F12 = 0x7B; + + public const int VK_F13 = 0x7C; + + public const int VK_F14 = 0x7D; + + public const int VK_F15 = 0x7E; + + public const int VK_F16 = 0x7F; + + public const int VK_F17 = 0x80; + + public const int VK_F18 = 0x81; + + public const int VK_F19 = 0x82; + + public const int VK_F20 = 0x83; + + public const int VK_F21 = 0x84; + + public const int VK_F22 = 0x85; + + public const int VK_F23 = 0x86; + + public const int VK_F24 = 0x87; + + public const int VK_NAVIGATION_VIEW = 0x88; + + public const int VK_NAVIGATION_MENU = 0x89; + + public const int VK_NAVIGATION_UP = 0x8A; + + public const int VK_NAVIGATION_DOWN = 0x8B; + + public const int VK_NAVIGATION_LEFT = 0x8C; + + public const int VK_NAVIGATION_RIGHT = 0x8D; + + public const int VK_NAVIGATION_ACCEPT = 0x8E; + + public const int VK_NAVIGATION_CANCEL = 0x8F; + + public const int VK_NUMLOCK = 0x90; + + public const int VK_SCROLL = 0x91; + + public const int VK_OEM_NEC_EQUAL = 0x92; + + public const int VK_OEM_FJ_JISHO = 0x92; + + public const int VK_OEM_FJ_MASSHOU = 0x93; + + public const int VK_OEM_FJ_TOUROKU = 0x94; + + public const int VK_OEM_FJ_LOYA = 0x95; + + public const int VK_OEM_FJ_ROYA = 0x96; + + public const int VK_LSHIFT = 0xA0; + + public const int VK_RSHIFT = 0xA1; + + public const int VK_LCONTROL = 0xA2; + + public const int VK_RCONTROL = 0xA3; + + public const int VK_LMENU = 0xA4; + + public const int VK_RMENU = 0xA5; + + public const int VK_BROWSER_BACK = 0xA6; + + public const int VK_BROWSER_FORWARD = 0xA7; + + public const int VK_BROWSER_REFRESH = 0xA8; + + public const int VK_BROWSER_STOP = 0xA9; + + public const int VK_BROWSER_SEARCH = 0xAA; + + public const int VK_BROWSER_FAVORITES = 0xAB; + + public const int VK_BROWSER_HOME = 0xAC; + + public const int VK_VOLUME_MUTE = 0xAD; + + public const int VK_VOLUME_DOWN = 0xAE; + + public const int VK_VOLUME_UP = 0xAF; + + public const int VK_MEDIA_NEXT_TRACK = 0xB0; + + public const int VK_MEDIA_PREV_TRACK = 0xB1; + + public const int VK_MEDIA_STOP = 0xB2; + + public const int VK_MEDIA_PLAY_PAUSE = 0xB3; + + public const int VK_LAUNCH_MAIL = 0xB4; + + public const int VK_LAUNCH_MEDIA_SELECT = 0xB5; + + public const int VK_LAUNCH_APP1 = 0xB6; + + public const int VK_LAUNCH_APP2 = 0xB7; + + public const int VK_OEM_1 = 0xBA; + + public const int VK_OEM_PLUS = 0xBB; + + public const int VK_OEM_COMMA = 0xBC; + + public const int VK_OEM_MINUS = 0xBD; + + public const int VK_OEM_PERIOD = 0xBE; + + public const int VK_OEM_2 = 0xBF; + + public const int VK_OEM_3 = 0xC0; + + public const int VK_GAMEPAD_A = 0xC3; + + public const int VK_GAMEPAD_B = 0xC4; + + public const int VK_GAMEPAD_X = 0xC5; + + public const int VK_GAMEPAD_Y = 0xC6; + + public const int VK_GAMEPAD_RIGHT_SHOULDER = 0xC7; + + public const int VK_GAMEPAD_LEFT_SHOULDER = 0xC8; + + public const int VK_GAMEPAD_LEFT_TRIGGER = 0xC9; + + public const int VK_GAMEPAD_RIGHT_TRIGGER = 0xCA; + + public const int VK_GAMEPAD_DPAD_UP = 0xCB; + + public const int VK_GAMEPAD_DPAD_DOWN = 0xCC; + + public const int VK_GAMEPAD_DPAD_LEFT = 0xCD; + + public const int VK_GAMEPAD_DPAD_RIGHT = 0xCE; + + public const int VK_GAMEPAD_MENU = 0xCF; + + public const int VK_GAMEPAD_VIEW = 0xD0; + + public const int VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON = 0xD1; + + public const int VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON = 0xD2; + + public const int VK_GAMEPAD_LEFT_THUMBSTICK_UP = 0xD3; + + public const int VK_GAMEPAD_LEFT_THUMBSTICK_DOWN = 0xD4; + + public const int VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT = 0xD5; + + public const int VK_GAMEPAD_LEFT_THUMBSTICK_LEFT = 0xD6; + + public const int VK_GAMEPAD_RIGHT_THUMBSTICK_UP = 0xD7; + + public const int VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN = 0xD8; + + public const int VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT = 0xD9; + + public const int VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT = 0xDA; + + public const int VK_OEM_4 = 0xDB; + + public const int VK_OEM_5 = 0xDC; + + public const int VK_OEM_6 = 0xDD; + + public const int VK_OEM_7 = 0xDE; + + public const int VK_OEM_8 = 0xDF; + + public const int VK_OEM_AX = 0xE1; + + public const int VK_OEM_102 = 0xE2; + + public const int VK_ICO_HELP = 0xE3; + + public const int VK_ICO_00 = 0xE4; + + public const int VK_PROCESSKEY = 0xE5; + + public const int VK_ICO_CLEAR = 0xE6; + + public const int VK_PACKET = 0xE7; + + public const int VK_OEM_RESET = 0xE9; + + public const int VK_OEM_JUMP = 0xEA; + + public const int VK_OEM_PA1 = 0xEB; + + public const int VK_OEM_PA2 = 0xEC; + + public const int VK_OEM_PA3 = 0xED; + + public const int VK_OEM_WSCTRL = 0xEE; + + public const int VK_OEM_CUSEL = 0xEF; + + public const int VK_OEM_ATTN = 0xF0; + + public const int VK_OEM_FINISH = 0xF1; + + public const int VK_OEM_COPY = 0xF2; + + public const int VK_OEM_AUTO = 0xF3; + + public const int VK_OEM_ENLW = 0xF4; + + public const int VK_OEM_BACKTAB = 0xF5; + + public const int VK_ATTN = 0xF6; + + public const int VK_CRSEL = 0xF7; + + public const int VK_EXSEL = 0xF8; + + public const int VK_EREOF = 0xF9; + + public const int VK_PLAY = 0xFA; + + public const int VK_ZOOM = 0xFB; + + public const int VK_NONAME = 0xFC; + + public const int VK_PA1 = 0xFD; + + public const int VK_OEM_CLEAR = 0xFE; + + public const int WH_MIN = -1; + + public const int WH_MSGFILTER = -1; + + public const int WH_JOURNALRECORD = 0; + + public const int WH_JOURNALPLAYBACK = 1; + + public const int WH_KEYBOARD = 2; + + public const int WH_GETMESSAGE = 3; + + public const int WH_CALLWNDPROC = 4; + + public const int WH_CBT = 5; + + public const int WH_SYSMSGFILTER = 6; + + public const int WH_MOUSE = 7; + + public const int WH_HARDWARE = 8; + + public const int WH_DEBUG = 9; + + public const int WH_SHELL = 10; + + public const int WH_FOREGROUNDIDLE = 11; + + public const int WH_CALLWNDPROCRET = 12; + + public const int WH_KEYBOARD_LL = 13; + + public const int WH_MOUSE_LL = 14; + + public const int WH_MAX = 14; + + public const int WH_MINHOOK = WH_MIN; + + public const int WH_MAXHOOK = WH_MAX; + + public const int HC_ACTION = 0; + + public const int HC_GETNEXT = 1; + + public const int HC_SKIP = 2; + + public const int HC_NOREMOVE = 3; + + public const int HC_NOREM = HC_NOREMOVE; + + public const int HC_SYSMODALON = 4; + + public const int HC_SYSMODALOFF = 5; + + public const int HCBT_MOVESIZE = 0; + + public const int HCBT_MINMAX = 1; + + public const int HCBT_QS = 2; + + public const int HCBT_CREATEWND = 3; + + public const int HCBT_DESTROYWND = 4; + + public const int HCBT_ACTIVATE = 5; + + public const int HCBT_CLICKSKIPPED = 6; + + public const int HCBT_KEYSKIPPED = 7; + + public const int HCBT_SYSCOMMAND = 8; + + public const int HCBT_SETFOCUS = 9; + + public const int WTS_CONSOLE_CONNECT = 0x1; + + public const int WTS_CONSOLE_DISCONNECT = 0x2; + + public const int WTS_REMOTE_CONNECT = 0x3; + + public const int WTS_REMOTE_DISCONNECT = 0x4; + + public const int WTS_SESSION_LOGON = 0x5; + + public const int WTS_SESSION_LOGOFF = 0x6; + + public const int WTS_SESSION_LOCK = 0x7; + + public const int WTS_SESSION_UNLOCK = 0x8; + + public const int WTS_SESSION_REMOTE_CONTROL = 0x9; + + public const int WTS_SESSION_CREATE = 0xA; + + public const int WTS_SESSION_TERMINATE = 0xB; + + public const int MSGF_DIALOGBOX = 0; + + public const int MSGF_MESSAGEBOX = 1; + + public const int MSGF_MENU = 2; + + public const int MSGF_SCROLLBAR = 5; + + public const int MSGF_NEXTWINDOW = 6; + + public const int MSGF_MAX = 8; + + public const int MSGF_USER = 4096; + + public const int HSHELL_WINDOWCREATED = 1; + + public const int HSHELL_WINDOWDESTROYED = 2; + + public const int HSHELL_ACTIVATESHELLWINDOW = 3; + + public const int HSHELL_WINDOWACTIVATED = 4; + + public const int HSHELL_GETMINRECT = 5; + + public const int HSHELL_REDRAW = 6; + + public const int HSHELL_TASKMAN = 7; + + public const int HSHELL_LANGUAGE = 8; + + public const int HSHELL_SYSMENU = 9; + + public const int HSHELL_ENDTASK = 10; + + public const int HSHELL_ACCESSIBILITYSTATE = 11; + + public const int HSHELL_APPCOMMAND = 12; + + public const int HSHELL_WINDOWREPLACED = 13; + + public const int HSHELL_WINDOWREPLACING = 14; + + public const int HSHELL_MONITORCHANGED = 16; + + public const int HSHELL_HIGHBIT = 0x8000; + + public const int HSHELL_FLASH = HSHELL_REDRAW | HSHELL_HIGHBIT; + + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + + public const int APPCOMMAND_BROWSER_BACKWARD = 1; + + public const int APPCOMMAND_BROWSER_FORWARD = 2; + + public const int APPCOMMAND_BROWSER_REFRESH = 3; + + public const int APPCOMMAND_BROWSER_STOP = 4; + + public const int APPCOMMAND_BROWSER_SEARCH = 5; + + public const int APPCOMMAND_BROWSER_FAVORITES = 6; + + public const int APPCOMMAND_BROWSER_HOME = 7; + + public const int APPCOMMAND_VOLUME_MUTE = 8; + + public const int APPCOMMAND_VOLUME_DOWN = 9; + + public const int APPCOMMAND_VOLUME_UP = 10; + + public const int APPCOMMAND_MEDIA_NEXTTRACK = 11; + + public const int APPCOMMAND_MEDIA_PREVIOUSTRACK = 12; + + public const int APPCOMMAND_MEDIA_STOP = 13; + + public const int APPCOMMAND_MEDIA_PLAY_PAUSE = 14; + + public const int APPCOMMAND_LAUNCH_MAIL = 15; + + public const int APPCOMMAND_LAUNCH_MEDIA_SELECT = 16; + + public const int APPCOMMAND_LAUNCH_APP1 = 17; + + public const int APPCOMMAND_LAUNCH_APP2 = 18; + + public const int APPCOMMAND_BASS_DOWN = 19; + + public const int APPCOMMAND_BASS_BOOST = 20; + + public const int APPCOMMAND_BASS_UP = 21; + + public const int APPCOMMAND_TREBLE_DOWN = 22; + + public const int APPCOMMAND_TREBLE_UP = 23; + + public const int APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24; + + public const int APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25; + + public const int APPCOMMAND_MICROPHONE_VOLUME_UP = 26; + + public const int APPCOMMAND_HELP = 27; + + public const int APPCOMMAND_FIND = 28; + + public const int APPCOMMAND_NEW = 29; + + public const int APPCOMMAND_OPEN = 30; + + public const int APPCOMMAND_CLOSE = 31; + + public const int APPCOMMAND_SAVE = 32; + + public const int APPCOMMAND_PRINT = 33; + + public const int APPCOMMAND_UNDO = 34; + + public const int APPCOMMAND_REDO = 35; + + public const int APPCOMMAND_COPY = 36; + + public const int APPCOMMAND_CUT = 37; + + public const int APPCOMMAND_PASTE = 38; + + public const int APPCOMMAND_REPLY_TO_MAIL = 39; + + public const int APPCOMMAND_FORWARD_MAIL = 40; + + public const int APPCOMMAND_SEND_MAIL = 41; + + public const int APPCOMMAND_SPELL_CHECK = 42; + + public const int APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43; + + public const int APPCOMMAND_MIC_ON_OFF_TOGGLE = 44; + + public const int APPCOMMAND_CORRECTION_LIST = 45; + + public const int APPCOMMAND_MEDIA_PLAY = 46; + + public const int APPCOMMAND_MEDIA_PAUSE = 47; + + public const int APPCOMMAND_MEDIA_RECORD = 48; + + public const int APPCOMMAND_MEDIA_FAST_FORWARD = 49; + + public const int APPCOMMAND_MEDIA_REWIND = 50; + + public const int APPCOMMAND_MEDIA_CHANNEL_UP = 51; + + public const int APPCOMMAND_MEDIA_CHANNEL_DOWN = 52; + + public const int APPCOMMAND_DELETE = 53; + + public const int APPCOMMAND_DWM_FLIP3D = 54; + + public const int FAPPCOMMAND_MOUSE = 0x8000; + + public const int FAPPCOMMAND_KEY = 0; + + public const int FAPPCOMMAND_OEM = 0x1000; + + public const int FAPPCOMMAND_MASK = 0xF000; + + public const int LLKHF_EXTENDED = KF_EXTENDED >> 8; + + public const int LLKHF_INJECTED = 0x00000010; + + public const int LLKHF_ALTDOWN = KF_ALTDOWN >> 8; + + public const int LLKHF_UP = KF_UP >> 8; + + public const int LLKHF_LOWER_IL_INJECTED = 0x00000002; + + public const int LLMHF_INJECTED = 0x00000001; + + public const int LLMHF_LOWER_IL_INJECTED = 0x00000002; + + public const int HKL_PREV = 0; + + public const int HKL_NEXT = 1; + + public const int KLF_ACTIVATE = 0x00000001; + + public const int KLF_SUBSTITUTE_OK = 0x00000002; + + public const int KLF_REORDER = 0x00000008; + + public const int KLF_REPLACELANG = 0x00000010; + + public const int KLF_NOTELLSHELL = 0x00000080; + + public const int KLF_SETFORPROCESS = 0x00000100; + + public const int KLF_SHIFTLOCK = 0x00010000; + + public const int KLF_RESET = 0x40000000; + + public const int INPUTLANGCHANGE_SYSCHARSET = 0x0001; + + public const int INPUTLANGCHANGE_FORWARD = 0x0002; + + public const int INPUTLANGCHANGE_BACKWARD = 0x0004; + + public const int KL_NAMELENGTH = 9; + + public const int GMMP_USE_DISPLAY_POINTS = 1; + + public const int GMMP_USE_HIGH_RESOLUTION_POINTS = 2; + + public const int DESKTOP_READOBJECTS = 0x0001; + + public const int DESKTOP_CREATEWINDOW = 0x0002; + + public const int DESKTOP_CREATEMENU = 0x0004; + + public const int DESKTOP_HOOKCONTROL = 0x0008; + + public const int DESKTOP_JOURNALRECORD = 0x0010; + + public const int DESKTOP_JOURNALPLAYBACK = 0x0020; + + public const int DESKTOP_ENUMERATE = 0x0040; + + public const int DESKTOP_WRITEOBJECTS = 0x0080; + + public const int DESKTOP_SWITCHDESKTOP = 0x0100; + + public const int DF_ALLOWOTHERACCOUNTHOOK = 0x0001; + + public const int WINSTA_ENUMDESKTOPS = 0x0001; + + public const int WINSTA_READATTRIBUTES = 0x0002; + + public const int WINSTA_ACCESSCLIPBOARD = 0x0004; + + public const int WINSTA_CREATEDESKTOP = 0x0008; + + public const int WINSTA_WRITEATTRIBUTES = 0x0010; + + public const int WINSTA_ACCESSGLOBALATOMS = 0x0020; + + public const int WINSTA_EXITWINDOWS = 0x0040; + + public const int WINSTA_ENUMERATE = 0x0100; + + public const int WINSTA_READSCREEN = 0x0200; + + public const int WINSTA_ALL_ACCESS = WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES | WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | WINSTA_ENUMERATE | WINSTA_READSCREEN; + + public const int CWF_CREATE_ONLY = 0x00000001; + + public const int WSF_VISIBLE = 0x0001; + + public const int UOI_FLAGS = 1; + + public const int UOI_NAME = 2; + + public const int UOI_TYPE = 3; + + public const int UOI_USER_SID = 4; + + public const int UOI_HEAPSIZE = 5; + + public const int UOI_IO = 6; + + public const int UOI_TIMERPROC_EXCEPTION_SUPPRESSION = 7; + + public const int GWL_WNDPROC = -4; + + public const int GWL_HINSTANCE = -6; + + public const int GWL_HWNDPARENT = -8; + + public const int GWL_STYLE = -16; + + public const int GWL_EXSTYLE = -20; + + public const int GWL_USERDATA = -21; + + public const int GWL_ID = -12; + + public const int GWLP_WNDPROC = -4; + + public const int GWLP_HINSTANCE = -6; + + public const int GWLP_HWNDPARENT = -8; + + public const int GWLP_USERDATA = -21; + + public const int GWLP_ID = -12; + + public const int GCL_MENUNAME = -8; + + public const int GCL_HBRBACKGROUND = -10; + + public const int GCL_HCURSOR = -12; + + public const int GCL_HICON = -14; + + public const int GCL_HMODULE = -16; + + public const int GCL_CBWNDEXTRA = -18; + + public const int GCL_CBCLSEXTRA = -20; + + public const int GCL_WNDPROC = -24; + + public const int GCL_STYLE = -26; + + public const int GCW_ATOM = -32; + + public const int GCL_HICONSM = -34; + + public const int GCLP_MENUNAME = -8; + + public const int GCLP_HBRBACKGROUND = -10; + + public const int GCLP_HCURSOR = -12; + + public const int GCLP_HICON = -14; + + public const int GCLP_HMODULE = -16; + + public const int GCLP_WNDPROC = -24; + + public const int GCLP_HICONSM = -34; + + public const int WM_NULL = 0x0000; + + public const int WM_CREATE = 0x0001; + + public const int WM_DESTROY = 0x0002; + + public const int WM_MOVE = 0x0003; + + public const int WM_SIZE = 0x0005; + + public const int WM_ACTIVATE = 0x0006; + + public const int WA_INACTIVE = 0; + + public const int WA_ACTIVE = 1; + + public const int WA_CLICKACTIVE = 2; + + public const int WM_SETFOCUS = 0x0007; + + public const int WM_KILLFOCUS = 0x0008; + + public const int WM_ENABLE = 0x000A; + + public const int WM_SETREDRAW = 0x000B; + + public const int WM_SETTEXT = 0x000C; + + public const int WM_GETTEXT = 0x000D; + + public const int WM_GETTEXTLENGTH = 0x000E; + + public const int WM_PAINT = 0x000F; + + public const int WM_CLOSE = 0x0010; + + public const int WM_QUERYENDSESSION = 0x0011; + + public const int WM_QUERYOPEN = 0x0013; + + public const int WM_ENDSESSION = 0x0016; + + public const int WM_QUIT = 0x0012; + + public const int WM_ERASEBKGND = 0x0014; + + public const int WM_SYSCOLORCHANGE = 0x0015; + + public const int WM_SHOWWINDOW = 0x0018; + + public const int WM_WININICHANGE = 0x001A; + + public const int WM_SETTINGCHANGE = WM_WININICHANGE; + + public const int WM_DEVMODECHANGE = 0x001B; + + public const int WM_ACTIVATEAPP = 0x001C; + + public const int WM_FONTCHANGE = 0x001D; + + public const int WM_TIMECHANGE = 0x001E; + + public const int WM_CANCELMODE = 0x001F; + + public const int WM_SETCURSOR = 0x0020; + + public const int WM_MOUSEACTIVATE = 0x0021; + + public const int WM_CHILDACTIVATE = 0x0022; + + public const int WM_QUEUESYNC = 0x0023; + + public const int WM_GETMINMAXINFO = 0x0024; + + public const int WM_PAINTICON = 0x0026; + + public const int WM_ICONERASEBKGND = 0x0027; + + public const int WM_NEXTDLGCTL = 0x0028; + + public const int WM_SPOOLERSTATUS = 0x002A; + + public const int WM_DRAWITEM = 0x002B; + + public const int WM_MEASUREITEM = 0x002C; + + public const int WM_DELETEITEM = 0x002D; + + public const int WM_VKEYTOITEM = 0x002E; + + public const int WM_CHARTOITEM = 0x002F; + + public const int WM_SETFONT = 0x0030; + + public const int WM_GETFONT = 0x0031; + + public const int WM_SETHOTKEY = 0x0032; + + public const int WM_GETHOTKEY = 0x0033; + + public const int WM_QUERYDRAGICON = 0x0037; + + public const int WM_COMPAREITEM = 0x0039; + + public const int WM_GETOBJECT = 0x003D; + + public const int WM_COMPACTING = 0x0041; + + public const int WM_COMMNOTIFY = 0x0044; + + public const int WM_WINDOWPOSCHANGING = 0x0046; + + public const int WM_WINDOWPOSCHANGED = 0x0047; + + public const int WM_POWER = 0x0048; + + public const int PWR_OK = 1; + + public const int PWR_FAIL = -1; + + public const int PWR_SUSPENDREQUEST = 1; + + public const int PWR_SUSPENDRESUME = 2; + + public const int PWR_CRITICALRESUME = 3; + + public const int WM_COPYDATA = 0x004A; + + public const int WM_CANCELJOURNAL = 0x004B; + + public const int WM_NOTIFY = 0x004E; + + public const int WM_INPUTLANGCHANGEREQUEST = 0x0050; + + public const int WM_INPUTLANGCHANGE = 0x0051; + + public const int WM_TCARD = 0x0052; + + public const int WM_HELP = 0x0053; + + public const int WM_USERCHANGED = 0x0054; + + public const int WM_NOTIFYFORMAT = 0x0055; + + public const int NFR_ANSI = 1; + + public const int NFR_UNICODE = 2; + + public const int NF_QUERY = 3; + + public const int NF_REQUERY = 4; + + public const int WM_CONTEXTMENU = 0x007B; + + public const int WM_STYLECHANGING = 0x007C; + + public const int WM_STYLECHANGED = 0x007D; + + public const int WM_DISPLAYCHANGE = 0x007E; + + public const int WM_GETICON = 0x007F; + + public const int WM_SETICON = 0x0080; + + public const int WM_NCCREATE = 0x0081; + + public const int WM_NCDESTROY = 0x0082; + + public const int WM_NCCALCSIZE = 0x0083; + + public const int WM_NCHITTEST = 0x0084; + + public const int WM_NCPAINT = 0x0085; + + public const int WM_NCACTIVATE = 0x0086; + + public const int WM_GETDLGCODE = 0x0087; + + public const int WM_SYNCPAINT = 0x0088; + + public const int WM_NCMOUSEMOVE = 0x00A0; + + public const int WM_NCLBUTTONDOWN = 0x00A1; + + public const int WM_NCLBUTTONUP = 0x00A2; + + public const int WM_NCLBUTTONDBLCLK = 0x00A3; + + public const int WM_NCRBUTTONDOWN = 0x00A4; + + public const int WM_NCRBUTTONUP = 0x00A5; + + public const int WM_NCRBUTTONDBLCLK = 0x00A6; + + public const int WM_NCMBUTTONDOWN = 0x00A7; + + public const int WM_NCMBUTTONUP = 0x00A8; + + public const int WM_NCMBUTTONDBLCLK = 0x00A9; + + public const int WM_NCXBUTTONDOWN = 0x00AB; + + public const int WM_NCXBUTTONUP = 0x00AC; + + public const int WM_NCXBUTTONDBLCLK = 0x00AD; + + public const int WM_INPUT_DEVICE_CHANGE = 0x00FE; + + public const int WM_INPUT = 0x00FF; + + public const int WM_KEYFIRST = 0x0100; + + public const int WM_KEYDOWN = 0x0100; + + public const int WM_KEYUP = 0x0101; + + public const int WM_CHAR = 0x0102; + + public const int WM_DEADCHAR = 0x0103; + + public const int WM_SYSKEYDOWN = 0x0104; + + public const int WM_SYSKEYUP = 0x0105; + + public const int WM_SYSCHAR = 0x0106; + + public const int WM_SYSDEADCHAR = 0x0107; + + public const int WM_UNICHAR = 0x0109; + + public const int WM_KEYLAST = 0x0109; + + public const int UNICODE_NOCHAR = 0xFFFF; + + public const int WM_IME_STARTCOMPOSITION = 0x010D; + + public const int WM_IME_ENDCOMPOSITION = 0x010E; + + public const int WM_IME_COMPOSITION = 0x010F; + + public const int WM_IME_KEYLAST = 0x010F; + + public const int WM_INITDIALOG = 0x0110; + + public const int WM_COMMAND = 0x0111; + + public const int WM_SYSCOMMAND = 0x0112; + + public const int WM_TIMER = 0x0113; + + public const int WM_HSCROLL = 0x0114; + + public const int WM_VSCROLL = 0x0115; + + public const int WM_INITMENU = 0x0116; + + public const int WM_INITMENUPOPUP = 0x0117; + + public const int WM_GESTURE = 0x0119; + + public const int WM_GESTURENOTIFY = 0x011A; + + public const int WM_MENUSELECT = 0x011F; + + public const int WM_MENUCHAR = 0x0120; + + public const int WM_ENTERIDLE = 0x0121; + + public const int WM_MENURBUTTONUP = 0x0122; + + public const int WM_MENUDRAG = 0x0123; + + public const int WM_MENUGETOBJECT = 0x0124; + + public const int WM_UNINITMENUPOPUP = 0x0125; + + public const int WM_MENUCOMMAND = 0x0126; + + public const int WM_CHANGEUISTATE = 0x0127; + + public const int WM_UPDATEUISTATE = 0x0128; + + public const int WM_QUERYUISTATE = 0x0129; + + public const int UIS_SET = 1; + + public const int UIS_CLEAR = 2; + + public const int UIS_INITIALIZE = 3; + + public const int UISF_HIDEFOCUS = 0x1; + + public const int UISF_HIDEACCEL = 0x2; + + public const int UISF_ACTIVE = 0x4; + + public const int WM_CTLCOLORMSGBOX = 0x0132; + + public const int WM_CTLCOLOREDIT = 0x0133; + + public const int WM_CTLCOLORLISTBOX = 0x0134; + + public const int WM_CTLCOLORBTN = 0x0135; + + public const int WM_CTLCOLORDLG = 0x0136; + + public const int WM_CTLCOLORSCROLLBAR = 0x0137; + + public const int WM_CTLCOLORSTATIC = 0x0138; + + public const int MN_GETHMENU = 0x01E1; + + public const int WM_MOUSEFIRST = 0x0200; + + public const int WM_MOUSEMOVE = 0x0200; + + public const int WM_LBUTTONDOWN = 0x0201; + + public const int WM_LBUTTONUP = 0x0202; + + public const int WM_LBUTTONDBLCLK = 0x0203; + + public const int WM_RBUTTONDOWN = 0x0204; + + public const int WM_RBUTTONUP = 0x0205; + + public const int WM_RBUTTONDBLCLK = 0x0206; + + public const int WM_MBUTTONDOWN = 0x0207; + + public const int WM_MBUTTONUP = 0x0208; + + public const int WM_MBUTTONDBLCLK = 0x0209; + + public const int WM_MOUSEWHEEL = 0x020A; + + public const int WM_XBUTTONDOWN = 0x020B; + + public const int WM_XBUTTONUP = 0x020C; + + public const int WM_XBUTTONDBLCLK = 0x020D; + + public const int WM_MOUSEHWHEEL = 0x020E; + + public const int WM_MOUSELAST = 0x020E; + + public const int WHEEL_DELTA = 120; + + public const uint WHEEL_PAGESCROLL = uint.MaxValue; + + public const int XBUTTON1 = 0x0001; + + public const int XBUTTON2 = 0x0002; + + public const int WM_PARENTNOTIFY = 0x0210; + + public const int WM_ENTERMENULOOP = 0x0211; + + public const int WM_EXITMENULOOP = 0x0212; + + public const int WM_NEXTMENU = 0x0213; + + public const int WM_SIZING = 0x0214; + + public const int WM_CAPTURECHANGED = 0x0215; + + public const int WM_MOVING = 0x0216; + + public const int WM_POWERBROADCAST = 0x0218; + + public const int PBT_APMQUERYSUSPEND = 0x0000; + + public const int PBT_APMQUERYSTANDBY = 0x0001; + + public const int PBT_APMQUERYSUSPENDFAILED = 0x0002; + + public const int PBT_APMQUERYSTANDBYFAILED = 0x0003; + + public const int PBT_APMSUSPEND = 0x0004; + + public const int PBT_APMSTANDBY = 0x0005; + + public const int PBT_APMRESUMECRITICAL = 0x0006; + + public const int PBT_APMRESUMESUSPEND = 0x0007; + + public const int PBT_APMRESUMESTANDBY = 0x0008; + + public const int PBTF_APMRESUMEFROMFAILURE = 0x00000001; + + public const int PBT_APMBATTERYLOW = 0x0009; + + public const int PBT_APMPOWERSTATUSCHANGE = 0x000A; + + public const int PBT_APMOEMEVENT = 0x000B; + + public const int PBT_APMRESUMEAUTOMATIC = 0x0012; + + public const int PBT_POWERSETTINGCHANGE = 0x8013; + + public const int WM_DEVICECHANGE = 0x0219; + + public const int WM_MDICREATE = 0x0220; + + public const int WM_MDIDESTROY = 0x0221; + + public const int WM_MDIACTIVATE = 0x0222; + + public const int WM_MDIRESTORE = 0x0223; + + public const int WM_MDINEXT = 0x0224; + + public const int WM_MDIMAXIMIZE = 0x0225; + + public const int WM_MDITILE = 0x0226; + + public const int WM_MDICASCADE = 0x0227; + + public const int WM_MDIICONARRANGE = 0x0228; + + public const int WM_MDIGETACTIVE = 0x0229; + + public const int WM_MDISETMENU = 0x0230; + + public const int WM_ENTERSIZEMOVE = 0x0231; + + public const int WM_EXITSIZEMOVE = 0x0232; + + public const int WM_DROPFILES = 0x0233; + + public const int WM_MDIREFRESHMENU = 0x0234; + + public const int WM_POINTERDEVICECHANGE = 0x238; + + public const int WM_POINTERDEVICEINRANGE = 0x239; + + public const int WM_POINTERDEVICEOUTOFRANGE = 0x23A; + + public const int WM_TOUCH = 0x0240; + + public const int WM_NCPOINTERUPDATE = 0x0241; + + public const int WM_NCPOINTERDOWN = 0x0242; + + public const int WM_NCPOINTERUP = 0x0243; + + public const int WM_POINTERUPDATE = 0x0245; + + public const int WM_POINTERDOWN = 0x0246; + + public const int WM_POINTERUP = 0x0247; + + public const int WM_POINTERENTER = 0x0249; + + public const int WM_POINTERLEAVE = 0x024A; + + public const int WM_POINTERACTIVATE = 0x024B; + + public const int WM_POINTERCAPTURECHANGED = 0x024C; + + public const int WM_TOUCHHITTESTING = 0x024D; + + public const int WM_POINTERWHEEL = 0x024E; + + public const int WM_POINTERHWHEEL = 0x024F; + + public const int DM_POINTERHITTEST = 0x0250; + + public const int WM_POINTERROUTEDTO = 0x0251; + + public const int WM_POINTERROUTEDAWAY = 0x0252; + + public const int WM_POINTERROUTEDRELEASED = 0x0253; + + public const int WM_IME_SETCONTEXT = 0x0281; + + public const int WM_IME_NOTIFY = 0x0282; + + public const int WM_IME_CONTROL = 0x0283; + + public const int WM_IME_COMPOSITIONFULL = 0x0284; + + public const int WM_IME_SELECT = 0x0285; + + public const int WM_IME_CHAR = 0x0286; + + public const int WM_IME_REQUEST = 0x0288; + + public const int WM_IME_KEYDOWN = 0x0290; + + public const int WM_IME_KEYUP = 0x0291; + + public const int WM_MOUSEHOVER = 0x02A1; + + public const int WM_MOUSELEAVE = 0x02A3; + + public const int WM_NCMOUSEHOVER = 0x02A0; + + public const int WM_NCMOUSELEAVE = 0x02A2; + + public const int WM_WTSSESSION_CHANGE = 0x02B1; + + public const int WM_TABLET_FIRST = 0x02c0; + + public const int WM_TABLET_LAST = 0x02df; + + public const int WM_DPICHANGED = 0x02E0; + + public const int WM_DPICHANGED_BEFOREPARENT = 0x02E2; + + public const int WM_DPICHANGED_AFTERPARENT = 0x02E3; + + public const int WM_GETDPISCALEDSIZE = 0x02E4; + + public const int WM_CUT = 0x0300; + + public const int WM_COPY = 0x0301; + + public const int WM_PASTE = 0x0302; + + public const int WM_CLEAR = 0x0303; + + public const int WM_UNDO = 0x0304; + + public const int WM_RENDERFORMAT = 0x0305; + + public const int WM_RENDERALLFORMATS = 0x0306; + + public const int WM_DESTROYCLIPBOARD = 0x0307; + + public const int WM_DRAWCLIPBOARD = 0x0308; + + public const int WM_PAINTCLIPBOARD = 0x0309; + + public const int WM_VSCROLLCLIPBOARD = 0x030A; + + public const int WM_SIZECLIPBOARD = 0x030B; + + public const int WM_ASKCBFORMATNAME = 0x030C; + + public const int WM_CHANGECBCHAIN = 0x030D; + + public const int WM_HSCROLLCLIPBOARD = 0x030E; + + public const int WM_QUERYNEWPALETTE = 0x030F; + + public const int WM_PALETTEISCHANGING = 0x0310; + + public const int WM_PALETTECHANGED = 0x0311; + + public const int WM_HOTKEY = 0x0312; + + public const int WM_PRINT = 0x0317; + + public const int WM_PRINTCLIENT = 0x0318; + + public const int WM_APPCOMMAND = 0x0319; + + public const int WM_THEMECHANGED = 0x031A; + + public const int WM_CLIPBOARDUPDATE = 0x031D; + + public const int WM_DWMCOMPOSITIONCHANGED = 0x031E; + + public const int WM_DWMNCRENDERINGCHANGED = 0x031F; + + public const int WM_DWMCOLORIZATIONCOLORCHANGED = 0x0320; + + public const int WM_DWMWINDOWMAXIMIZEDCHANGE = 0x0321; + + public const int WM_DWMSENDICONICTHUMBNAIL = 0x0323; + + public const int WM_DWMSENDICONICLIVEPREVIEWBITMAP = 0x0326; + + public const int WM_GETTITLEBARINFOEX = 0x033F; + + public const int WM_HANDHELDFIRST = 0x0358; + + public const int WM_HANDHELDLAST = 0x035F; + + public const int WM_AFXFIRST = 0x0360; + + public const int WM_AFXLAST = 0x037F; + + public const int WM_PENWINFIRST = 0x0380; + + public const int WM_PENWINLAST = 0x038F; + + public const int WM_APP = 0x8000; + + public const int WM_USER = 0x0400; + + public const int WMSZ_LEFT = 1; + + public const int WMSZ_RIGHT = 2; + + public const int WMSZ_TOP = 3; + + public const int WMSZ_TOPLEFT = 4; + + public const int WMSZ_TOPRIGHT = 5; + + public const int WMSZ_BOTTOM = 6; + + public const int WMSZ_BOTTOMLEFT = 7; + + public const int WMSZ_BOTTOMRIGHT = 8; + + public const int HTERROR = -2; + + public const int HTTRANSPARENT = -1; + + public const int HTNOWHERE = 0; + + public const int HTCLIENT = 1; + + public const int HTCAPTION = 2; + + public const int HTSYSMENU = 3; + + public const int HTGROWBOX = 4; + + public const int HTSIZE = HTGROWBOX; + + public const int HTMENU = 5; + + public const int HTHSCROLL = 6; + + public const int HTVSCROLL = 7; + + public const int HTMINBUTTON = 8; + + public const int HTMAXBUTTON = 9; + + public const int HTLEFT = 10; + + public const int HTRIGHT = 11; + + public const int HTTOP = 12; + + public const int HTTOPLEFT = 13; + + public const int HTTOPRIGHT = 14; + + public const int HTBOTTOM = 15; + + public const int HTBOTTOMLEFT = 16; + + public const int HTBOTTOMRIGHT = 17; + + public const int HTBORDER = 18; + + public const int HTREDUCE = HTMINBUTTON; + + public const int HTZOOM = HTMAXBUTTON; + + public const int HTSIZEFIRST = HTLEFT; + + public const int HTSIZELAST = HTBOTTOMRIGHT; + + public const int HTOBJECT = 19; + + public const int HTCLOSE = 20; + + public const int HTHELP = 21; + + public const int SMTO_NORMAL = 0x0000; + + public const int SMTO_BLOCK = 0x0001; + + public const int SMTO_ABORTIFHUNG = 0x0002; + + public const int SMTO_NOTIMEOUTIFNOTHUNG = 0x0008; + + public const int SMTO_ERRORONEXIT = 0x0020; + + public const int MA_ACTIVATE = 1; + + public const int MA_ACTIVATEANDEAT = 2; + + public const int MA_NOACTIVATE = 3; + + public const int MA_NOACTIVATEANDEAT = 4; + + public const int ICON_SMALL = 0; + + public const int ICON_BIG = 1; + + public const int ICON_SMALL2 = 2; + + public const int SIZE_RESTORED = 0; + + public const int SIZE_MINIMIZED = 1; + + public const int SIZE_MAXIMIZED = 2; + + public const int SIZE_MAXSHOW = 3; + + public const int SIZE_MAXHIDE = 4; + + public const int SIZENORMAL = SIZE_RESTORED; + + public const int SIZEICONIC = SIZE_MINIMIZED; + + public const int SIZEFULLSCREEN = SIZE_MAXIMIZED; + + public const int SIZEZOOMSHOW = SIZE_MAXSHOW; + + public const int SIZEZOOMHIDE = SIZE_MAXHIDE; + + public const int WVR_ALIGNTOP = 0x0010; + + public const int WVR_ALIGNLEFT = 0x0020; + + public const int WVR_ALIGNBOTTOM = 0x0040; + + public const int WVR_ALIGNRIGHT = 0x0080; + + public const int WVR_HREDRAW = 0x0100; + + public const int WVR_VREDRAW = 0x0200; + + public const int WVR_REDRAW = WVR_HREDRAW | WVR_VREDRAW; + + public const int WVR_VALIDRECTS = 0x0400; + + public const int MK_LBUTTON = 0x0001; + + public const int MK_RBUTTON = 0x0002; + + public const int MK_SHIFT = 0x0004; + + public const int MK_CONTROL = 0x0008; + + public const int MK_MBUTTON = 0x0010; + + public const int MK_XBUTTON1 = 0x0020; + + public const int MK_XBUTTON2 = 0x0040; + + public const uint TME_HOVER = 0x00000001; + + public const uint TME_LEAVE = 0x00000002; + + public const uint TME_NONCLIENT = 0x00000010; + + public const uint TME_QUERY = 0x40000000; + + public const uint TME_CANCEL = 0x80000000; + + public const uint HOVER_DEFAULT = 0xFFFFFFFF; + + public const uint WS_OVERLAPPED = 0x00000000; + + public const uint WS_POPUP = 0x80000000; + + public const uint WS_CHILD = 0x40000000; + + public const uint WS_MINIMIZE = 0x20000000; + + public const uint WS_VISIBLE = 0x10000000; + + public const uint WS_DISABLED = 0x08000000; + + public const uint WS_CLIPSIBLINGS = 0x04000000; + + public const uint WS_CLIPCHILDREN = 0x02000000; + + public const uint WS_MAXIMIZE = 0x01000000; + + public const uint WS_CAPTION = 0x00C00000; + + public const uint WS_BORDER = 0x00800000; + + public const uint WS_DLGFRAME = 0x00400000; + + public const uint WS_VSCROLL = 0x00200000; + + public const uint WS_HSCROLL = 0x00100000; + + public const uint WS_SYSMENU = 0x00080000; + + public const uint WS_THICKFRAME = 0x00040000; + + public const uint WS_GROUP = 0x00020000; + + public const uint WS_TABSTOP = 0x00010000; + + public const uint WS_MINIMIZEBOX = 0x00020000; + + public const uint WS_MAXIMIZEBOX = 0x00010000; + + public const uint WS_TILED = WS_OVERLAPPED; + + public const uint WS_ICONIC = WS_MINIMIZE; + + public const uint WS_SIZEBOX = WS_THICKFRAME; + + public const uint WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW; + + public const uint WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; + + public const uint WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU; + + public const uint WS_CHILDWINDOW = WS_CHILD; + + public const int WS_EX_DLGMODALFRAME = 0x00000001; + + public const int WS_EX_NOPARENTNOTIFY = 0x00000004; + + public const int WS_EX_TOPMOST = 0x00000008; + + public const int WS_EX_ACCEPTFILES = 0x00000010; + + public const int WS_EX_TRANSPARENT = 0x00000020; + + public const int WS_EX_MDICHILD = 0x00000040; + + public const int WS_EX_TOOLWINDOW = 0x00000080; + + public const int WS_EX_WINDOWEDGE = 0x00000100; + + public const int WS_EX_CLIENTEDGE = 0x00000200; + + public const int WS_EX_CONTEXTHELP = 0x00000400; + + public const int WS_EX_RIGHT = 0x00001000; + + public const int WS_EX_LEFT = 0x00000000; + + public const int WS_EX_RTLREADING = 0x00002000; + + public const int WS_EX_LTRREADING = 0x00000000; + + public const int WS_EX_LEFTSCROLLBAR = 0x00004000; + + public const int WS_EX_RIGHTSCROLLBAR = 0x00000000; + + public const int WS_EX_CONTROLPARENT = 0x00010000; + + public const int WS_EX_STATICEDGE = 0x00020000; + + public const int WS_EX_APPWINDOW = 0x00040000; + + public const int WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE; + + public const int WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST; + + public const int WS_EX_NOINHERITLAYOUT = 0x00100000; + + public const int WS_EX_NOREDIRECTIONBITMAP = 0x00200000; + + public const int WS_EX_LAYOUTRTL = 0x00400000; + + public const int WS_EX_COMPOSITED = 0x02000000; + + public const int WS_EX_NOACTIVATE = 0x08000000; + + public const int CS_VREDRAW = 0x0001; + + public const int CS_HREDRAW = 0x0002; + + public const int CS_DBLCLKS = 0x0008; + + public const int CS_OWNDC = 0x0020; + + public const int CS_CLASSDC = 0x0040; + + public const int CS_PARENTDC = 0x0080; + + public const int CS_NOCLOSE = 0x0200; + + public const int CS_SAVEBITS = 0x0800; + + public const int CS_BYTEALIGNCLIENT = 0x1000; + + public const int CS_BYTEALIGNWINDOW = 0x2000; + + public const int CS_GLOBALCLASS = 0x4000; + + public const int CS_IME = 0x00010000; + + public const int CS_DROPSHADOW = 0x00020000; + + public const int PRF_CHECKVISIBLE = 0x00000001; + + public const int PRF_NONCLIENT = 0x00000002; + + public const int PRF_CLIENT = 0x00000004; + + public const int PRF_ERASEBKGND = 0x00000008; + + public const int PRF_CHILDREN = 0x00000010; + + public const int PRF_OWNED = 0x00000020; + + public const int BDR_RAISEDOUTER = 0x0001; + + public const int BDR_SUNKENOUTER = 0x0002; + + public const int BDR_RAISEDINNER = 0x0004; + + public const int BDR_SUNKENINNER = 0x0008; + + public const int BDR_OUTER = BDR_RAISEDOUTER | BDR_SUNKENOUTER; + + public const int BDR_INNER = BDR_RAISEDINNER | BDR_SUNKENINNER; + + public const int BDR_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER; + + public const int BDR_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER; + + public const int EDGE_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER; + + public const int EDGE_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER; + + public const int EDGE_ETCHED = BDR_SUNKENOUTER | BDR_RAISEDINNER; + + public const int EDGE_BUMP = BDR_RAISEDOUTER | BDR_SUNKENINNER; + + public const int BF_LEFT = 0x0001; + + public const int BF_TOP = 0x0002; + + public const int BF_RIGHT = 0x0004; + + public const int BF_BOTTOM = 0x0008; + + public const int BF_TOPLEFT = BF_TOP | BF_LEFT; + + public const int BF_TOPRIGHT = BF_TOP | BF_RIGHT; + + public const int BF_BOTTOMLEFT = BF_BOTTOM | BF_LEFT; + + public const int BF_BOTTOMRIGHT = BF_BOTTOM | BF_RIGHT; + + public const int BF_RECT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM; + + public const int BF_DIAGONAL = 0x0010; + + public const int BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL | BF_TOP | BF_RIGHT; + + public const int BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL | BF_TOP | BF_LEFT; + + public const int BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT; + + public const int BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT; + + public const int BF_MIDDLE = 0x0800; + + public const int BF_SOFT = 0x1000; + + public const int BF_ADJUST = 0x2000; + + public const int BF_FLAT = 0x4000; + + public const int BF_MONO = 0x8000; + + public const int DFC_CAPTION = 1; + + public const int DFC_MENU = 2; + + public const int DFC_SCROLL = 3; + + public const int DFC_BUTTON = 4; + + public const int DFC_POPUPMENU = 5; + + public const int DFCS_CAPTIONCLOSE = 0x0000; + + public const int DFCS_CAPTIONMIN = 0x0001; + + public const int DFCS_CAPTIONMAX = 0x0002; + + public const int DFCS_CAPTIONRESTORE = 0x0003; + + public const int DFCS_CAPTIONHELP = 0x0004; + + public const int DFCS_MENUARROW = 0x0000; + + public const int DFCS_MENUCHECK = 0x0001; + + public const int DFCS_MENUBULLET = 0x0002; + + public const int DFCS_MENUARROWRIGHT = 0x0004; + + public const int DFCS_SCROLLUP = 0x0000; + + public const int DFCS_SCROLLDOWN = 0x0001; + + public const int DFCS_SCROLLLEFT = 0x0002; + + public const int DFCS_SCROLLRIGHT = 0x0003; + + public const int DFCS_SCROLLCOMBOBOX = 0x0005; + + public const int DFCS_SCROLLSIZEGRIP = 0x0008; + + public const int DFCS_SCROLLSIZEGRIPRIGHT = 0x0010; + + public const int DFCS_BUTTONCHECK = 0x0000; + + public const int DFCS_BUTTONRADIOIMAGE = 0x0001; + + public const int DFCS_BUTTONRADIOMASK = 0x0002; + + public const int DFCS_BUTTONRADIO = 0x0004; + + public const int DFCS_BUTTON3STATE = 0x0008; + + public const int DFCS_BUTTONPUSH = 0x0010; + + public const int DFCS_INACTIVE = 0x0100; + + public const int DFCS_PUSHED = 0x0200; + + public const int DFCS_CHECKED = 0x0400; + + public const int DFCS_TRANSPARENT = 0x0800; + + public const int DFCS_HOT = 0x1000; + + public const int DFCS_ADJUSTRECT = 0x2000; + + public const int DFCS_FLAT = 0x4000; + + public const int DFCS_MONO = 0x8000; + + public const int DC_ACTIVE = 0x0001; + + public const int DC_SMALLCAP = 0x0002; + + public const int DC_ICON = 0x0004; + + public const int DC_TEXT = 0x0008; + + public const int DC_INBUTTON = 0x0010; + + public const int DC_GRADIENT = 0x0020; + + public const int DC_BUTTONS = 0x1000; + + public const int IDANI_OPEN = 1; + + public const int IDANI_CAPTION = 3; + + public const int CF_TEXT = 1; + + public const int CF_BITMAP = 2; + + public const int CF_METAFILEPICT = 3; + + public const int CF_SYLK = 4; + + public const int CF_DIF = 5; + + public const int CF_TIFF = 6; + + public const int CF_OEMTEXT = 7; + + public const int CF_DIB = 8; + + public const int CF_PALETTE = 9; + + public const int CF_PENDATA = 10; + + public const int CF_RIFF = 11; + + public const int CF_WAVE = 12; + + public const int CF_UNICODETEXT = 13; + + public const int CF_ENHMETAFILE = 14; + + public const int CF_HDROP = 15; + + public const int CF_LOCALE = 16; + + public const int CF_DIBV5 = 17; + + public const int CF_MAX = 18; + + public const int CF_OWNERDISPLAY = 0x0080; + + public const int CF_DSPTEXT = 0x0081; + + public const int CF_DSPBITMAP = 0x0082; + + public const int CF_DSPMETAFILEPICT = 0x0083; + + public const int CF_DSPENHMETAFILE = 0x008E; + + public const int CF_PRIVATEFIRST = 0x0200; + + public const int CF_PRIVATELAST = 0x02FF; + + public const int CF_GDIOBJFIRST = 0x0300; + + public const int CF_GDIOBJLAST = 0x03FF; + + public const int FVIRTKEY = TRUE; + + public const int FNOINVERT = 0x02; + + public const int FSHIFT = 0x04; + + public const int FCONTROL = 0x08; + + public const int FALT = 0x10; + + public const int WPF_SETMINPOSITION = 0x0001; + + public const int WPF_RESTORETOMAXIMIZED = 0x0002; + + public const int WPF_ASYNCWINDOWPLACEMENT = 0x0004; + + public const int ODT_MENU = 1; + + public const int ODT_LISTBOX = 2; + + public const int ODT_COMBOBOX = 3; + + public const int ODT_BUTTON = 4; + + public const int ODT_STATIC = 5; + + public const int ODA_DRAWENTIRE = 0x0001; + + public const int ODA_SELECT = 0x0002; + + public const int ODA_FOCUS = 0x0004; + + public const int ODS_SELECTED = 0x0001; + + public const int ODS_GRAYED = 0x0002; + + public const int ODS_DISABLED = 0x0004; + + public const int ODS_CHECKED = 0x0008; + + public const int ODS_FOCUS = 0x0010; + + public const int ODS_DEFAULT = 0x0020; + + public const int ODS_COMBOBOXEDIT = 0x1000; + + public const int ODS_HOTLIGHT = 0x0040; + + public const int ODS_INACTIVE = 0x0080; + + public const int ODS_NOACCEL = 0x0100; + + public const int ODS_NOFOCUSRECT = 0x0200; + + public const int PM_NOREMOVE = 0x0000; + + public const int PM_REMOVE = 0x0001; + + public const int PM_NOYIELD = 0x0002; + + public const int PM_QS_INPUT = QS_INPUT << 16; + + public const int PM_QS_POSTMESSAGE = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16; + + public const int PM_QS_PAINT = QS_PAINT << 16; + + public const int PM_QS_SENDMESSAGE = QS_SENDMESSAGE << 16; + + public const int MOD_ALT = 0x0001; + + public const int MOD_CONTROL = 0x0002; + + public const int MOD_SHIFT = 0x0004; + + public const int MOD_WIN = 0x0008; + + public const int MOD_NOREPEAT = 0x4000; + + public const int IDHOT_SNAPWINDOW = -1; + + public const int IDHOT_SNAPDESKTOP = -2; + + public const uint ENDSESSION_CLOSEAPP = 0x00000001; + + public const uint ENDSESSION_CRITICAL = 0x40000000; + + public const uint ENDSESSION_LOGOFF = 0x80000000; + + public const int EWX_LOGOFF = 0x00000000; + + public const int EWX_SHUTDOWN = 0x00000001; + + public const int EWX_REBOOT = 0x00000002; + + public const int EWX_FORCE = 0x00000004; + + public const int EWX_POWEROFF = 0x00000008; + + public const int EWX_FORCEIFHUNG = 0x00000010; + + public const int EWX_QUICKRESOLVE = 0x00000020; + + public const int EWX_RESTARTAPPS = 0x00000040; + + public const int EWX_HYBRID_SHUTDOWN = 0x00400000; + + public const int EWX_BOOTOPTIONS = 0x01000000; + + public const int BSM_ALLCOMPONENTS = 0x00000000; + + public const int BSM_VXDS = 0x00000001; + + public const int BSM_NETDRIVER = 0x00000002; + + public const int BSM_INSTALLABLEDRIVERS = 0x00000004; + + public const int BSM_APPLICATIONS = 0x00000008; + + public const int BSM_ALLDESKTOPS = 0x00000010; + + public const int BSF_QUERY = 0x00000001; + + public const int BSF_IGNORECURRENTTASK = 0x00000002; + + public const int BSF_FLUSHDISK = 0x00000004; + + public const int BSF_NOHANG = 0x00000008; + + public const int BSF_POSTMESSAGE = 0x00000010; + + public const int BSF_FORCEIFHUNG = 0x00000020; + + public const int BSF_NOTIMEOUTIFNOTHUNG = 0x00000040; + + public const int BSF_ALLOWSFW = 0x00000080; + + public const int BSF_SENDNOTIFYMESSAGE = 0x00000100; + + public const int BSF_RETURNHDESK = 0x00000200; + + public const int BSF_LUID = 0x00000400; + + public const int BROADCAST_QUERY_DENY = 0x424D5144; + + public const int DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000; + + public const int DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001; + + public const int DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004; + + [NativeTypeName("HWND")] + public const int HWND_BROADCAST = 0xFFFF; + + [NativeTypeName("HWND")] + public const int HWND_MESSAGE = -3; + + public const int ISMEX_NOSEND = 0x00000000; + + public const int ISMEX_SEND = 0x00000001; + + public const int ISMEX_NOTIFY = 0x00000002; + + public const int ISMEX_CALLBACK = 0x00000004; + + public const int ISMEX_REPLIED = 0x00000008; + + public const int CW_USEDEFAULT = unchecked((int)0x80000000); + + [NativeTypeName("HWND")] + public const int HWND_DESKTOP = 0; + + public const int PW_CLIENTONLY = 0x00000001; + + public const int PW_RENDERFULLCONTENT = 0x00000002; + + public const int LWA_COLORKEY = 0x00000001; + + public const int LWA_ALPHA = 0x00000002; + + public const int ULW_COLORKEY = 0x00000001; + + public const int ULW_ALPHA = 0x00000002; + + public const int ULW_OPAQUE = 0x00000004; + + public const int ULW_EX_NORESIZE = 0x00000008; + + public const int FLASHW_STOP = 0; + + public const int FLASHW_CAPTION = 0x00000001; + + public const int FLASHW_TRAY = 0x00000002; + + public const int FLASHW_ALL = FLASHW_CAPTION | FLASHW_TRAY; + + public const int FLASHW_TIMER = 0x00000004; + + public const int FLASHW_TIMERNOFG = 0x0000000C; + + public const int WDA_NONE = 0x00000000; + + public const int WDA_MONITOR = 0x00000001; + + public const int SWP_NOSIZE = 0x0001; + + public const int SWP_NOMOVE = 0x0002; + + public const int SWP_NOZORDER = 0x0004; + + public const int SWP_NOREDRAW = 0x0008; + + public const int SWP_NOACTIVATE = 0x0010; + + public const int SWP_FRAMECHANGED = 0x0020; + + public const int SWP_SHOWWINDOW = 0x0040; + + public const int SWP_HIDEWINDOW = 0x0080; + + public const int SWP_NOCOPYBITS = 0x0100; + + public const int SWP_NOOWNERZORDER = 0x0200; + + public const int SWP_NOSENDCHANGING = 0x0400; + + public const int SWP_DRAWFRAME = SWP_FRAMECHANGED; + + public const int SWP_NOREPOSITION = SWP_NOOWNERZORDER; + + public const int SWP_DEFERERASE = 0x2000; + + public const int SWP_ASYNCWINDOWPOS = 0x4000; + + [NativeTypeName("HWND")] + public const int HWND_TOP = 0; + + [NativeTypeName("HWND")] + public const int HWND_BOTTOM = 1; + + [NativeTypeName("HWND")] + public const int HWND_TOPMOST = -1; + + [NativeTypeName("HWND")] + public const int HWND_NOTOPMOST = -2; + + public const int DLGWINDOWEXTRA = 30; + + public const int KEYEVENTF_EXTENDEDKEY = 0x0001; + + public const int KEYEVENTF_KEYUP = 0x0002; + + public const int KEYEVENTF_UNICODE = 0x0004; + + public const int KEYEVENTF_SCANCODE = 0x0008; + + public const int MOUSEEVENTF_MOVE = 0x0001; + + public const int MOUSEEVENTF_LEFTDOWN = 0x0002; + + public const int MOUSEEVENTF_LEFTUP = 0x0004; + + public const int MOUSEEVENTF_RIGHTDOWN = 0x0008; + + public const int MOUSEEVENTF_RIGHTUP = 0x0010; + + public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; + + public const int MOUSEEVENTF_MIDDLEUP = 0x0040; + + public const int MOUSEEVENTF_XDOWN = 0x0080; + + public const int MOUSEEVENTF_XUP = 0x0100; + + public const int MOUSEEVENTF_WHEEL = 0x0800; + + public const int MOUSEEVENTF_HWHEEL = 0x01000; + + public const int MOUSEEVENTF_MOVE_NOCOALESCE = 0x2000; + + public const int MOUSEEVENTF_VIRTUALDESK = 0x4000; + + public const int MOUSEEVENTF_ABSOLUTE = 0x8000; + + public const int INPUT_MOUSE = 0; + + public const int INPUT_KEYBOARD = 1; + + public const int INPUT_HARDWARE = 2; + + public const int TOUCHEVENTF_MOVE = 0x0001; + + public const int TOUCHEVENTF_DOWN = 0x0002; + + public const int TOUCHEVENTF_UP = 0x0004; + + public const int TOUCHEVENTF_INRANGE = 0x0008; + + public const int TOUCHEVENTF_PRIMARY = 0x0010; + + public const int TOUCHEVENTF_NOCOALESCE = 0x0020; + + public const int TOUCHEVENTF_PEN = 0x0040; + + public const int TOUCHEVENTF_PALM = 0x0080; + + public const int TOUCHINPUTMASKF_TIMEFROMSYSTEM = 0x0001; + + public const int TOUCHINPUTMASKF_EXTRAINFO = 0x0002; + + public const int TOUCHINPUTMASKF_CONTACTAREA = 0x0004; + + public const int TWF_FINETOUCH = 0x00000001; + + public const int TWF_WANTPALM = 0x00000002; + + public const int POINTER_FLAG_NONE = 0x00000000; + + public const int POINTER_FLAG_NEW = 0x00000001; + + public const int POINTER_FLAG_INRANGE = 0x00000002; + + public const int POINTER_FLAG_INCONTACT = 0x00000004; + + public const int POINTER_FLAG_FIRSTBUTTON = 0x00000010; + + public const int POINTER_FLAG_SECONDBUTTON = 0x00000020; + + public const int POINTER_FLAG_THIRDBUTTON = 0x00000040; + + public const int POINTER_FLAG_FOURTHBUTTON = 0x00000080; + + public const int POINTER_FLAG_FIFTHBUTTON = 0x00000100; + + public const int POINTER_FLAG_PRIMARY = 0x00002000; + + public const int POINTER_FLAG_CONFIDENCE = 0x00004000; + + public const int POINTER_FLAG_CANCELED = 0x00008000; + + public const int POINTER_FLAG_DOWN = 0x00010000; + + public const int POINTER_FLAG_UPDATE = 0x00020000; + + public const int POINTER_FLAG_UP = 0x00040000; + + public const int POINTER_FLAG_WHEEL = 0x00080000; + + public const int POINTER_FLAG_HWHEEL = 0x00100000; + + public const int POINTER_FLAG_CAPTURECHANGED = 0x00200000; + + public const int POINTER_FLAG_HASTRANSFORM = 0x00400000; + + public const int POINTER_MOD_SHIFT = 0x0004; + + public const int POINTER_MOD_CTRL = 0x0008; + + public const int TOUCH_FLAG_NONE = 0x00000000; + + public const int TOUCH_MASK_NONE = 0x00000000; + + public const int TOUCH_MASK_CONTACTAREA = 0x00000001; + + public const int TOUCH_MASK_ORIENTATION = 0x00000002; + + public const int TOUCH_MASK_PRESSURE = 0x00000004; + + public const int PEN_FLAG_NONE = 0x00000000; + + public const int PEN_FLAG_BARREL = 0x00000001; + + public const int PEN_FLAG_INVERTED = 0x00000002; + + public const int PEN_FLAG_ERASER = 0x00000004; + + public const int PEN_MASK_NONE = 0x00000000; + + public const int PEN_MASK_PRESSURE = 0x00000001; + + public const int PEN_MASK_ROTATION = 0x00000002; + + public const int PEN_MASK_TILT_X = 0x00000004; + + public const int PEN_MASK_TILT_Y = 0x00000008; + + public const int POINTER_MESSAGE_FLAG_NEW = 0x00000001; + + public const int POINTER_MESSAGE_FLAG_INRANGE = 0x00000002; + + public const int POINTER_MESSAGE_FLAG_INCONTACT = 0x00000004; + + public const int POINTER_MESSAGE_FLAG_FIRSTBUTTON = 0x00000010; + + public const int POINTER_MESSAGE_FLAG_SECONDBUTTON = 0x00000020; + + public const int POINTER_MESSAGE_FLAG_THIRDBUTTON = 0x00000040; + + public const int POINTER_MESSAGE_FLAG_FOURTHBUTTON = 0x00000080; + + public const int POINTER_MESSAGE_FLAG_FIFTHBUTTON = 0x00000100; + + public const int POINTER_MESSAGE_FLAG_PRIMARY = 0x00002000; + + public const int POINTER_MESSAGE_FLAG_CONFIDENCE = 0x00004000; + + public const int POINTER_MESSAGE_FLAG_CANCELED = 0x00008000; + + public const int PA_ACTIVATE = MA_ACTIVATE; + + public const int PA_NOACTIVATE = MA_NOACTIVATE; + + public const int MAX_TOUCH_COUNT = 256; + + public const int TOUCH_FEEDBACK_DEFAULT = 0x1; + + public const int TOUCH_FEEDBACK_INDIRECT = 0x2; + + public const int TOUCH_FEEDBACK_NONE = 0x3; + + public const int TOUCH_HIT_TESTING_DEFAULT = 0x0; + + public const int TOUCH_HIT_TESTING_CLIENT = 0x1; + + public const int TOUCH_HIT_TESTING_NONE = 0x2; + + public const int TOUCH_HIT_TESTING_PROXIMITY_CLOSEST = 0x0; + + public const int TOUCH_HIT_TESTING_PROXIMITY_FARTHEST = 0xFFF; + + public const int GWFS_INCLUDE_ANCESTORS = 0x00000001; + + public const int MAPVK_VK_TO_VSC = 0; + + public const int MAPVK_VSC_TO_VK = 1; + + public const int MAPVK_VK_TO_CHAR = 2; + + public const int MAPVK_VSC_TO_VK_EX = 3; + + public const int MAPVK_VK_TO_VSC_EX = 4; + + public const int MWMO_WAITALL = 0x0001; + + public const int MWMO_ALERTABLE = 0x0002; + + public const int MWMO_INPUTAVAILABLE = 0x0004; + + public const int QS_KEY = 0x0001; + + public const int QS_MOUSEMOVE = 0x0002; + + public const int QS_MOUSEBUTTON = 0x0004; + + public const int QS_POSTMESSAGE = 0x0008; + + public const int QS_TIMER = 0x0010; + + public const int QS_PAINT = 0x0020; + + public const int QS_SENDMESSAGE = 0x0040; + + public const int QS_HOTKEY = 0x0080; + + public const int QS_ALLPOSTMESSAGE = 0x0100; + + public const int QS_RAWINPUT = 0x0400; + + public const int QS_TOUCH = 0x0800; + + public const int QS_POINTER = 0x1000; + + public const int QS_MOUSE = QS_MOUSEMOVE | QS_MOUSEBUTTON; + + public const int QS_INPUT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER; + + public const int QS_ALLEVENTS = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY; + + public const int QS_ALLINPUT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE; + + public const int USER_TIMER_MAXIMUM = 0x7FFFFFFF; + + public const int USER_TIMER_MINIMUM = 0x0000000A; + + public const uint TIMERV_DEFAULT_COALESCING = 0; + + public const uint TIMERV_NO_COALESCING = 0xFFFFFFFF; + + public const uint TIMERV_COALESCING_MIN = 1; + + public const uint TIMERV_COALESCING_MAX = 0x7FFFFFF5; + + public const int SM_CXSCREEN = 0; + + public const int SM_CYSCREEN = 1; + + public const int SM_CXVSCROLL = 2; + + public const int SM_CYHSCROLL = 3; + + public const int SM_CYCAPTION = 4; + + public const int SM_CXBORDER = 5; + + public const int SM_CYBORDER = 6; + + public const int SM_CXDLGFRAME = 7; + + public const int SM_CYDLGFRAME = 8; + + public const int SM_CYVTHUMB = 9; + + public const int SM_CXHTHUMB = 10; + + public const int SM_CXICON = 11; + + public const int SM_CYICON = 12; + + public const int SM_CXCURSOR = 13; + + public const int SM_CYCURSOR = 14; + + public const int SM_CYMENU = 15; + + public const int SM_CXFULLSCREEN = 16; + + public const int SM_CYFULLSCREEN = 17; + + public const int SM_CYKANJIWINDOW = 18; + + public const int SM_MOUSEPRESENT = 19; + + public const int SM_CYVSCROLL = 20; + + public const int SM_CXHSCROLL = 21; + + public const int SM_DEBUG = 22; + + public const int SM_SWAPBUTTON = 23; + + public const int SM_RESERVED1 = 24; + + public const int SM_RESERVED2 = 25; + + public const int SM_RESERVED3 = 26; + + public const int SM_RESERVED4 = 27; + + public const int SM_CXMIN = 28; + + public const int SM_CYMIN = 29; + + public const int SM_CXSIZE = 30; + + public const int SM_CYSIZE = 31; + + public const int SM_CXFRAME = 32; + + public const int SM_CYFRAME = 33; + + public const int SM_CXMINTRACK = 34; + + public const int SM_CYMINTRACK = 35; + + public const int SM_CXDOUBLECLK = 36; + + public const int SM_CYDOUBLECLK = 37; + + public const int SM_CXICONSPACING = 38; + + public const int SM_CYICONSPACING = 39; + + public const int SM_MENUDROPALIGNMENT = 40; + + public const int SM_PENWINDOWS = 41; + + public const int SM_DBCSENABLED = 42; + + public const int SM_CMOUSEBUTTONS = 43; + + public const int SM_CXFIXEDFRAME = SM_CXDLGFRAME; + + public const int SM_CYFIXEDFRAME = SM_CYDLGFRAME; + + public const int SM_CXSIZEFRAME = SM_CXFRAME; + + public const int SM_CYSIZEFRAME = SM_CYFRAME; + + public const int SM_SECURE = 44; + + public const int SM_CXEDGE = 45; + + public const int SM_CYEDGE = 46; + + public const int SM_CXMINSPACING = 47; + + public const int SM_CYMINSPACING = 48; + + public const int SM_CXSMICON = 49; + + public const int SM_CYSMICON = 50; + + public const int SM_CYSMCAPTION = 51; + + public const int SM_CXSMSIZE = 52; + + public const int SM_CYSMSIZE = 53; + + public const int SM_CXMENUSIZE = 54; + + public const int SM_CYMENUSIZE = 55; + + public const int SM_ARRANGE = 56; + + public const int SM_CXMINIMIZED = 57; + + public const int SM_CYMINIMIZED = 58; + + public const int SM_CXMAXTRACK = 59; + + public const int SM_CYMAXTRACK = 60; + + public const int SM_CXMAXIMIZED = 61; + + public const int SM_CYMAXIMIZED = 62; + + public const int SM_NETWORK = 63; + + public const int SM_CLEANBOOT = 67; + + public const int SM_CXDRAG = 68; + + public const int SM_CYDRAG = 69; + + public const int SM_SHOWSOUNDS = 70; + + public const int SM_CXMENUCHECK = 71; + + public const int SM_CYMENUCHECK = 72; + + public const int SM_SLOWMACHINE = 73; + + public const int SM_MIDEASTENABLED = 74; + + public const int SM_MOUSEWHEELPRESENT = 75; + + public const int SM_XVIRTUALSCREEN = 76; + + public const int SM_YVIRTUALSCREEN = 77; + + public const int SM_CXVIRTUALSCREEN = 78; + + public const int SM_CYVIRTUALSCREEN = 79; + + public const int SM_CMONITORS = 80; + + public const int SM_SAMEDISPLAYFORMAT = 81; + + public const int SM_IMMENABLED = 82; + + public const int SM_CXFOCUSBORDER = 83; + + public const int SM_CYFOCUSBORDER = 84; + + public const int SM_TABLETPC = 86; + + public const int SM_MEDIACENTER = 87; + + public const int SM_STARTER = 88; + + public const int SM_SERVERR2 = 89; + + public const int SM_MOUSEHORIZONTALWHEELPRESENT = 91; + + public const int SM_CXPADDEDBORDER = 92; + + public const int SM_DIGITIZER = 94; + + public const int SM_MAXIMUMTOUCHES = 95; + + public const int SM_CMETRICS = 97; + + public const int SM_REMOTESESSION = 0x1000; + + public const int SM_SHUTTINGDOWN = 0x2000; + + public const int SM_REMOTECONTROL = 0x2001; + + public const int SM_CARETBLINKINGENABLED = 0x2002; + + public const int SM_CONVERTIBLESLATEMODE = 0x2003; + + public const int SM_SYSTEMDOCKED = 0x2004; + + public const int PMB_ACTIVE = 0x00000001; + + public const int MNC_IGNORE = 0; + + public const int MNC_CLOSE = 1; + + public const int MNC_EXECUTE = 2; + + public const int MNC_SELECT = 3; + + public const uint MNS_NOCHECK = 0x80000000; + + public const uint MNS_MODELESS = 0x40000000; + + public const uint MNS_DRAGDROP = 0x20000000; + + public const uint MNS_AUTODISMISS = 0x10000000; + + public const uint MNS_NOTIFYBYPOS = 0x08000000; + + public const uint MNS_CHECKORBMP = 0x04000000; + + public const uint MIM_MAXHEIGHT = 0x00000001; + + public const uint MIM_BACKGROUND = 0x00000002; + + public const uint MIM_HELPID = 0x00000004; + + public const uint MIM_MENUDATA = 0x00000008; + + public const uint MIM_STYLE = 0x00000010; + + public const uint MIM_APPLYTOSUBMENUS = 0x80000000; + + public const int MND_CONTINUE = 0; + + public const int MND_ENDMENU = 1; + + public const int MNGOF_TOPGAP = 0x00000001; + + public const int MNGOF_BOTTOMGAP = 0x00000002; + + public const int MNGO_NOINTERFACE = 0x00000000; + + public const int MNGO_NOERROR = 0x00000001; + + public const int MIIM_STATE = 0x00000001; + + public const int MIIM_ID = 0x00000002; + + public const int MIIM_SUBMENU = 0x00000004; + + public const int MIIM_CHECKMARKS = 0x00000008; + + public const int MIIM_TYPE = 0x00000010; + + public const int MIIM_DATA = 0x00000020; + + public const int MIIM_STRING = 0x00000040; + + public const int MIIM_BITMAP = 0x00000080; + + public const int MIIM_FTYPE = 0x00000100; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_CALLBACK = -1; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_SYSTEM = 1; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_MBAR_RESTORE = 2; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_MBAR_MINIMIZE = 3; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_MBAR_CLOSE = 5; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_MBAR_CLOSE_D = 6; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_MBAR_MINIMIZE_D = 7; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_POPUP_CLOSE = 8; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_POPUP_RESTORE = 9; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_POPUP_MAXIMIZE = 10; + + [NativeTypeName("HBITMAP")] + public const int HBMMENU_POPUP_MINIMIZE = 11; + + public const int TPM_LEFTBUTTON = 0x0000; + + public const int TPM_RIGHTBUTTON = 0x0002; + + public const int TPM_LEFTALIGN = 0x0000; + + public const int TPM_CENTERALIGN = 0x0004; + + public const int TPM_RIGHTALIGN = 0x0008; + + public const int TPM_TOPALIGN = 0x0000; + + public const int TPM_VCENTERALIGN = 0x0010; + + public const int TPM_BOTTOMALIGN = 0x0020; + + public const int TPM_HORIZONTAL = 0x0000; + + public const int TPM_VERTICAL = 0x0040; + + public const int TPM_NONOTIFY = 0x0080; + + public const int TPM_RETURNCMD = 0x0100; + + public const int TPM_RECURSE = 0x0001; + + public const int TPM_HORPOSANIMATION = 0x0400; + + public const int TPM_HORNEGANIMATION = 0x0800; + + public const int TPM_VERPOSANIMATION = 0x1000; + + public const int TPM_VERNEGANIMATION = 0x2000; + + public const int TPM_NOANIMATION = 0x4000; + + public const int TPM_LAYOUTRTL = 0x8000; + + public const int TPM_WORKAREA = 0x10000; + + public const int DOF_EXECUTABLE = 0x8001; + + public const int DOF_DOCUMENT = 0x8002; + + public const int DOF_DIRECTORY = 0x8003; + + public const int DOF_MULTIPLE = 0x8004; + + public const int DOF_PROGMAN = 0x0001; + + public const int DOF_SHELLDATA = 0x0002; + + public const int DO_DROPFILE = 0x454C4946; + + public const int DO_PRINTFILE = 0x544E5250; + + public const int DT_TOP = 0x00000000; + + public const int DT_LEFT = 0x00000000; + + public const int DT_CENTER = 0x00000001; + + public const int DT_RIGHT = 0x00000002; + + public const int DT_VCENTER = 0x00000004; + + public const int DT_BOTTOM = 0x00000008; + + public const int DT_WORDBREAK = 0x00000010; + + public const int DT_SINGLELINE = 0x00000020; + + public const int DT_EXPANDTABS = 0x00000040; + + public const int DT_TABSTOP = 0x00000080; + + public const int DT_NOCLIP = 0x00000100; + + public const int DT_EXTERNALLEADING = 0x00000200; + + public const int DT_CALCRECT = 0x00000400; + + public const int DT_NOPREFIX = 0x00000800; + + public const int DT_INTERNAL = 0x00001000; + + public const int DT_EDITCONTROL = 0x00002000; + + public const int DT_PATH_ELLIPSIS = 0x00004000; + + public const int DT_END_ELLIPSIS = 0x00008000; + + public const int DT_MODIFYSTRING = 0x00010000; + + public const int DT_RTLREADING = 0x00020000; + + public const int DT_WORD_ELLIPSIS = 0x00040000; + + public const int DT_NOFULLWIDTHCHARBREAK = 0x00080000; + + public const int DT_HIDEPREFIX = 0x00100000; + + public const int DT_PREFIXONLY = 0x00200000; + + public const int DST_COMPLEX = 0x0000; + + public const int DST_TEXT = 0x0001; + + public const int DST_PREFIXTEXT = 0x0002; + + public const int DST_ICON = 0x0003; + + public const int DST_BITMAP = 0x0004; + + public const int DSS_NORMAL = 0x0000; + + public const int DSS_UNION = 0x0010; + + public const int DSS_DISABLED = 0x0020; + + public const int DSS_MONO = 0x0080; + + public const int DSS_HIDEPREFIX = 0x0200; + + public const int DSS_PREFIXONLY = 0x0400; + + public const int DSS_RIGHT = 0x8000; + + public const uint ASFW_ANY = unchecked((uint)-1); + + public const int LSFW_LOCK = 1; + + public const int LSFW_UNLOCK = 2; + + public const int DCX_WINDOW = 0x00000001; + + public const int DCX_CACHE = 0x00000002; + + public const int DCX_NORESETATTRS = 0x00000004; + + public const int DCX_CLIPCHILDREN = 0x00000008; + + public const int DCX_CLIPSIBLINGS = 0x00000010; + + public const int DCX_PARENTCLIP = 0x00000020; + + public const int DCX_EXCLUDERGN = 0x00000040; + + public const int DCX_INTERSECTRGN = 0x00000080; + + public const int DCX_EXCLUDEUPDATE = 0x00000100; + + public const int DCX_INTERSECTUPDATE = 0x00000200; + + public const int DCX_LOCKWINDOWUPDATE = 0x00000400; + + public const int DCX_VALIDATE = 0x00200000; + + public const int RDW_INVALIDATE = 0x0001; + + public const int RDW_INTERNALPAINT = 0x0002; + + public const int RDW_ERASE = 0x0004; + + public const int RDW_VALIDATE = 0x0008; + + public const int RDW_NOINTERNALPAINT = 0x0010; + + public const int RDW_NOERASE = 0x0020; + + public const int RDW_NOCHILDREN = 0x0040; + + public const int RDW_ALLCHILDREN = 0x0080; + + public const int RDW_UPDATENOW = 0x0100; + + public const int RDW_ERASENOW = 0x0200; + + public const int RDW_FRAME = 0x0400; + + public const int RDW_NOFRAME = 0x0800; + + public const int SW_SCROLLCHILDREN = 0x0001; + + public const int SW_INVALIDATE = 0x0002; + + public const int SW_ERASE = 0x0004; + + public const int SW_SMOOTHSCROLL = 0x0010; + + public const int ESB_ENABLE_BOTH = 0x0000; + + public const int ESB_DISABLE_BOTH = 0x0003; + + public const int ESB_DISABLE_LEFT = 0x0001; + + public const int ESB_DISABLE_RIGHT = 0x0002; + + public const int ESB_DISABLE_UP = 0x0001; + + public const int ESB_DISABLE_DOWN = 0x0002; + + public const int ESB_DISABLE_LTUP = ESB_DISABLE_LEFT; + + public const int ESB_DISABLE_RTDN = ESB_DISABLE_RIGHT; + + public const int HELPINFO_WINDOW = 0x0001; + + public const int HELPINFO_MENUITEM = 0x0002; + + public const int MB_OK = 0x00000000; + + public const int MB_OKCANCEL = 0x00000001; + + public const int MB_ABORTRETRYIGNORE = 0x00000002; + + public const int MB_YESNOCANCEL = 0x00000003; + + public const int MB_YESNO = 0x00000004; + + public const int MB_RETRYCANCEL = 0x00000005; + + public const int MB_CANCELTRYCONTINUE = 0x00000006; + + public const int MB_ICONHAND = 0x00000010; + + public const int MB_ICONQUESTION = 0x00000020; + + public const int MB_ICONEXCLAMATION = 0x00000030; + + public const int MB_ICONASTERISK = 0x00000040; + + public const int MB_USERICON = 0x00000080; + + public const int MB_ICONWARNING = MB_ICONEXCLAMATION; + + public const int MB_ICONERROR = MB_ICONHAND; + + public const int MB_ICONINFORMATION = MB_ICONASTERISK; + + public const int MB_ICONSTOP = MB_ICONHAND; + + public const int MB_DEFBUTTON1 = 0x00000000; + + public const int MB_DEFBUTTON2 = 0x00000100; + + public const int MB_DEFBUTTON3 = 0x00000200; + + public const int MB_DEFBUTTON4 = 0x00000300; + + public const int MB_APPLMODAL = 0x00000000; + + public const int MB_SYSTEMMODAL = 0x00001000; + + public const int MB_TASKMODAL = 0x00002000; + + public const int MB_HELP = 0x00004000; + + public const int MB_NOFOCUS = 0x00008000; + + public const int MB_SETFOREGROUND = 0x00010000; + + public const int MB_DEFAULT_DESKTOP_ONLY = 0x00020000; + + public const int MB_TOPMOST = 0x00040000; + + public const int MB_RIGHT = 0x00080000; + + public const int MB_RTLREADING = 0x00100000; + + public const int MB_SERVICE_NOTIFICATION = 0x00200000; + + public const int MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; + + public const int MB_TYPEMASK = 0x0000000F; + + public const int MB_ICONMASK = 0x000000F0; + + public const int MB_DEFMASK = 0x00000F00; + + public const int MB_MODEMASK = 0x00003000; + + public const int MB_MISCMASK = 0x0000C000; + + public const int CWP_ALL = 0x0000; + + public const int CWP_SKIPINVISIBLE = 0x0001; + + public const int CWP_SKIPDISABLED = 0x0002; + + public const int CWP_SKIPTRANSPARENT = 0x0004; + + public const int CTLCOLOR_MSGBOX = 0; + + public const int CTLCOLOR_EDIT = 1; + + public const int CTLCOLOR_LISTBOX = 2; + + public const int CTLCOLOR_BTN = 3; + + public const int CTLCOLOR_DLG = 4; + + public const int CTLCOLOR_SCROLLBAR = 5; + + public const int CTLCOLOR_STATIC = 6; + + public const int CTLCOLOR_MAX = 7; + + public const int COLOR_SCROLLBAR = 0; + + public const int COLOR_BACKGROUND = 1; + + public const int COLOR_ACTIVECAPTION = 2; + + public const int COLOR_INACTIVECAPTION = 3; + + public const int COLOR_MENU = 4; + + public const int COLOR_WINDOW = 5; + + public const int COLOR_WINDOWFRAME = 6; + + public const int COLOR_MENUTEXT = 7; + + public const int COLOR_WINDOWTEXT = 8; + + public const int COLOR_CAPTIONTEXT = 9; + + public const int COLOR_ACTIVEBORDER = 10; + + public const int COLOR_INACTIVEBORDER = 11; + + public const int COLOR_APPWORKSPACE = 12; + + public const int COLOR_HIGHLIGHT = 13; + + public const int COLOR_HIGHLIGHTTEXT = 14; + + public const int COLOR_BTNFACE = 15; + + public const int COLOR_BTNSHADOW = 16; + + public const int COLOR_GRAYTEXT = 17; + + public const int COLOR_BTNTEXT = 18; + + public const int COLOR_INACTIVECAPTIONTEXT = 19; + + public const int COLOR_BTNHIGHLIGHT = 20; + + public const int COLOR_3DDKSHADOW = 21; + + public const int COLOR_3DLIGHT = 22; + + public const int COLOR_INFOTEXT = 23; + + public const int COLOR_INFOBK = 24; + + public const int COLOR_HOTLIGHT = 26; + + public const int COLOR_GRADIENTACTIVECAPTION = 27; + + public const int COLOR_GRADIENTINACTIVECAPTION = 28; + + public const int COLOR_MENUHILIGHT = 29; + + public const int COLOR_MENUBAR = 30; + + public const int COLOR_DESKTOP = COLOR_BACKGROUND; + + public const int COLOR_3DFACE = COLOR_BTNFACE; + + public const int COLOR_3DSHADOW = COLOR_BTNSHADOW; + + public const int COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT; + + public const int COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT; + + public const int COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT; + + public const int GW_HWNDFIRST = 0; + + public const int GW_HWNDLAST = 1; + + public const int GW_HWNDNEXT = 2; + + public const int GW_HWNDPREV = 3; + + public const int GW_OWNER = 4; + + public const int GW_CHILD = 5; + + public const int GW_ENABLEDPOPUP = 6; + + public const int GW_MAX = 6; + + public const int MF_INSERT = 0x00000000; + + public const int MF_CHANGE = 0x00000080; + + public const int MF_APPEND = 0x00000100; + + public const int MF_DELETE = 0x00000200; + + public const int MF_REMOVE = 0x00001000; + + public const int MF_BYCOMMAND = 0x00000000; + + public const int MF_BYPOSITION = 0x00000400; + + public const int MF_SEPARATOR = 0x00000800; + + public const int MF_ENABLED = 0x00000000; + + public const int MF_GRAYED = 0x00000001; + + public const int MF_DISABLED = 0x00000002; + + public const int MF_UNCHECKED = 0x00000000; + + public const int MF_CHECKED = 0x00000008; + + public const int MF_USECHECKBITMAPS = 0x00000200; + + public const int MF_STRING = 0x00000000; + + public const int MF_BITMAP = 0x00000004; + + public const int MF_OWNERDRAW = 0x00000100; + + public const int MF_POPUP = 0x00000010; + + public const int MF_MENUBARBREAK = 0x00000020; + + public const int MF_MENUBREAK = 0x00000040; + + public const int MF_UNHILITE = 0x00000000; + + public const int MF_HILITE = 0x00000080; + + public const int MF_DEFAULT = 0x00001000; + + public const int MF_SYSMENU = 0x00002000; + + public const int MF_HELP = 0x00004000; + + public const int MF_RIGHTJUSTIFY = 0x00004000; + + public const int MF_MOUSESELECT = 0x00008000; + + public const int MF_END = 0x00000080; + + public const int MFT_STRING = MF_STRING; + + public const int MFT_BITMAP = MF_BITMAP; + + public const int MFT_MENUBARBREAK = MF_MENUBARBREAK; + + public const int MFT_MENUBREAK = MF_MENUBREAK; + + public const int MFT_OWNERDRAW = MF_OWNERDRAW; + + public const int MFT_RADIOCHECK = 0x00000200; + + public const int MFT_SEPARATOR = MF_SEPARATOR; + + public const int MFT_RIGHTORDER = 0x00002000; + + public const int MFT_RIGHTJUSTIFY = MF_RIGHTJUSTIFY; + + public const int MFS_GRAYED = 0x00000003; + + public const int MFS_DISABLED = MFS_GRAYED; + + public const int MFS_CHECKED = MF_CHECKED; + + public const int MFS_HILITE = MF_HILITE; + + public const int MFS_ENABLED = MF_ENABLED; + + public const int MFS_UNCHECKED = MF_UNCHECKED; + + public const int MFS_UNHILITE = MF_UNHILITE; + + public const int MFS_DEFAULT = MF_DEFAULT; + + public const int SC_SIZE = 0xF000; + + public const int SC_MOVE = 0xF010; + + public const int SC_MINIMIZE = 0xF020; + + public const int SC_MAXIMIZE = 0xF030; + + public const int SC_NEXTWINDOW = 0xF040; + + public const int SC_PREVWINDOW = 0xF050; + + public const int SC_CLOSE = 0xF060; + + public const int SC_VSCROLL = 0xF070; + + public const int SC_HSCROLL = 0xF080; + + public const int SC_MOUSEMENU = 0xF090; + + public const int SC_KEYMENU = 0xF100; + + public const int SC_ARRANGE = 0xF110; + + public const int SC_RESTORE = 0xF120; + + public const int SC_TASKLIST = 0xF130; + + public const int SC_SCREENSAVE = 0xF140; + + public const int SC_HOTKEY = 0xF150; + + public const int SC_DEFAULT = 0xF160; + + public const int SC_MONITORPOWER = 0xF170; + + public const int SC_CONTEXTHELP = 0xF180; + + public const int SC_SEPARATOR = 0xF00F; + + public const int SCF_ISSECURE = 0x00000001; + + public const int SC_ICON = SC_MINIMIZE; + + public const int SC_ZOOM = SC_MAXIMIZE; + + // MAKEINTRESOURCE(32512) + public const ushort IDC_ARROW = 32512; + + // MAKEINTRESOURCE(32513) + public const ushort IDC_IBEAM = 32513; + + // MAKEINTRESOURCE(32514) + public const ushort IDC_WAIT = 32514; + + // MAKEINTRESOURCE(32515) + public const ushort IDC_CROSS = 32515; + + // MAKEINTRESOURCE(32516) + public const ushort IDC_UPARROW = 32516; + + // MAKEINTRESOURCE(32640) + [Obsolete("use IDC_SIZEALL")] + public const ushort IDC_SIZE = 32640; + + // MAKEINTRESOURCE(32641) + [Obsolete("use IDC_ARROW")] + public const ushort IDC_ICON = 32641; + + // MAKEINTRESOURCE(32642) + public const ushort IDC_SIZENWSE = 32642; + + // MAKEINTRESOURCE(32643) + public const ushort IDC_SIZENESW = 32643; + + // MAKEINTRESOURCE(32644) + public const ushort IDC_SIZEWE = 32644; + + // MAKEINTRESOURCE(32645) + public const ushort IDC_SIZENS = 32645; + + // MAKEINTRESOURCE(32646) + public const ushort IDC_SIZEALL = 32646; + + // MAKEINTRESOURCE(32648) + public const ushort IDC_NO = 32648; + + // MAKEINTRESOURCE(32649) + public const ushort IDC_HAND = 32649; + + // MAKEINTRESOURCE(32650) + public const int IDC_APPSTARTING = 32650; + + // MAKEINTRESOURCE(32651) + public const int IDC_HELP = 32651; + + public const int IMAGE_BITMAP = 0; + + public const int IMAGE_ICON = 1; + + public const int IMAGE_CURSOR = 2; + + public const int IMAGE_ENHMETAFILE = 3; + + public const int LR_DEFAULTCOLOR = 0x00000000; + + public const int LR_MONOCHROME = 0x00000001; + + public const int LR_COLOR = 0x00000002; + + public const int LR_COPYRETURNORG = 0x00000004; + + public const int LR_COPYDELETEORG = 0x00000008; + + public const int LR_LOADFROMFILE = 0x00000010; + + public const int LR_LOADTRANSPARENT = 0x00000020; + + public const int LR_DEFAULTSIZE = 0x00000040; + + public const int LR_VGACOLOR = 0x00000080; + + public const int LR_LOADMAP3DCOLORS = 0x00001000; + + public const int LR_CREATEDIBSECTION = 0x00002000; + + public const int LR_COPYFROMRESOURCE = 0x00004000; + + public const int LR_SHARED = 0x00008000; + + public const int DI_MASK = 0x0001; + + public const int DI_IMAGE = 0x0002; + + public const int DI_NORMAL = 0x0003; + + public const int DI_COMPAT = 0x0004; + + public const int DI_DEFAULTSIZE = 0x0008; + + public const int DI_NOMIRROR = 0x0010; + + public const int RES_ICON = 1; + + public const int RES_CURSOR = 2; + + public const int OBM_CLOSE = 32754; + + public const int OBM_UPARROW = 32753; + + public const int OBM_DNARROW = 32752; + + public const int OBM_RGARROW = 32751; + + public const int OBM_LFARROW = 32750; + + public const int OBM_REDUCE = 32749; + + public const int OBM_ZOOM = 32748; + + public const int OBM_RESTORE = 32747; + + public const int OBM_REDUCED = 32746; + + public const int OBM_ZOOMD = 32745; + + public const int OBM_RESTORED = 32744; + + public const int OBM_UPARROWD = 32743; + + public const int OBM_DNARROWD = 32742; + + public const int OBM_RGARROWD = 32741; + + public const int OBM_LFARROWD = 32740; + + public const int OBM_MNARROW = 32739; + + public const int OBM_COMBO = 32738; + + public const int OBM_UPARROWI = 32737; + + public const int OBM_DNARROWI = 32736; + + public const int OBM_RGARROWI = 32735; + + public const int OBM_LFARROWI = 32734; + + public const int OBM_OLD_CLOSE = 32767; + + public const int OBM_SIZE = 32766; + + public const int OBM_OLD_UPARROW = 32765; + + public const int OBM_OLD_DNARROW = 32764; + + public const int OBM_OLD_RGARROW = 32763; + + public const int OBM_OLD_LFARROW = 32762; + + public const int OBM_BTSIZE = 32761; + + public const int OBM_CHECK = 32760; + + public const int OBM_CHECKBOXES = 32759; + + public const int OBM_BTNCORNERS = 32758; + + public const int OBM_OLD_REDUCE = 32757; + + public const int OBM_OLD_ZOOM = 32756; + + public const int OBM_OLD_RESTORE = 32755; + + public const int OCR_NORMAL = 32512; + + public const int OCR_IBEAM = 32513; + + public const int OCR_WAIT = 32514; + + public const int OCR_CROSS = 32515; + + public const int OCR_UP = 32516; + + [Obsolete("use OCR_SIZEALL")] + public const int OCR_SIZE = 32640; + + [Obsolete("use OCR_NORMAL")] + public const int OCR_ICON = 32641; + + public const int OCR_SIZENWSE = 32642; + + public const int OCR_SIZENESW = 32643; + + public const int OCR_SIZEWE = 32644; + + public const int OCR_SIZENS = 32645; + + public const int OCR_SIZEALL = 32646; + + [Obsolete("use OIC_WINLOGO")] + public const int OCR_ICOCUR = 32647; + + public const int OCR_NO = 32648; + + public const int OCR_HAND = 32649; + + public const int OCR_APPSTARTING = 32650; + + public const int OIC_SAMPLE = 32512; + + public const int OIC_HAND = 32513; + + public const int OIC_QUES = 32514; + + public const int OIC_BANG = 32515; + + public const int OIC_NOTE = 32516; + + public const int OIC_WINLOGO = 32517; + + public const int OIC_WARNING = OIC_BANG; + + public const int OIC_ERROR = OIC_HAND; + + public const int OIC_INFORMATION = OIC_NOTE; + + public const int OIC_SHIELD = 32518; + + public const int ORD_LANGDRIVER = 1; + + // MAKEINTRESOURCE(32512) + public const ushort IDI_APPLICATION = 32512; + + // MAKEINTRESOURCE(32513) + public const ushort IDI_HAND = 32513; + + // MAKEINTRESOURCE(32514) + public const ushort IDI_QUESTION = 32514; + + // MAKEINTRESOURCE(32515) + public const ushort IDI_EXCLAMATION = 32515; + + // MAKEINTRESOURCE(32516) + public const ushort IDI_ASTERISK = 32516; + + // MAKEINTRESOURCE(32517) + public const ushort IDI_WINLOGO = 32517; + + // MAKEINTRESOURCE(32518) + public const ushort IDI_SHIELD = 32518; + + public const ushort IDI_WARNING = IDI_EXCLAMATION; + + public const ushort IDI_ERROR = IDI_HAND; + + public const ushort IDI_INFORMATION = IDI_ASTERISK; + + public const int IDOK = 1; + + public const int IDCANCEL = 2; + + public const int IDABORT = 3; + + public const int IDRETRY = 4; + + public const int IDIGNORE = 5; + + public const int IDYES = 6; + + public const int IDNO = 7; + + public const int IDCLOSE = 8; + + public const int IDHELP = 9; + + public const int IDTRYAGAIN = 10; + + public const int IDCONTINUE = 11; + + public const int IDTIMEOUT = 32000; + + public const int ES_LEFT = 0x0000; + + public const int ES_CENTER = 0x0001; + + public const int ES_RIGHT = 0x0002; + + public const int ES_MULTILINE = 0x0004; + + public const int ES_UPPERCASE = 0x0008; + + public const int ES_LOWERCASE = 0x0010; + + public const int ES_PASSWORD = 0x0020; + + public const int ES_AUTOVSCROLL = 0x0040; + + public const int ES_AUTOHSCROLL = 0x0080; + + public const int ES_NOHIDESEL = 0x0100; + + public const int ES_OEMCONVERT = 0x0400; + + public const int ES_READONLY = 0x0800; + + public const int ES_WANTRETURN = 0x1000; + + public const int ES_NUMBER = 0x2000; + + public const int EN_SETFOCUS = 0x0100; + + public const int EN_KILLFOCUS = 0x0200; + + public const int EN_CHANGE = 0x0300; + + public const int EN_UPDATE = 0x0400; + + public const int EN_ERRSPACE = 0x0500; + + public const int EN_MAXTEXT = 0x0501; + + public const int EN_HSCROLL = 0x0601; + + public const int EN_VSCROLL = 0x0602; + + public const int EN_ALIGN_LTR_EC = 0x0700; + + public const int EN_ALIGN_RTL_EC = 0x0701; + + public const int EN_BEFORE_PASTE = 0x0800; + + public const int EN_AFTER_PASTE = 0x0801; + + public const int EC_LEFTMARGIN = 0x0001; + + public const int EC_RIGHTMARGIN = 0x0002; + + public const int EC_USEFONTINFO = 0xFFFF; + + public const int EMSIS_COMPOSITIONSTRING = 0x0001; + + public const int EIMES_GETCOMPSTRATONCE = 0x0001; + + public const int EIMES_CANCELCOMPSTRINFOCUS = 0x0002; + + public const int EIMES_COMPLETECOMPSTRKILLFOCUS = 0x0004; + + public const int EM_GETSEL = 0x00B0; + + public const int EM_SETSEL = 0x00B1; + + public const int EM_GETRECT = 0x00B2; + + public const int EM_SETRECT = 0x00B3; + + public const int EM_SETRECTNP = 0x00B4; + + public const int EM_SCROLL = 0x00B5; + + public const int EM_LINESCROLL = 0x00B6; + + public const int EM_SCROLLCARET = 0x00B7; + + public const int EM_GETMODIFY = 0x00B8; + + public const int EM_SETMODIFY = 0x00B9; + + public const int EM_GETLINECOUNT = 0x00BA; + + public const int EM_LINEINDEX = 0x00BB; + + public const int EM_SETHANDLE = 0x00BC; + + public const int EM_GETHANDLE = 0x00BD; + + public const int EM_GETTHUMB = 0x00BE; + + public const int EM_LINELENGTH = 0x00C1; + + public const int EM_REPLACESEL = 0x00C2; + + public const int EM_GETLINE = 0x00C4; + + public const int EM_LIMITTEXT = 0x00C5; + + public const int EM_CANUNDO = 0x00C6; + + public const int EM_UNDO = 0x00C7; + + public const int EM_FMTLINES = 0x00C8; + + public const int EM_LINEFROMCHAR = 0x00C9; + + public const int EM_SETTABSTOPS = 0x00CB; + + public const int EM_SETPASSWORDCHAR = 0x00CC; + + public const int EM_EMPTYUNDOBUFFER = 0x00CD; + + public const int EM_GETFIRSTVISIBLELINE = 0x00CE; + + public const int EM_SETREADONLY = 0x00CF; + + public const int EM_SETWORDBREAKPROC = 0x00D0; + + public const int EM_GETWORDBREAKPROC = 0x00D1; + + public const int EM_GETPASSWORDCHAR = 0x00D2; + + public const int EM_SETMARGINS = 0x00D3; + + public const int EM_GETMARGINS = 0x00D4; + + public const int EM_SETLIMITTEXT = EM_LIMITTEXT; + + public const int EM_GETLIMITTEXT = 0x00D5; + + public const int EM_POSFROMCHAR = 0x00D6; + + public const int EM_CHARFROMPOS = 0x00D7; + + public const int EM_SETIMESTATUS = 0x00D8; + + public const int EM_GETIMESTATUS = 0x00D9; + + public const int EM_ENABLEFEATURE = 0x00DA; + + public const int WB_LEFT = 0; + + public const int WB_RIGHT = 1; + + public const int WB_ISDELIMITER = 2; + + public const int BS_PUSHBUTTON = 0x00000000; + + public const int BS_DEFPUSHBUTTON = 0x00000001; + + public const int BS_CHECKBOX = 0x00000002; + + public const int BS_AUTOCHECKBOX = 0x00000003; + + public const int BS_RADIOBUTTON = 0x00000004; + + public const int BS_3STATE = 0x00000005; + + public const int BS_AUTO3STATE = 0x00000006; + + public const int BS_GROUPBOX = 0x00000007; + + public const int BS_USERBUTTON = 0x00000008; + + public const int BS_AUTORADIOBUTTON = 0x00000009; + + public const int BS_PUSHBOX = 0x0000000A; + + public const int BS_OWNERDRAW = 0x0000000B; + + public const int BS_TYPEMASK = 0x0000000F; + + public const int BS_LEFTTEXT = 0x00000020; + + public const int BS_TEXT = 0x00000000; + + public const int BS_ICON = 0x00000040; + + public const int BS_BITMAP = 0x00000080; + + public const int BS_LEFT = 0x00000100; + + public const int BS_RIGHT = 0x00000200; + + public const int BS_CENTER = 0x00000300; + + public const int BS_TOP = 0x00000400; + + public const int BS_BOTTOM = 0x00000800; + + public const int BS_VCENTER = 0x00000C00; + + public const int BS_PUSHLIKE = 0x00001000; + + public const int BS_MULTILINE = 0x00002000; + + public const int BS_NOTIFY = 0x00004000; + + public const int BS_FLAT = 0x00008000; + + public const int BS_RIGHTBUTTON = BS_LEFTTEXT; + + public const int BN_CLICKED = 0; + + public const int BN_PAINT = 1; + + public const int BN_HILITE = 2; + + public const int BN_UNHILITE = 3; + + public const int BN_DISABLE = 4; + + public const int BN_DOUBLECLICKED = 5; + + public const int BN_PUSHED = BN_HILITE; + + public const int BN_UNPUSHED = BN_UNHILITE; + + public const int BN_DBLCLK = BN_DOUBLECLICKED; + + public const int BN_SETFOCUS = 6; + + public const int BN_KILLFOCUS = 7; + + public const int BM_GETCHECK = 0x00F0; + + public const int BM_SETCHECK = 0x00F1; + + public const int BM_GETSTATE = 0x00F2; + + public const int BM_SETSTATE = 0x00F3; + + public const int BM_SETSTYLE = 0x00F4; + + public const int BM_CLICK = 0x00F5; + + public const int BM_GETIMAGE = 0x00F6; + + public const int BM_SETIMAGE = 0x00F7; + + public const int BM_SETDONTCLICK = 0x00F8; + + public const int BST_UNCHECKED = 0x0000; + + public const int BST_CHECKED = 0x0001; + + public const int BST_INDETERMINATE = 0x0002; + + public const int BST_PUSHED = 0x0004; + + public const int BST_FOCUS = 0x0008; + + public const int SS_LEFT = 0x00000000; + + public const int SS_CENTER = 0x00000001; + + public const int SS_RIGHT = 0x00000002; + + public const int SS_ICON = 0x00000003; + + public const int SS_BLACKRECT = 0x00000004; + + public const int SS_GRAYRECT = 0x00000005; + + public const int SS_WHITERECT = 0x00000006; + + public const int SS_BLACKFRAME = 0x00000007; + + public const int SS_GRAYFRAME = 0x00000008; + + public const int SS_WHITEFRAME = 0x00000009; + + public const int SS_USERITEM = 0x0000000A; + + public const int SS_SIMPLE = 0x0000000B; + + public const int SS_LEFTNOWORDWRAP = 0x0000000C; + + public const int SS_OWNERDRAW = 0x0000000D; + + public const int SS_BITMAP = 0x0000000E; + + public const int SS_ENHMETAFILE = 0x0000000F; + + public const int SS_ETCHEDHORZ = 0x00000010; + + public const int SS_ETCHEDVERT = 0x00000011; + + public const int SS_ETCHEDFRAME = 0x00000012; + + public const int SS_TYPEMASK = 0x0000001F; + + public const int SS_REALSIZECONTROL = 0x00000040; + + public const int SS_NOPREFIX = 0x00000080; + + public const int SS_NOTIFY = 0x00000100; + + public const int SS_CENTERIMAGE = 0x00000200; + + public const int SS_RIGHTJUST = 0x00000400; + + public const int SS_REALSIZEIMAGE = 0x00000800; + + public const int SS_SUNKEN = 0x00001000; + + public const int SS_EDITCONTROL = 0x00002000; + + public const int SS_ENDELLIPSIS = 0x00004000; + + public const int SS_PATHELLIPSIS = 0x00008000; + + public const int SS_WORDELLIPSIS = 0x0000C000; + + public const int SS_ELLIPSISMASK = 0x0000C000; + + public const int STM_SETICON = 0x0170; + + public const int STM_GETICON = 0x0171; + + public const int STM_SETIMAGE = 0x0172; + + public const int STM_GETIMAGE = 0x0173; + + public const int STN_CLICKED = 0; + + public const int STN_DBLCLK = 1; + + public const int STN_ENABLE = 2; + + public const int STN_DISABLE = 3; + + public const int STM_MSGMAX = 0x0174; + + // MAKEINTATOM(0x8002) + public const ushort WC_DIALOG = 0x8002; + + public const int DWL_MSGRESULT = 0; + + public const int DWL_DLGPROC = 4; + + public const int DWL_USER = 8; + + public const int DWLP_MSGRESULT = 0; + + public const int DDL_READWRITE = 0x0000; + + public const int DDL_READONLY = 0x0001; + + public const int DDL_HIDDEN = 0x0002; + + public const int DDL_SYSTEM = 0x0004; + + public const int DDL_DIRECTORY = 0x0010; + + public const int DDL_ARCHIVE = 0x0020; + + public const int DDL_POSTMSGS = 0x2000; + + public const int DDL_DRIVES = 0x4000; + + public const int DDL_EXCLUSIVE = 0x8000; + + public const int DS_ABSALIGN = 0x01; + + public const int DS_SYSMODAL = 0x02; + + public const int DS_LOCALEDIT = 0x20; + + public const int DS_SETFONT = 0x40; + + public const int DS_MODALFRAME = 0x80; + + public const int DS_NOIDLEMSG = 0x100; + + public const int DS_SETFOREGROUND = 0x200; + + public const int DS_3DLOOK = 0x0004; + + public const int DS_FIXEDSYS = 0x0008; + + public const int DS_NOFAILCREATE = 0x0010; + + public const int DS_CONTROL = 0x0400; + + public const int DS_CENTER = 0x0800; + + public const int DS_CENTERMOUSE = 0x1000; + + public const int DS_CONTEXTHELP = 0x2000; + + public const int DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS; + + public const int DS_USEPIXELS = 0x8000; + + public const int DM_GETDEFID = WM_USER + 0; + + public const int DM_SETDEFID = WM_USER + 1; + + public const int DM_REPOSITION = WM_USER + 2; + + public const int DC_HASDEFID = 0x534B; + + public const int DLGC_WANTARROWS = 0x0001; + + public const int DLGC_WANTTAB = 0x0002; + + public const int DLGC_WANTALLKEYS = 0x0004; + + public const int DLGC_WANTMESSAGE = 0x0004; + + public const int DLGC_HASSETSEL = 0x0008; + + public const int DLGC_DEFPUSHBUTTON = 0x0010; + + public const int DLGC_UNDEFPUSHBUTTON = 0x0020; + + public const int DLGC_RADIOBUTTON = 0x0040; + + public const int DLGC_WANTCHARS = 0x0080; + + public const int DLGC_STATIC = 0x0100; + + public const int DLGC_BUTTON = 0x2000; + + public const int LB_CTLCODE = 0; + + public const int LB_OKAY = 0; + + public const int LB_ERR = -1; + + public const int LB_ERRSPACE = -2; + + public const int LBN_ERRSPACE = -2; + + public const int LBN_SELCHANGE = 1; + + public const int LBN_DBLCLK = 2; + + public const int LBN_SELCANCEL = 3; + + public const int LBN_SETFOCUS = 4; + + public const int LBN_KILLFOCUS = 5; + + public const int LB_ADDSTRING = 0x0180; + + public const int LB_INSERTSTRING = 0x0181; + + public const int LB_DELETESTRING = 0x0182; + + public const int LB_SELITEMRANGEEX = 0x0183; + + public const int LB_RESETCONTENT = 0x0184; + + public const int LB_SETSEL = 0x0185; + + public const int LB_SETCURSEL = 0x0186; + + public const int LB_GETSEL = 0x0187; + + public const int LB_GETCURSEL = 0x0188; + + public const int LB_GETTEXT = 0x0189; + + public const int LB_GETTEXTLEN = 0x018A; + + public const int LB_GETCOUNT = 0x018B; + + public const int LB_SELECTSTRING = 0x018C; + + public const int LB_DIR = 0x018D; + + public const int LB_GETTOPINDEX = 0x018E; + + public const int LB_FINDSTRING = 0x018F; + + public const int LB_GETSELCOUNT = 0x0190; + + public const int LB_GETSELITEMS = 0x0191; + + public const int LB_SETTABSTOPS = 0x0192; + + public const int LB_GETHORIZONTALEXTENT = 0x0193; + + public const int LB_SETHORIZONTALEXTENT = 0x0194; + + public const int LB_SETCOLUMNWIDTH = 0x0195; + + public const int LB_ADDFILE = 0x0196; + + public const int LB_SETTOPINDEX = 0x0197; + + public const int LB_GETITEMRECT = 0x0198; + + public const int LB_GETITEMDATA = 0x0199; + + public const int LB_SETITEMDATA = 0x019A; + + public const int LB_SELITEMRANGE = 0x019B; + + public const int LB_SETANCHORINDEX = 0x019C; + + public const int LB_GETANCHORINDEX = 0x019D; + + public const int LB_SETCARETINDEX = 0x019E; + + public const int LB_GETCARETINDEX = 0x019F; + + public const int LB_SETITEMHEIGHT = 0x01A0; + + public const int LB_GETITEMHEIGHT = 0x01A1; + + public const int LB_FINDSTRINGEXACT = 0x01A2; + + public const int LB_SETLOCALE = 0x01A5; + + public const int LB_GETLOCALE = 0x01A6; + + public const int LB_SETCOUNT = 0x01A7; + + public const int LB_INITSTORAGE = 0x01A8; + + public const int LB_ITEMFROMPOINT = 0x01A9; + + public const int LB_MULTIPLEADDSTRING = 0x01B1; + + public const int LB_GETLISTBOXINFO = 0x01B2; + + public const int LB_MSGMAX = 0x01B3; + + public const uint LBS_NOTIFY = 0x0001; + + public const uint LBS_SORT = 0x0002; + + public const uint LBS_NOREDRAW = 0x0004; + + public const uint LBS_MULTIPLESEL = 0x0008; + + public const uint LBS_OWNERDRAWFIXED = 0x0010; + + public const uint LBS_OWNERDRAWVARIABLE = 0x0020; + + public const uint LBS_HASSTRINGS = 0x0040; + + public const uint LBS_USETABSTOPS = 0x0080; + + public const uint LBS_NOINTEGRALHEIGHT = 0x0100; + + public const uint LBS_MULTICOLUMN = 0x0200; + + public const uint LBS_WANTKEYBOARDINPUT = 0x0400; + + public const uint LBS_EXTENDEDSEL = 0x0800; + + public const uint LBS_DISABLENOSCROLL = 0x1000; + + public const uint LBS_NODATA = 0x2000; + + public const uint LBS_NOSEL = 0x4000; + + public const uint LBS_COMBOBOX = 0x8000; + + public const uint LBS_STANDARD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER; + + public const int CB_OKAY = 0; + + public const int CB_ERR = -1; + + public const int CB_ERRSPACE = -2; + + public const int CBN_ERRSPACE = -1; + + public const int CBN_SELCHANGE = 1; + + public const int CBN_DBLCLK = 2; + + public const int CBN_SETFOCUS = 3; + + public const int CBN_KILLFOCUS = 4; + + public const int CBN_EDITCHANGE = 5; + + public const int CBN_EDITUPDATE = 6; + + public const int CBN_DROPDOWN = 7; + + public const int CBN_CLOSEUP = 8; + + public const int CBN_SELENDOK = 9; + + public const int CBN_SELENDCANCEL = 10; + + public const int CBS_SIMPLE = 0x0001; + + public const int CBS_DROPDOWN = 0x0002; + + public const int CBS_DROPDOWNLIST = 0x0003; + + public const int CBS_OWNERDRAWFIXED = 0x0010; + + public const int CBS_OWNERDRAWVARIABLE = 0x0020; + + public const int CBS_AUTOHSCROLL = 0x0040; + + public const int CBS_OEMCONVERT = 0x0080; + + public const int CBS_SORT = 0x0100; + + public const int CBS_HASSTRINGS = 0x0200; + + public const int CBS_NOINTEGRALHEIGHT = 0x0400; + + public const int CBS_DISABLENOSCROLL = 0x0800; + + public const int CBS_UPPERCASE = 0x2000; + + public const int CBS_LOWERCASE = 0x4000; + + public const int CB_GETEDITSEL = 0x0140; + + public const int CB_LIMITTEXT = 0x0141; + + public const int CB_SETEDITSEL = 0x0142; + + public const int CB_ADDSTRING = 0x0143; + + public const int CB_DELETESTRING = 0x0144; + + public const int CB_DIR = 0x0145; + + public const int CB_GETCOUNT = 0x0146; + + public const int CB_GETCURSEL = 0x0147; + + public const int CB_GETLBTEXT = 0x0148; + + public const int CB_GETLBTEXTLEN = 0x0149; + + public const int CB_INSERTSTRING = 0x014A; + + public const int CB_RESETCONTENT = 0x014B; + + public const int CB_FINDSTRING = 0x014C; + + public const int CB_SELECTSTRING = 0x014D; + + public const int CB_SETCURSEL = 0x014E; + + public const int CB_SHOWDROPDOWN = 0x014F; + + public const int CB_GETITEMDATA = 0x0150; + + public const int CB_SETITEMDATA = 0x0151; + + public const int CB_GETDROPPEDCONTROLRECT = 0x0152; + + public const int CB_SETITEMHEIGHT = 0x0153; + + public const int CB_GETITEMHEIGHT = 0x0154; + + public const int CB_SETEXTENDEDUI = 0x0155; + + public const int CB_GETEXTENDEDUI = 0x0156; + + public const int CB_GETDROPPEDSTATE = 0x0157; + + public const int CB_FINDSTRINGEXACT = 0x0158; + + public const int CB_SETLOCALE = 0x0159; + + public const int CB_GETLOCALE = 0x015A; + + public const int CB_GETTOPINDEX = 0x015b; + + public const int CB_SETTOPINDEX = 0x015c; + + public const int CB_GETHORIZONTALEXTENT = 0x015d; + + public const int CB_SETHORIZONTALEXTENT = 0x015e; + + public const int CB_GETDROPPEDWIDTH = 0x015f; + + public const int CB_SETDROPPEDWIDTH = 0x0160; + + public const int CB_INITSTORAGE = 0x0161; + + public const int CB_MULTIPLEADDSTRING = 0x0163; + + public const int CB_GETCOMBOBOXINFO = 0x0164; + + public const int CB_MSGMAX = 0x0165; + + public const int SBS_HORZ = 0x0000; + + public const int SBS_VERT = 0x0001; + + public const int SBS_TOPALIGN = 0x0002; + + public const int SBS_LEFTALIGN = 0x0002; + + public const int SBS_BOTTOMALIGN = 0x0004; + + public const int SBS_RIGHTALIGN = 0x0004; + + public const int SBS_SIZEBOXTOPLEFTALIGN = 0x0002; + + public const int SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004; + + public const int SBS_SIZEBOX = 0x0008; + + public const int SBS_SIZEGRIP = 0x0010; + + public const int SBM_SETPOS = 0x00E0; + + public const int SBM_GETPOS = 0x00E1; + + public const int SBM_SETRANGE = 0x00E2; + + public const int SBM_SETRANGEREDRAW = 0x00E6; + + public const int SBM_GETRANGE = 0x00E3; + + public const int SBM_ENABLE_ARROWS = 0x00E4; + + public const int SBM_SETSCROLLINFO = 0x00E9; + + public const int SBM_GETSCROLLINFO = 0x00EA; + + public const int SBM_GETSCROLLBARINFO = 0x00EB; + + public const int SIF_RANGE = 0x0001; + + public const int SIF_PAGE = 0x0002; + + public const int SIF_POS = 0x0004; + + public const int SIF_DISABLENOSCROLL = 0x0008; + + public const int SIF_TRACKPOS = 0x0010; + + public const int SIF_ALL = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS; + + public const int MDIS_ALLCHILDSTYLES = 0x0001; + + public const int MDITILE_VERTICAL = 0x0000; + + public const int MDITILE_HORIZONTAL = 0x0001; + + public const int MDITILE_SKIPDISABLED = 0x0002; + + public const int MDITILE_ZORDER = 0x0004; + + public const int HELP_CONTEXT = 0x0001; + + public const int HELP_QUIT = 0x0002; + + public const int HELP_INDEX = 0x0003; + + public const int HELP_CONTENTS = 0x0003; + + public const int HELP_HELPONHELP = 0x0004; + + public const int HELP_SETINDEX = 0x0005; + + public const int HELP_SETCONTENTS = 0x0005; + + public const int HELP_CONTEXTPOPUP = 0x0008; + + public const int HELP_FORCEFILE = 0x0009; + + public const int HELP_KEY = 0x0101; + + public const int HELP_COMMAND = 0x0102; + + public const int HELP_PARTIALKEY = 0x0105; + + public const int HELP_MULTIKEY = 0x0201; + + public const int HELP_SETWINPOS = 0x0203; + + public const int HELP_CONTEXTMENU = 0x000a; + + public const int HELP_FINDER = 0x000b; + + public const int HELP_WM_HELP = 0x000c; + + public const int HELP_SETPOPUP_POS = 0x000d; + + public const int HELP_TCARD = 0x8000; + + public const int HELP_TCARD_DATA = 0x0010; + + public const int HELP_TCARD_OTHER_CALLER = 0x0011; + + public const int IDH_NO_HELP = 28440; + + public const int IDH_MISSING_CONTEXT = 28441; + + public const int IDH_GENERIC_HELP_BUTTON = 28442; + + public const int IDH_OK = 28443; + + public const int IDH_CANCEL = 28444; + + public const int IDH_HELP = 28445; + + public const int GR_GDIOBJECTS = 0; + + public const int GR_USEROBJECTS = 1; + + public const int GR_GDIOBJECTS_PEAK = 2; + + public const int GR_USEROBJECTS_PEAK = 4; + + public const int GR_GLOBAL = -2; + + public const int SPI_GETBEEP = 0x0001; + + public const int SPI_SETBEEP = 0x0002; + + public const int SPI_GETMOUSE = 0x0003; + + public const int SPI_SETMOUSE = 0x0004; + + public const int SPI_GETBORDER = 0x0005; + + public const int SPI_SETBORDER = 0x0006; + + public const int SPI_GETKEYBOARDSPEED = 0x000A; + + public const int SPI_SETKEYBOARDSPEED = 0x000B; + + public const int SPI_LANGDRIVER = 0x000C; + + public const int SPI_ICONHORIZONTALSPACING = 0x000D; + + public const int SPI_GETSCREENSAVETIMEOUT = 0x000E; + + public const int SPI_SETSCREENSAVETIMEOUT = 0x000F; + + public const int SPI_GETSCREENSAVEACTIVE = 0x0010; + + public const int SPI_SETSCREENSAVEACTIVE = 0x0011; + + public const int SPI_GETGRIDGRANULARITY = 0x0012; + + public const int SPI_SETGRIDGRANULARITY = 0x0013; + + public const int SPI_SETDESKWALLPAPER = 0x0014; + + public const int SPI_SETDESKPATTERN = 0x0015; + + public const int SPI_GETKEYBOARDDELAY = 0x0016; + + public const int SPI_SETKEYBOARDDELAY = 0x0017; + + public const int SPI_ICONVERTICALSPACING = 0x0018; + + public const int SPI_GETICONTITLEWRAP = 0x0019; + + public const int SPI_SETICONTITLEWRAP = 0x001A; + + public const int SPI_GETMENUDROPALIGNMENT = 0x001B; + + public const int SPI_SETMENUDROPALIGNMENT = 0x001C; + + public const int SPI_SETDOUBLECLKWIDTH = 0x001D; + + public const int SPI_SETDOUBLECLKHEIGHT = 0x001E; + + public const int SPI_GETICONTITLELOGFONT = 0x001F; + + public const int SPI_SETDOUBLECLICKTIME = 0x0020; + + public const int SPI_SETMOUSEBUTTONSWAP = 0x0021; + + public const int SPI_SETICONTITLELOGFONT = 0x0022; + + public const int SPI_GETFASTTASKSWITCH = 0x0023; + + public const int SPI_SETFASTTASKSWITCH = 0x0024; + + public const int SPI_SETDRAGFULLWINDOWS = 0x0025; + + public const int SPI_GETDRAGFULLWINDOWS = 0x0026; + + public const int SPI_GETNONCLIENTMETRICS = 0x0029; + + public const int SPI_SETNONCLIENTMETRICS = 0x002A; + + public const int SPI_GETMINIMIZEDMETRICS = 0x002B; + + public const int SPI_SETMINIMIZEDMETRICS = 0x002C; + + public const int SPI_GETICONMETRICS = 0x002D; + + public const int SPI_SETICONMETRICS = 0x002E; + + public const int SPI_SETWORKAREA = 0x002F; + + public const int SPI_GETWORKAREA = 0x0030; + + public const int SPI_SETPENWINDOWS = 0x0031; + + public const int SPI_GETHIGHCONTRAST = 0x0042; + + public const int SPI_SETHIGHCONTRAST = 0x0043; + + public const int SPI_GETKEYBOARDPREF = 0x0044; + + public const int SPI_SETKEYBOARDPREF = 0x0045; + + public const int SPI_GETSCREENREADER = 0x0046; + + public const int SPI_SETSCREENREADER = 0x0047; + + public const int SPI_GETANIMATION = 0x0048; + + public const int SPI_SETANIMATION = 0x0049; + + public const int SPI_GETFONTSMOOTHING = 0x004A; + + public const int SPI_SETFONTSMOOTHING = 0x004B; + + public const int SPI_SETDRAGWIDTH = 0x004C; + + public const int SPI_SETDRAGHEIGHT = 0x004D; + + public const int SPI_SETHANDHELD = 0x004E; + + public const int SPI_GETLOWPOWERTIMEOUT = 0x004F; + + public const int SPI_GETPOWEROFFTIMEOUT = 0x0050; + + public const int SPI_SETLOWPOWERTIMEOUT = 0x0051; + + public const int SPI_SETPOWEROFFTIMEOUT = 0x0052; + + public const int SPI_GETLOWPOWERACTIVE = 0x0053; + + public const int SPI_GETPOWEROFFACTIVE = 0x0054; + + public const int SPI_SETLOWPOWERACTIVE = 0x0055; + + public const int SPI_SETPOWEROFFACTIVE = 0x0056; + + public const int SPI_SETCURSORS = 0x0057; + + public const int SPI_SETICONS = 0x0058; + + public const int SPI_GETDEFAULTINPUTLANG = 0x0059; + + public const int SPI_SETDEFAULTINPUTLANG = 0x005A; + + public const int SPI_SETLANGTOGGLE = 0x005B; + + public const int SPI_GETWINDOWSEXTENSION = 0x005C; + + public const int SPI_SETMOUSETRAILS = 0x005D; + + public const int SPI_GETMOUSETRAILS = 0x005E; + + public const int SPI_SETSCREENSAVERRUNNING = 0x0061; + + public const int SPI_SCREENSAVERRUNNING = SPI_SETSCREENSAVERRUNNING; + + public const int SPI_GETFILTERKEYS = 0x0032; + + public const int SPI_SETFILTERKEYS = 0x0033; + + public const int SPI_GETTOGGLEKEYS = 0x0034; + + public const int SPI_SETTOGGLEKEYS = 0x0035; + + public const int SPI_GETMOUSEKEYS = 0x0036; + + public const int SPI_SETMOUSEKEYS = 0x0037; + + public const int SPI_GETSHOWSOUNDS = 0x0038; + + public const int SPI_SETSHOWSOUNDS = 0x0039; + + public const int SPI_GETSTICKYKEYS = 0x003A; + + public const int SPI_SETSTICKYKEYS = 0x003B; + + public const int SPI_GETACCESSTIMEOUT = 0x003C; + + public const int SPI_SETACCESSTIMEOUT = 0x003D; + + public const int SPI_GETSERIALKEYS = 0x003E; + + public const int SPI_SETSERIALKEYS = 0x003F; + + public const int SPI_GETSOUNDSENTRY = 0x0040; + + public const int SPI_SETSOUNDSENTRY = 0x0041; + + public const int SPI_GETSNAPTODEFBUTTON = 0x005F; + + public const int SPI_SETSNAPTODEFBUTTON = 0x0060; + + public const int SPI_GETMOUSEHOVERWIDTH = 0x0062; + + public const int SPI_SETMOUSEHOVERWIDTH = 0x0063; + + public const int SPI_GETMOUSEHOVERHEIGHT = 0x0064; + + public const int SPI_SETMOUSEHOVERHEIGHT = 0x0065; + + public const int SPI_GETMOUSEHOVERTIME = 0x0066; + + public const int SPI_SETMOUSEHOVERTIME = 0x0067; + + public const int SPI_GETWHEELSCROLLLINES = 0x0068; + + public const int SPI_SETWHEELSCROLLLINES = 0x0069; + + public const int SPI_GETMENUSHOWDELAY = 0x006A; + + public const int SPI_SETMENUSHOWDELAY = 0x006B; + + public const int SPI_GETWHEELSCROLLCHARS = 0x006C; + + public const int SPI_SETWHEELSCROLLCHARS = 0x006D; + + public const int SPI_GETSHOWIMEUI = 0x006E; + + public const int SPI_SETSHOWIMEUI = 0x006F; + + public const int SPI_GETMOUSESPEED = 0x0070; + + public const int SPI_SETMOUSESPEED = 0x0071; + + public const int SPI_GETSCREENSAVERRUNNING = 0x0072; + + public const int SPI_GETDESKWALLPAPER = 0x0073; + + public const int SPI_GETAUDIODESCRIPTION = 0x0074; + + public const int SPI_SETAUDIODESCRIPTION = 0x0075; + + public const int SPI_GETSCREENSAVESECURE = 0x0076; + + public const int SPI_SETSCREENSAVESECURE = 0x0077; + + public const int SPI_GETHUNGAPPTIMEOUT = 0x0078; + + public const int SPI_SETHUNGAPPTIMEOUT = 0x0079; + + public const int SPI_GETWAITTOKILLTIMEOUT = 0x007A; + + public const int SPI_SETWAITTOKILLTIMEOUT = 0x007B; + + public const int SPI_GETWAITTOKILLSERVICETIMEOUT = 0x007C; + + public const int SPI_SETWAITTOKILLSERVICETIMEOUT = 0x007D; + + public const int SPI_GETMOUSEDOCKTHRESHOLD = 0x007E; + + public const int SPI_SETMOUSEDOCKTHRESHOLD = 0x007F; + + public const int SPI_GETPENDOCKTHRESHOLD = 0x0080; + + public const int SPI_SETPENDOCKTHRESHOLD = 0x0081; + + public const int SPI_GETWINARRANGING = 0x0082; + + public const int SPI_SETWINARRANGING = 0x0083; + + public const int SPI_GETMOUSEDRAGOUTTHRESHOLD = 0x0084; + + public const int SPI_SETMOUSEDRAGOUTTHRESHOLD = 0x0085; + + public const int SPI_GETPENDRAGOUTTHRESHOLD = 0x0086; + + public const int SPI_SETPENDRAGOUTTHRESHOLD = 0x0087; + + public const int SPI_GETMOUSESIDEMOVETHRESHOLD = 0x0088; + + public const int SPI_SETMOUSESIDEMOVETHRESHOLD = 0x0089; + + public const int SPI_GETPENSIDEMOVETHRESHOLD = 0x008A; + + public const int SPI_SETPENSIDEMOVETHRESHOLD = 0x008B; + + public const int SPI_GETDRAGFROMMAXIMIZE = 0x008C; + + public const int SPI_SETDRAGFROMMAXIMIZE = 0x008D; + + public const int SPI_GETSNAPSIZING = 0x008E; + + public const int SPI_SETSNAPSIZING = 0x008F; + + public const int SPI_GETDOCKMOVING = 0x0090; + + public const int SPI_SETDOCKMOVING = 0x0091; + + public const int MAX_TOUCH_PREDICTION_FILTER_TAPS = 3; + + public const int TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY = 8; + + public const int TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME = 8; + + public const int TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP = 1; + + public const float TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA = 0.001f; + + public const float TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN = 0.9f; + + public const float TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX = 0.999f; + + public const float TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE = 0.001f; + + public const float TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA = 0.99f; + + public const int SPI_GETTOUCHPREDICTIONPARAMETERS = 0x009C; + + public const int SPI_SETTOUCHPREDICTIONPARAMETERS = 0x009D; + + public const int MAX_LOGICALDPIOVERRIDE = 2; + + public const int MIN_LOGICALDPIOVERRIDE = -2; + + public const int SPI_GETLOGICALDPIOVERRIDE = 0x009E; + + public const int SPI_SETLOGICALDPIOVERRIDE = 0x009F; + + public const int SPI_GETMENURECT = 0x00A2; + + public const int SPI_SETMENURECT = 0x00A3; + + public const int SPI_GETACTIVEWINDOWTRACKING = 0x1000; + + public const int SPI_SETACTIVEWINDOWTRACKING = 0x1001; + + public const int SPI_GETMENUANIMATION = 0x1002; + + public const int SPI_SETMENUANIMATION = 0x1003; + + public const int SPI_GETCOMBOBOXANIMATION = 0x1004; + + public const int SPI_SETCOMBOBOXANIMATION = 0x1005; + + public const int SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006; + + public const int SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007; + + public const int SPI_GETGRADIENTCAPTIONS = 0x1008; + + public const int SPI_SETGRADIENTCAPTIONS = 0x1009; + + public const int SPI_GETKEYBOARDCUES = 0x100A; + + public const int SPI_SETKEYBOARDCUES = 0x100B; + + public const int SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES; + + public const int SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES; + + public const int SPI_GETACTIVEWNDTRKZORDER = 0x100C; + + public const int SPI_SETACTIVEWNDTRKZORDER = 0x100D; + + public const int SPI_GETHOTTRACKING = 0x100E; + + public const int SPI_SETHOTTRACKING = 0x100F; + + public const int SPI_GETMENUFADE = 0x1012; + + public const int SPI_SETMENUFADE = 0x1013; + + public const int SPI_GETSELECTIONFADE = 0x1014; + + public const int SPI_SETSELECTIONFADE = 0x1015; + + public const int SPI_GETTOOLTIPANIMATION = 0x1016; + + public const int SPI_SETTOOLTIPANIMATION = 0x1017; + + public const int SPI_GETTOOLTIPFADE = 0x1018; + + public const int SPI_SETTOOLTIPFADE = 0x1019; + + public const int SPI_GETCURSORSHADOW = 0x101A; + + public const int SPI_SETCURSORSHADOW = 0x101B; + + public const int SPI_GETMOUSESONAR = 0x101C; + + public const int SPI_SETMOUSESONAR = 0x101D; + + public const int SPI_GETMOUSECLICKLOCK = 0x101E; + + public const int SPI_SETMOUSECLICKLOCK = 0x101F; + + public const int SPI_GETMOUSEVANISH = 0x1020; + + public const int SPI_SETMOUSEVANISH = 0x1021; + + public const int SPI_GETFLATMENU = 0x1022; + + public const int SPI_SETFLATMENU = 0x1023; + + public const int SPI_GETDROPSHADOW = 0x1024; + + public const int SPI_SETDROPSHADOW = 0x1025; + + public const int SPI_GETBLOCKSENDINPUTRESETS = 0x1026; + + public const int SPI_SETBLOCKSENDINPUTRESETS = 0x1027; + + public const int SPI_GETUIEFFECTS = 0x103E; + + public const int SPI_SETUIEFFECTS = 0x103F; + + public const int SPI_GETDISABLEOVERLAPPEDCONTENT = 0x1040; + + public const int SPI_SETDISABLEOVERLAPPEDCONTENT = 0x1041; + + public const int SPI_GETCLIENTAREAANIMATION = 0x1042; + + public const int SPI_SETCLIENTAREAANIMATION = 0x1043; + + public const int SPI_GETCLEARTYPE = 0x1048; + + public const int SPI_SETCLEARTYPE = 0x1049; + + public const int SPI_GETSPEECHRECOGNITION = 0x104A; + + public const int SPI_SETSPEECHRECOGNITION = 0x104B; + + public const int SPI_GETCARETBROWSING = 0x104C; + + public const int SPI_SETCARETBROWSING = 0x104D; + + public const int SPI_GETTHREADLOCALINPUTSETTINGS = 0x104E; + + public const int SPI_SETTHREADLOCALINPUTSETTINGS = 0x104F; + + public const int SPI_GETSYSTEMLANGUAGEBAR = 0x1050; + + public const int SPI_SETSYSTEMLANGUAGEBAR = 0x1051; + + public const int SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000; + + public const int SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001; + + public const int SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002; + + public const int SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003; + + public const int SPI_GETFOREGROUNDFLASHCOUNT = 0x2004; + + public const int SPI_SETFOREGROUNDFLASHCOUNT = 0x2005; + + public const int SPI_GETCARETWIDTH = 0x2006; + + public const int SPI_SETCARETWIDTH = 0x2007; + + public const int SPI_GETMOUSECLICKLOCKTIME = 0x2008; + + public const int SPI_SETMOUSECLICKLOCKTIME = 0x2009; + + public const int SPI_GETFONTSMOOTHINGTYPE = 0x200A; + + public const int SPI_SETFONTSMOOTHINGTYPE = 0x200B; + + public const int FE_FONTSMOOTHINGSTANDARD = 0x0001; + + public const int FE_FONTSMOOTHINGCLEARTYPE = 0x0002; + + public const int SPI_GETFONTSMOOTHINGCONTRAST = 0x200C; + + public const int SPI_SETFONTSMOOTHINGCONTRAST = 0x200D; + + public const int SPI_GETFOCUSBORDERWIDTH = 0x200E; + + public const int SPI_SETFOCUSBORDERWIDTH = 0x200F; + + public const int SPI_GETFOCUSBORDERHEIGHT = 0x2010; + + public const int SPI_SETFOCUSBORDERHEIGHT = 0x2011; + + public const int SPI_GETFONTSMOOTHINGORIENTATION = 0x2012; + + public const int SPI_SETFONTSMOOTHINGORIENTATION = 0x2013; + + public const int FE_FONTSMOOTHINGORIENTATIONBGR = 0x0000; + + public const int FE_FONTSMOOTHINGORIENTATIONRGB = 0x0001; + + public const int SPI_GETMINIMUMHITRADIUS = 0x2014; + + public const int SPI_SETMINIMUMHITRADIUS = 0x2015; + + public const int SPI_GETMESSAGEDURATION = 0x2016; + + public const int SPI_SETMESSAGEDURATION = 0x2017; + + public const int SPI_GETCONTACTVISUALIZATION = 0x2018; + + public const int SPI_SETCONTACTVISUALIZATION = 0x2019; + + public const int CONTACTVISUALIZATION_OFF = 0x0000; + + public const int CONTACTVISUALIZATION_ON = 0x0001; + + public const int CONTACTVISUALIZATION_PRESENTATIONMODE = 0x0002; + + public const int SPI_GETGESTUREVISUALIZATION = 0x201A; + + public const int SPI_SETGESTUREVISUALIZATION = 0x201B; + + public const int GESTUREVISUALIZATION_OFF = 0x0000; + + public const int GESTUREVISUALIZATION_ON = 0x001F; + + public const int GESTUREVISUALIZATION_TAP = 0x0001; + + public const int GESTUREVISUALIZATION_DOUBLETAP = 0x0002; + + public const int GESTUREVISUALIZATION_PRESSANDTAP = 0x0004; + + public const int GESTUREVISUALIZATION_PRESSANDHOLD = 0x0008; + + public const int GESTUREVISUALIZATION_RIGHTTAP = 0x0010; + + public const int SPI_GETMOUSEWHEELROUTING = 0x201C; + + public const int SPI_SETMOUSEWHEELROUTING = 0x201D; + + public const int MOUSEWHEEL_ROUTING_FOCUS = 0; + + public const int MOUSEWHEEL_ROUTING_HYBRID = 1; + + public const int MOUSEWHEEL_ROUTING_MOUSE_POS = 2; + + public const int SPI_GETPENVISUALIZATION = 0x201E; + + public const int SPI_SETPENVISUALIZATION = 0x201F; + + public const int PENVISUALIZATION_ON = 0x0023; + + public const int PENVISUALIZATION_OFF = 0x0000; + + public const int PENVISUALIZATION_TAP = 0x0001; + + public const int PENVISUALIZATION_DOUBLETAP = 0x0002; + + public const int PENVISUALIZATION_CURSOR = 0x0020; + + public const int SPI_GETPENARBITRATIONTYPE = 0x2020; + + public const int SPI_SETPENARBITRATIONTYPE = 0x2021; + + public const int PENARBITRATIONTYPE_NONE = 0x0000; + + public const int PENARBITRATIONTYPE_WIN8 = 0x0001; + + public const int PENARBITRATIONTYPE_FIS = 0x0002; + + public const int PENARBITRATIONTYPE_SPT = 0x0003; + + public const int PENARBITRATIONTYPE_MAX = 0x0004; + + public const int SPIF_UPDATEINIFILE = 0x0001; + + public const int SPIF_SENDWININICHANGE = 0x0002; + + public const int SPIF_SENDCHANGE = SPIF_SENDWININICHANGE; + + public const int METRICS_USEDEFAULT = -1; + + public const int ARW_BOTTOMLEFT = 0x0000; + + public const int ARW_BOTTOMRIGHT = 0x0001; + + public const int ARW_TOPLEFT = 0x0002; + + public const int ARW_TOPRIGHT = 0x0003; + + public const int ARW_STARTMASK = 0x0003; + + public const int ARW_STARTRIGHT = 0x0001; + + public const int ARW_STARTTOP = 0x0002; + + public const int ARW_LEFT = 0x0000; + + public const int ARW_RIGHT = 0x0000; + + public const int ARW_UP = 0x0004; + + public const int ARW_DOWN = 0x0004; + + public const int ARW_HIDE = 0x0008; + + public const int SERKF_SERIALKEYSON = 0x00000001; + + public const int SERKF_AVAILABLE = 0x00000002; + + public const int SERKF_INDICATOR = 0x00000004; + + public const int HCF_HIGHCONTRASTON = 0x00000001; + + public const int HCF_AVAILABLE = 0x00000002; + + public const int HCF_HOTKEYACTIVE = 0x00000004; + + public const int HCF_CONFIRMHOTKEY = 0x00000008; + + public const int HCF_HOTKEYSOUND = 0x00000010; + + public const int HCF_INDICATOR = 0x00000020; + + public const int HCF_HOTKEYAVAILABLE = 0x00000040; + + public const int HCF_LOGONDESKTOP = 0x00000100; + + public const int HCF_DEFAULTDESKTOP = 0x00000200; + + public const int CDS_UPDATEREGISTRY = 0x00000001; + + public const int CDS_TEST = 0x00000002; + + public const int CDS_FULLSCREEN = 0x00000004; + + public const int CDS_GLOBAL = 0x00000008; + + public const int CDS_SET_PRIMARY = 0x00000010; + + public const int CDS_VIDEOPARAMETERS = 0x00000020; + + public const int CDS_ENABLE_UNSAFE_MODES = 0x00000100; + + public const int CDS_DISABLE_UNSAFE_MODES = 0x00000200; + + public const int CDS_RESET = 0x40000000; + + public const int CDS_RESET_EX = 0x20000000; + + public const int CDS_NORESET = 0x10000000; + + public const int DISP_CHANGE_SUCCESSFUL = 0; + + public const int DISP_CHANGE_RESTART = 1; + + public const int DISP_CHANGE_FAILED = -1; + + public const int DISP_CHANGE_BADMODE = -2; + + public const int DISP_CHANGE_NOTUPDATED = -3; + + public const int DISP_CHANGE_BADFLAGS = -4; + + public const int DISP_CHANGE_BADPARAM = -5; + + public const int DISP_CHANGE_BADDUALVIEW = -6; + + public const uint ENUM_CURRENT_SETTINGS = unchecked((uint)-1); + + public const uint ENUM_REGISTRY_SETTINGS = unchecked((uint)-2); + + public const int EDS_RAWMODE = 0x00000002; + + public const int EDS_ROTATEDMODE = 0x00000004; + + public const int EDD_GET_DEVICE_INTERFACE_NAME = 0x00000001; + + public const int FKF_FILTERKEYSON = 0x00000001; + + public const int FKF_AVAILABLE = 0x00000002; + + public const int FKF_HOTKEYACTIVE = 0x00000004; + + public const int FKF_CONFIRMHOTKEY = 0x00000008; + + public const int FKF_HOTKEYSOUND = 0x00000010; + + public const int FKF_INDICATOR = 0x00000020; + + public const int FKF_CLICKON = 0x00000040; + + public const uint SKF_STICKYKEYSON = 0x00000001; + + public const uint SKF_AVAILABLE = 0x00000002; + + public const uint SKF_HOTKEYACTIVE = 0x00000004; + + public const uint SKF_CONFIRMHOTKEY = 0x00000008; + + public const uint SKF_HOTKEYSOUND = 0x00000010; + + public const uint SKF_INDICATOR = 0x00000020; + + public const uint SKF_AUDIBLEFEEDBACK = 0x00000040; + + public const uint SKF_TRISTATE = 0x00000080; + + public const uint SKF_TWOKEYSOFF = 0x00000100; + + public const uint SKF_LALTLATCHED = 0x10000000; + + public const uint SKF_LCTLLATCHED = 0x04000000; + + public const uint SKF_LSHIFTLATCHED = 0x01000000; + + public const uint SKF_RALTLATCHED = 0x20000000; + + public const uint SKF_RCTLLATCHED = 0x08000000; + + public const uint SKF_RSHIFTLATCHED = 0x02000000; + + public const uint SKF_LWINLATCHED = 0x40000000; + + public const uint SKF_RWINLATCHED = 0x80000000; + + public const uint SKF_LALTLOCKED = 0x00100000; + + public const uint SKF_LCTLLOCKED = 0x00040000; + + public const uint SKF_LSHIFTLOCKED = 0x00010000; + + public const uint SKF_RALTLOCKED = 0x00200000; + + public const uint SKF_RCTLLOCKED = 0x00080000; + + public const uint SKF_RSHIFTLOCKED = 0x00020000; + + public const uint SKF_LWINLOCKED = 0x00400000; + + public const uint SKF_RWINLOCKED = 0x00800000; + + public const uint MKF_MOUSEKEYSON = 0x00000001; + + public const uint MKF_AVAILABLE = 0x00000002; + + public const uint MKF_HOTKEYACTIVE = 0x00000004; + + public const uint MKF_CONFIRMHOTKEY = 0x00000008; + + public const uint MKF_HOTKEYSOUND = 0x00000010; + + public const uint MKF_INDICATOR = 0x00000020; + + public const uint MKF_MODIFIERS = 0x00000040; + + public const uint MKF_REPLACENUMBERS = 0x00000080; + + public const uint MKF_LEFTBUTTONSEL = 0x10000000; + + public const uint MKF_RIGHTBUTTONSEL = 0x20000000; + + public const uint MKF_LEFTBUTTONDOWN = 0x01000000; + + public const uint MKF_RIGHTBUTTONDOWN = 0x02000000; + + public const uint MKF_MOUSEMODE = 0x80000000; + + public const int ATF_TIMEOUTON = 0x00000001; + + public const int ATF_ONOFFFEEDBACK = 0x00000002; + + public const int SSGF_NONE = 0; + + public const int SSGF_DISPLAY = 3; + + public const int SSTF_NONE = 0; + + public const int SSTF_CHARS = 1; + + public const int SSTF_BORDER = 2; + + public const int SSTF_DISPLAY = 3; + + public const int SSWF_NONE = 0; + + public const int SSWF_TITLE = 1; + + public const int SSWF_WINDOW = 2; + + public const int SSWF_DISPLAY = 3; + + public const int SSWF_CUSTOM = 4; + + public const int SSF_SOUNDSENTRYON = 0x00000001; + + public const int SSF_AVAILABLE = 0x00000002; + + public const int SSF_INDICATOR = 0x00000004; + + public const int TKF_TOGGLEKEYSON = 0x00000001; + + public const int TKF_AVAILABLE = 0x00000002; + + public const int TKF_HOTKEYACTIVE = 0x00000004; + + public const int TKF_CONFIRMHOTKEY = 0x00000008; + + public const int TKF_HOTKEYSOUND = 0x00000010; + + public const int TKF_INDICATOR = 0x00000020; + + public const int SLE_ERROR = 0x00000001; + + public const int SLE_MINORERROR = 0x00000002; + + public const int SLE_WARNING = 0x00000003; + + public const int MONITOR_DEFAULTTONULL = 0x00000000; + + public const int MONITOR_DEFAULTTOPRIMARY = 0x00000001; + + public const int MONITOR_DEFAULTTONEAREST = 0x00000002; + + public const int MONITORINFOF_PRIMARY = 0x00000001; + + public const int CCHDEVICENAME = 32; + + public const int WINEVENT_OUTOFCONTEXT = 0x0000; + + public const int WINEVENT_SKIPOWNTHREAD = 0x0001; + + public const int WINEVENT_SKIPOWNPROCESS = 0x0002; + + public const int WINEVENT_INCONTEXT = 0x0004; + + public const int CHILDID_SELF = 0; + + public const int INDEXID_OBJECT = 0; + + public const int INDEXID_CONTAINER = 0; + + public const int OBJID_WINDOW = 0x00000000; + + public const int OBJID_SYSMENU = unchecked((int)0xFFFFFFFF); + + public const int OBJID_TITLEBAR = unchecked((int)0xFFFFFFFE); + + public const int OBJID_MENU = unchecked((int)0xFFFFFFFD); + + public const int OBJID_CLIENT = unchecked((int)0xFFFFFFFC); + + public const int OBJID_VSCROLL = unchecked((int)0xFFFFFFFB); + + public const int OBJID_HSCROLL = unchecked((int)0xFFFFFFFA); + + public const int OBJID_SIZEGRIP = unchecked((int)0xFFFFFFF9); + + public const int OBJID_CARET = unchecked((int)0xFFFFFFF8); + + public const int OBJID_CURSOR = unchecked((int)0xFFFFFFF7); + + public const int OBJID_ALERT = unchecked((int)0xFFFFFFF6); + + public const int OBJID_SOUND = unchecked((int)0xFFFFFFF5); + + public const int OBJID_QUERYCLASSNAMEIDX = unchecked((int)0xFFFFFFF4); + + public const int OBJID_NATIVEOM = unchecked((int)0xFFFFFFF0); + + public const int EVENT_MIN = 0x00000001; + + public const int EVENT_MAX = 0x7FFFFFFF; + + public const int EVENT_SYSTEM_SOUND = 0x0001; + + public const int EVENT_SYSTEM_ALERT = 0x0002; + + public const int EVENT_SYSTEM_FOREGROUND = 0x0003; + + public const int EVENT_SYSTEM_MENUSTART = 0x0004; + + public const int EVENT_SYSTEM_MENUEND = 0x0005; + + public const int EVENT_SYSTEM_MENUPOPUPSTART = 0x0006; + + public const int EVENT_SYSTEM_MENUPOPUPEND = 0x0007; + + public const int EVENT_SYSTEM_CAPTURESTART = 0x0008; + + public const int EVENT_SYSTEM_CAPTUREEND = 0x0009; + + public const int EVENT_SYSTEM_MOVESIZESTART = 0x000A; + + public const int EVENT_SYSTEM_MOVESIZEEND = 0x000B; + + public const int EVENT_SYSTEM_CONTEXTHELPSTART = 0x000C; + + public const int EVENT_SYSTEM_CONTEXTHELPEND = 0x000D; + + public const int EVENT_SYSTEM_DRAGDROPSTART = 0x000E; + + public const int EVENT_SYSTEM_DRAGDROPEND = 0x000F; + + public const int EVENT_SYSTEM_DIALOGSTART = 0x0010; + + public const int EVENT_SYSTEM_DIALOGEND = 0x0011; + + public const int EVENT_SYSTEM_SCROLLINGSTART = 0x0012; + + public const int EVENT_SYSTEM_SCROLLINGEND = 0x0013; + + public const int EVENT_SYSTEM_SWITCHSTART = 0x0014; + + public const int EVENT_SYSTEM_SWITCHEND = 0x0015; + + public const int EVENT_SYSTEM_MINIMIZESTART = 0x0016; + + public const int EVENT_SYSTEM_MINIMIZEEND = 0x0017; + + public const int EVENT_SYSTEM_DESKTOPSWITCH = 0x0020; + + public const int EVENT_SYSTEM_SWITCHER_APPGRABBED = 0x0024; + + public const int EVENT_SYSTEM_SWITCHER_APPOVERTARGET = 0x0025; + + public const int EVENT_SYSTEM_SWITCHER_APPDROPPED = 0x0026; + + public const int EVENT_SYSTEM_SWITCHER_CANCELLED = 0x0027; + + public const int EVENT_SYSTEM_IME_KEY_NOTIFICATION = 0x0029; + + public const int EVENT_SYSTEM_END = 0x00FF; + + public const int EVENT_OEM_DEFINED_START = 0x0101; + + public const int EVENT_OEM_DEFINED_END = 0x01FF; + + public const int EVENT_UIA_EVENTID_START = 0x4E00; + + public const int EVENT_UIA_EVENTID_END = 0x4EFF; + + public const int EVENT_UIA_PROPID_START = 0x7500; + + public const int EVENT_UIA_PROPID_END = 0x75FF; + + public const int EVENT_CONSOLE_CARET = 0x4001; + + public const int EVENT_CONSOLE_UPDATE_REGION = 0x4002; + + public const int EVENT_CONSOLE_UPDATE_SIMPLE = 0x4003; + + public const int EVENT_CONSOLE_UPDATE_SCROLL = 0x4004; + + public const int EVENT_CONSOLE_LAYOUT = 0x4005; + + public const int EVENT_CONSOLE_START_APPLICATION = 0x4006; + + public const int EVENT_CONSOLE_END_APPLICATION = 0x4007; + + public const int CONSOLE_APPLICATION_16BIT = 0x0001; + + public const int CONSOLE_CARET_SELECTION = 0x0001; + + public const int CONSOLE_CARET_VISIBLE = 0x0002; + + public const int EVENT_CONSOLE_END = 0x40FF; + + public const int EVENT_OBJECT_CREATE = 0x8000; + + public const int EVENT_OBJECT_DESTROY = 0x8001; + + public const int EVENT_OBJECT_SHOW = 0x8002; + + public const int EVENT_OBJECT_HIDE = 0x8003; + + public const int EVENT_OBJECT_REORDER = 0x8004; + + public const int EVENT_OBJECT_FOCUS = 0x8005; + + public const int EVENT_OBJECT_SELECTION = 0x8006; + + public const int EVENT_OBJECT_SELECTIONADD = 0x8007; + + public const int EVENT_OBJECT_SELECTIONREMOVE = 0x8008; + + public const int EVENT_OBJECT_SELECTIONWITHIN = 0x8009; + + public const int EVENT_OBJECT_STATECHANGE = 0x800A; + + public const int EVENT_OBJECT_LOCATIONCHANGE = 0x800B; + + public const int EVENT_OBJECT_NAMECHANGE = 0x800C; + + public const int EVENT_OBJECT_DESCRIPTIONCHANGE = 0x800D; + + public const int EVENT_OBJECT_VALUECHANGE = 0x800E; + + public const int EVENT_OBJECT_PARENTCHANGE = 0x800F; + + public const int EVENT_OBJECT_HELPCHANGE = 0x8010; + + public const int EVENT_OBJECT_DEFACTIONCHANGE = 0x8011; + + public const int EVENT_OBJECT_ACCELERATORCHANGE = 0x8012; + + public const int EVENT_OBJECT_INVOKED = 0x8013; + + public const int EVENT_OBJECT_TEXTSELECTIONCHANGED = 0x8014; + + public const int EVENT_OBJECT_CONTENTSCROLLED = 0x8015; + + public const int EVENT_SYSTEM_ARRANGMENTPREVIEW = 0x8016; + + public const int EVENT_OBJECT_CLOAKED = 0x8017; + + public const int EVENT_OBJECT_UNCLOAKED = 0x8018; + + public const int EVENT_OBJECT_LIVEREGIONCHANGED = 0x8019; + + public const int EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED = 0x8020; + + public const int EVENT_OBJECT_DRAGSTART = 0x8021; + + public const int EVENT_OBJECT_DRAGCANCEL = 0x8022; + + public const int EVENT_OBJECT_DRAGCOMPLETE = 0x8023; + + public const int EVENT_OBJECT_DRAGENTER = 0x8024; + + public const int EVENT_OBJECT_DRAGLEAVE = 0x8025; + + public const int EVENT_OBJECT_DRAGDROPPED = 0x8026; + + public const int EVENT_OBJECT_IME_SHOW = 0x8027; + + public const int EVENT_OBJECT_IME_HIDE = 0x8028; + + public const int EVENT_OBJECT_IME_CHANGE = 0x8029; + + public const int EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED = 0x8030; + + public const int EVENT_OBJECT_END = 0x80FF; + + public const int EVENT_AIA_START = 0xA000; + + public const int EVENT_AIA_END = 0xAFFF; + + public const int SOUND_SYSTEM_STARTUP = 1; + + public const int SOUND_SYSTEM_SHUTDOWN = 2; + + public const int SOUND_SYSTEM_BEEP = 3; + + public const int SOUND_SYSTEM_ERROR = 4; + + public const int SOUND_SYSTEM_QUESTION = 5; + + public const int SOUND_SYSTEM_WARNING = 6; + + public const int SOUND_SYSTEM_INFORMATION = 7; + + public const int SOUND_SYSTEM_MAXIMIZE = 8; + + public const int SOUND_SYSTEM_MINIMIZE = 9; + + public const int SOUND_SYSTEM_RESTOREUP = 10; + + public const int SOUND_SYSTEM_RESTOREDOWN = 11; + + public const int SOUND_SYSTEM_APPSTART = 12; + + public const int SOUND_SYSTEM_FAULT = 13; + + public const int SOUND_SYSTEM_APPEND = 14; + + public const int SOUND_SYSTEM_MENUCOMMAND = 15; + + public const int SOUND_SYSTEM_MENUPOPUP = 16; + + public const int CSOUND_SYSTEM = 16; + + public const int ALERT_SYSTEM_INFORMATIONAL = 1; + + public const int ALERT_SYSTEM_WARNING = 2; + + public const int ALERT_SYSTEM_ERROR = 3; + + public const int ALERT_SYSTEM_QUERY = 4; + + public const int ALERT_SYSTEM_CRITICAL = 5; + + public const int CALERT_SYSTEM = 6; + + public const int GUI_CARETBLINKING = 0x00000001; + + public const int GUI_INMOVESIZE = 0x00000002; + + public const int GUI_INMENUMODE = 0x00000004; + + public const int GUI_SYSTEMMENUMODE = 0x00000008; + + public const int GUI_POPUPMENUMODE = 0x00000010; + + public const int GUI_16BITTASK = 0x00000020; + + public const int USER_DEFAULT_SCREEN_DPI = 96; + + public const int STATE_SYSTEM_UNAVAILABLE = 0x00000001; + + public const int STATE_SYSTEM_SELECTED = 0x00000002; + + public const int STATE_SYSTEM_FOCUSED = 0x00000004; + + public const int STATE_SYSTEM_PRESSED = 0x00000008; + + public const int STATE_SYSTEM_CHECKED = 0x00000010; + + public const int STATE_SYSTEM_MIXED = 0x00000020; + + public const int STATE_SYSTEM_INDETERMINATE = STATE_SYSTEM_MIXED; + + public const int STATE_SYSTEM_READONLY = 0x00000040; + + public const int STATE_SYSTEM_HOTTRACKED = 0x00000080; + + public const int STATE_SYSTEM_DEFAULT = 0x00000100; + + public const int STATE_SYSTEM_EXPANDED = 0x00000200; + + public const int STATE_SYSTEM_COLLAPSED = 0x00000400; + + public const int STATE_SYSTEM_BUSY = 0x00000800; + + public const int STATE_SYSTEM_FLOATING = 0x00001000; + + public const int STATE_SYSTEM_MARQUEED = 0x00002000; + + public const int STATE_SYSTEM_ANIMATED = 0x00004000; + + public const int STATE_SYSTEM_INVISIBLE = 0x00008000; + + public const int STATE_SYSTEM_OFFSCREEN = 0x00010000; + + public const int STATE_SYSTEM_SIZEABLE = 0x00020000; + + public const int STATE_SYSTEM_MOVEABLE = 0x00040000; + + public const int STATE_SYSTEM_SELFVOICING = 0x00080000; + + public const int STATE_SYSTEM_FOCUSABLE = 0x00100000; + + public const int STATE_SYSTEM_SELECTABLE = 0x00200000; + + public const int STATE_SYSTEM_LINKED = 0x00400000; + + public const int STATE_SYSTEM_TRAVERSED = 0x00800000; + + public const int STATE_SYSTEM_MULTISELECTABLE = 0x01000000; + + public const int STATE_SYSTEM_EXTSELECTABLE = 0x02000000; + + public const int STATE_SYSTEM_ALERT_LOW = 0x04000000; + + public const int STATE_SYSTEM_ALERT_MEDIUM = 0x08000000; + + public const int STATE_SYSTEM_ALERT_HIGH = 0x10000000; + + public const int STATE_SYSTEM_PROTECTED = 0x20000000; + + public const int STATE_SYSTEM_VALID = 0x3FFFFFFF; + + public const int CCHILDREN_TITLEBAR = 5; + + public const int CCHILDREN_SCROLLBAR = 5; + + public const int CURSOR_SHOWING = 0x00000001; + + public const int CURSOR_SUPPRESSED = 0x00000002; + + public const int WS_ACTIVECAPTION = 0x0001; + + public const int GA_PARENT = 1; + + public const int GA_ROOT = 2; + + public const int GA_ROOTOWNER = 3; + + public const int RIM_INPUT = 0; + + public const int RIM_INPUTSINK = 1; + + public const int RIM_TYPEMOUSE = 0; + + public const int RIM_TYPEKEYBOARD = 1; + + public const int RIM_TYPEHID = 2; + + public const int RIM_TYPEMAX = 2; + + public const int RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; + + public const int RI_MOUSE_LEFT_BUTTON_UP = 0x0002; + + public const int RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; + + public const int RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; + + public const int RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; + + public const int RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; + + public const int RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; + + public const int RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; + + public const int RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; + + public const int RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; + + public const int RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; + + public const int RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; + + public const int RI_MOUSE_BUTTON_4_DOWN = 0x0040; + + public const int RI_MOUSE_BUTTON_4_UP = 0x0080; + + public const int RI_MOUSE_BUTTON_5_DOWN = 0x0100; + + public const int RI_MOUSE_BUTTON_5_UP = 0x0200; + + public const int RI_MOUSE_HWHEEL = 0x0800; + + public const int MOUSE_MOVE_RELATIVE = 0; + + public const int MOUSE_MOVE_ABSOLUTE = 1; + + public const int MOUSE_VIRTUAL_DESKTOP = 0x02; + + public const int MOUSE_ATTRIBUTES_CHANGED = 0x04; + + public const int MOUSE_MOVE_NOCOALESCE = 0x08; + + public const int KEYBOARD_OVERRUN_MAKE_CODE = 0xFF; + + public const int RI_KEY_MAKE = 0; + + public const int RI_KEY_BREAK = 1; + + public const int RI_KEY_E0 = 2; + + public const int RI_KEY_E1 = 4; + + public const int RI_KEY_TERMSRV_SET_LED = 8; + + public const int RI_KEY_TERMSRV_SHADOW = 0x10; + + public const int RID_INPUT = 0x10000003; + + public const int RID_HEADER = 0x10000005; + + public const int RIDI_PREPARSEDDATA = 0x20000005; + + public const int RIDI_DEVICENAME = 0x20000007; + + public const int RIDI_DEVICEINFO = 0x2000000b; + + public const int RIDEV_REMOVE = 0x00000001; + + public const int RIDEV_EXCLUDE = 0x00000010; + + public const int RIDEV_PAGEONLY = 0x00000020; + + public const int RIDEV_NOLEGACY = 0x00000030; + + public const int RIDEV_INPUTSINK = 0x00000100; + + public const int RIDEV_CAPTUREMOUSE = 0x00000200; + + public const int RIDEV_NOHOTKEYS = 0x00000200; + + public const int RIDEV_APPKEYS = 0x00000400; + + public const int RIDEV_EXINPUTSINK = 0x00001000; + + public const int RIDEV_DEVNOTIFY = 0x00002000; + + public const int RIDEV_EXMODEMASK = 0x000000F0; + + public const int GIDC_ARRIVAL = 1; + + public const int GIDC_REMOVAL = 2; + + public const int POINTER_DEVICE_PRODUCT_STRING_MAX = 520; + + public const int PDC_ARRIVAL = 0x001; + + public const int PDC_REMOVAL = 0x002; + + public const int PDC_ORIENTATION_0 = 0x004; + + public const int PDC_ORIENTATION_90 = 0x008; + + public const int PDC_ORIENTATION_180 = 0x010; + + public const int PDC_ORIENTATION_270 = 0x020; + + public const int PDC_MODE_DEFAULT = 0x040; + + public const int PDC_MODE_CENTERED = 0x080; + + public const int PDC_MAPPING_CHANGE = 0x100; + + public const int PDC_RESOLUTION = 0x200; + + public const int PDC_ORIGIN = 0x400; + + public const int PDC_MODE_ASPECTRATIOPRESERVED = 0x800; + + public const int MSGFLT_ADD = 1; + + public const int MSGFLT_REMOVE = 2; + + public const int MSGFLTINFO_NONE = 0; + + public const int MSGFLTINFO_ALREADYALLOWED_FORWND = 1; + + public const int MSGFLTINFO_ALREADYDISALLOWED_FORWND = 2; + + public const int MSGFLTINFO_ALLOWED_HIGHER = 3; + + public const int MSGFLT_RESET = 0; + + public const int MSGFLT_ALLOW = 1; + + public const int MSGFLT_DISALLOW = 2; + + public const int GF_BEGIN = 0x00000001; + + public const int GF_INERTIA = 0x00000002; + + public const int GF_END = 0x00000004; + + public const int GID_BEGIN = 1; + + public const int GID_END = 2; + + public const int GID_ZOOM = 3; + + public const int GID_PAN = 4; + + public const int GID_ROTATE = 5; + + public const int GID_TWOFINGERTAP = 6; + + public const int GID_PRESSANDTAP = 7; + + public const int GID_ROLLOVER = GID_PRESSANDTAP; + + public const int GC_ALLGESTURES = 0x00000001; + + public const int GC_ZOOM = 0x00000001; + + public const int GC_PAN = 0x00000001; + + public const int GC_PAN_WITH_SINGLE_FINGER_VERTICALLY = 0x00000002; + + public const int GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY = 0x00000004; + + public const int GC_PAN_WITH_GUTTER = 0x00000008; + + public const int GC_PAN_WITH_INERTIA = 0x00000010; + + public const int GC_ROTATE = 0x00000001; + + public const int GC_TWOFINGERTAP = 0x00000001; + + public const int GC_PRESSANDTAP = 0x00000001; + + public const int GC_ROLLOVER = GC_PRESSANDTAP; + + public const int GESTURECONFIGMAXCOUNT = 256; + + public const int NID_INTEGRATED_TOUCH = 0x00000001; + + public const int NID_EXTERNAL_TOUCH = 0x00000002; + + public const int NID_INTEGRATED_PEN = 0x00000004; + + public const int NID_EXTERNAL_PEN = 0x00000008; + + public const int NID_MULTI_INPUT = 0x00000040; + + public const int NID_READY = 0x00000080; + + public const int MAX_STR_BLOCKREASON = 256; + + public static readonly IntPtr DWLP_DLGPROC = (IntPtr)(DWLP_MSGRESULT + IntPtr.Size); + + public static readonly IntPtr DWLP_USER = DWLP_DLGPROC + IntPtr.Size; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_INTRESOURCE([NativeTypeName("ULONG_PTR")] UIntPtr _r) + { + if (IntPtr.Size == 8) + { + return (_r.ToUInt64() >> 16) == 0; + } + else + { + return (_r.ToUInt32() >> 16) == 0; + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("LPWSTR")] + public static ushort* MAKEINTRESOURCE(ushort i) => (ushort*)(UIntPtr)i; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static POINT POINTSTOPOINT(POINTS pts) + { + return new POINT { + x = (short)LOWORD(*(uint*)&pts), + y = (short)HIWORD(*(uint*)&pts), + }; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int POINTTOPOINTS(POINTS pt) => MAKELONG((ushort)pt.x, (ushort)pt.y); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("WPARAM")] + public static UIntPtr MAKEWPARAM(ushort l, ushort h) => (UIntPtr)(uint)MAKELONG(l, h); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("LPARAM")] + public static IntPtr MAKELPARAM(ushort l, ushort h) => (IntPtr)(uint)MAKELONG(l, h); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("LRESULT")] + public static IntPtr MAKELRESULT(ushort l, ushort h) => (IntPtr)(uint)MAKELONG(l, h); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static short GET_APPCOMMAND_LPARAM([NativeTypeName("LPARAM")] IntPtr lParam) => ((short)(HIWORD((uint)lParam) & ~FAPPCOMMAND_MASK)); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_DEVICE_LPARAM([NativeTypeName("LPARAM")] IntPtr lParam) => ((ushort)(HIWORD((uint)lParam) & FAPPCOMMAND_MASK)); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_MOUSEORKEY_LPARAM([NativeTypeName("LPARAM")] IntPtr lParam) => GET_DEVICE_LPARAM(lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_FLAGS_LPARAM([NativeTypeName("LPARAM")] IntPtr lParam) => LOWORD((uint)lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_KEYSTATE_LPARAM([NativeTypeName("LPARAM")] IntPtr lParam) => GET_FLAGS_LPARAM(lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static short GET_WHEEL_DELTA_WPARAM([NativeTypeName("WPARAM")] UIntPtr wParam) => (short)HIWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_KEYSTATE_WPARAM([NativeTypeName("WPARAM")] UIntPtr wParam) => LOWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static short GET_NCHITTEST_WPARAM([NativeTypeName("WPARAM")] UIntPtr wParam) => (short)LOWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_XBUTTON_WPARAM([NativeTypeName("WPARAM")] UIntPtr wParam) => HIWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("BOOL")] + public static int ExitWindows(uint dwReserved, int Code) => ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("BOOL")] + public static int PostAppMessage([NativeTypeName("DWORD")] uint idThread, [NativeTypeName("UINT")] uint wMsg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam) => PostThreadMessage(idThread, wMsg, wParam, lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr CreateWindow([NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("LPCWSTR")] ushort* lpWindowName, [NativeTypeName("DWORD")] uint dwStyle, int x, int y, int nWidth, int nHeight, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPVOID")] void* lpParam) => CreateWindowEx(0, lpClassName, lpWindowName, dwStyle, x, y,nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr CreateDialog([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpName, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc) => CreateDialogParam(hInstance, lpName, hWndParent, lpDialogFunc, IntPtr.Zero); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr CreateDialogIndirect([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCDLGTEMPLATEW")] DLGTEMPLATE* lpTemplate, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc) => CreateDialogIndirectParam(hInstance, lpTemplate, hWndParent, lpDialogFunc, (IntPtr)0); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("INT_PTR")] + public static IntPtr DialogBox([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpTemplate, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc) => DialogBoxParam(hInstance, lpTemplate, hWndParent, lpDialogFunc, (IntPtr)0); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("INT_PTR")] + public static IntPtr DialogBoxIndirect([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCDLGTEMPLATEW")] DLGTEMPLATE* lpTemplate, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc) => DialogBoxIndirectParam(hInstance, lpTemplate, hWndParent, lpDialogFunc, (IntPtr)0); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int TOUCH_COORD_TO_PIXEL(int l) => l / 100; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_POINTERID_WPARAM(UIntPtr wParam) => LOWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_FLAG_SET_WPARAM(UIntPtr wParam, uint flag) => (HIWORD((uint)wParam) & flag) == flag; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_NEW_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_NEW); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_INRANGE_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INRANGE); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_INCONTACT_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_INCONTACT); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_FIRSTBUTTON_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIRSTBUTTON); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_SECONDBUTTON_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_SECONDBUTTON); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_THIRDBUTTON_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_THIRDBUTTON); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_FOURTHBUTTON_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FOURTHBUTTON); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_FIFTHBUTTON_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_FIFTHBUTTON); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_PRIMARY_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_PRIMARY); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool HAS_POINTER_CONFIDENCE_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CONFIDENCE); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool IS_POINTER_CANCELED_WPARAM(UIntPtr wParam) => IS_POINTER_FLAG_SET_WPARAM(wParam, POINTER_MESSAGE_FLAG_CANCELED); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("BOOL")] + public static int EnumTaskWindows(IntPtr hTask, [NativeTypeName("WNDENUMPROC")] IntPtr lpfn, [NativeTypeName("LPARAM")] IntPtr lParam) => EnumThreadWindows((uint)hTask, lpfn, lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr GetNextWindow([NativeTypeName("HWND")] IntPtr hWnd, ushort wCmd) => GetWindow(hWnd, wCmd); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr GetSysModalWindow() => IntPtr.Zero; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HWND")] + public static IntPtr SetSysModalWindow([NativeTypeName("HWND")] IntPtr hWnd) => IntPtr.Zero; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("HANDLE")] + public static void* GetWindowTask([NativeTypeName("HWND")] IntPtr hWnd) => (void*)(UIntPtr)GetWindowThreadProcessId(hWnd, null); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [return: NativeTypeName("LRESULT")] + public static IntPtr DefHookProc(int nCode, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam, [NativeTypeName("HHOOK")] IntPtr* phhk) => CallNextHookEx(*phhk, nCode, wParam, lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int GET_SC_WPARAM(UIntPtr wParam) => (int)wParam & 0xFFF0; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static UIntPtr GET_RAWINPUT_CODE_WPARAM(UIntPtr wParam) + { + if (UIntPtr.Size == 8) + { + return (UIntPtr)(wParam.ToUInt64() & 0xFF); + } + else + { + return (UIntPtr)(wParam.ToUInt32() & 0xFF); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static IntPtr RAWINPUT_ALIGN(IntPtr x) + { + if (IntPtr.Size == 8) + { + return (IntPtr)((x.ToInt64() + IntPtr.Size - 1) & ~(IntPtr.Size - 1)); + } + else + { + return (IntPtr)((x.ToInt32() + IntPtr.Size - 1) & ~(IntPtr.Size - 1)); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static RAWINPUT* NEXTRAWINPUTBLOCK(RAWINPUT* ptr) => (RAWINPUT*)(RAWINPUT_ALIGN((IntPtr)ptr) + (int)ptr->header.dwSize); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int RIDEV_EXMODE(int mode) => mode & RIDEV_EXMODEMASK; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_DEVICE_CHANGE_WPARAM(UIntPtr wParam) => LOWORD((uint)wParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GET_DEVICE_CHANGE_LPARAM(IntPtr lParam) => LOWORD((uint)lParam); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static ushort GID_ROTATE_ANGLE_TO_ARGUMENT(ushort _arg_) => (ushort)((_arg_ + (2.0 * 3.14159265)) / (4.0 * 3.14159265) * 65535.0); + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static double GID_ROTATE_ANGLE_FROM_ARGUMENT(double _arg_) => (_arg_ / 65535.0 * 4.0 * 3.14159265) - (2.0 * 3.14159265); + } +} diff --git a/sources/Interop/User32/um/winuser/User32.cs b/sources/Interop/User32/um/winuser/User32.cs index fab1eca7d9..bd3b809457 100644 --- a/sources/Interop/User32/um/winuser/User32.cs +++ b/sources/Interop/User32/um/winuser/User32.cs @@ -4,1021 +4,2199 @@ // Original source is Copyright © Microsoft. All rights reserved. using System; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace TerraFX.Interop { public static unsafe partial class User32 { - private const string DllName = nameof(User32); + private const string LibraryPath = "User32"; - public const int SW_HIDE = 0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wvsprintfW", ExactSpelling = true)] + public static extern int wvsprintf([NativeTypeName("LPWSTR")] ushort* param0, [NativeTypeName("LPCWSTR")] ushort* param1, [NativeTypeName("va_list")] sbyte* arglist); - public const int SW_SHOWNORMAL = 1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "wsprintfW", ExactSpelling = true)] + public static extern int wsprintf([NativeTypeName("LPWSTR")] ushort* param0, [NativeTypeName("LPCWSTR")] ushort* param1); - public const int SW_NORMAL = 1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadKeyboardLayoutW", ExactSpelling = true)] + [return: NativeTypeName("HKL")] + public static extern IntPtr LoadKeyboardLayout([NativeTypeName("LPCWSTR")] ushort* pwszKLID, [NativeTypeName("UINT")] uint Flags); - public const int SW_SHOWMINIMIZED = 2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ActivateKeyboardLayout", ExactSpelling = true)] + [return: NativeTypeName("HKL")] + public static extern IntPtr ActivateKeyboardLayout([NativeTypeName("HKL")] IntPtr hkl, [NativeTypeName("UINT")] uint Flags); - public const int SW_SHOWMAXIMIZED = 3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ToUnicodeEx", ExactSpelling = true)] + public static extern int ToUnicodeEx([NativeTypeName("UINT")] uint wVirtKey, [NativeTypeName("UINT")] uint wScanCode, [NativeTypeName("const BYTE *")] byte* lpKeyState, [NativeTypeName("LPWSTR")] ushort* pwszBuff, int cchBuff, [NativeTypeName("UINT")] uint wFlags, [NativeTypeName("HKL")] IntPtr dwhkl); - public const int SW_MAXIMIZE = 3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnloadKeyboardLayout", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnloadKeyboardLayout([NativeTypeName("HKL")] IntPtr hkl); - public const int SW_SHOWNOACTIVATE = 4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyboardLayoutNameW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetKeyboardLayoutName([NativeTypeName("LPWSTR")] ushort* pwszKLID); - public const int SW_SHOW = 5; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyboardLayoutList", ExactSpelling = true)] + public static extern int GetKeyboardLayoutList(int nBuff, [NativeTypeName("HKL *")] IntPtr* lpList); - public const int SW_MINIMIZE = 6; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyboardLayout", ExactSpelling = true)] + [return: NativeTypeName("HKL")] + public static extern IntPtr GetKeyboardLayout([NativeTypeName("DWORD")] uint idThread); - public const int SW_SHOWMINNOACTIVE = 7; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMouseMovePointsEx", ExactSpelling = true)] + public static extern int GetMouseMovePointsEx([NativeTypeName("UINT")] uint cbSize, [NativeTypeName("LPMOUSEMOVEPOINT")] MOUSEMOVEPOINT* lppt, [NativeTypeName("LPMOUSEMOVEPOINT")] MOUSEMOVEPOINT* lpptBuf, int nBufPoints, [NativeTypeName("DWORD")] uint resolution); - public const int SW_SHOWNA = 8; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDesktopW", ExactSpelling = true)] + [return: NativeTypeName("HDESK")] + public static extern IntPtr CreateDesktop([NativeTypeName("LPCWSTR")] ushort* lpszDesktop, [NativeTypeName("LPCWSTR")] ushort* lpszDevice, [NativeTypeName("DEVMODEW *")] DEVMODE* pDevmode, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess, [NativeTypeName("LPSECURITY_ATTRIBUTES")] SECURITY_ATTRIBUTES* lpsa); - public const int SW_RESTORE = 9; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDesktopExW", ExactSpelling = true)] + [return: NativeTypeName("HDESK")] + public static extern IntPtr CreateDesktopEx([NativeTypeName("LPCWSTR")] ushort* lpszDesktop, [NativeTypeName("LPCWSTR")] ushort* lpszDevice, [NativeTypeName("DEVMODEW *")] DEVMODE* pDevmode, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess, [NativeTypeName("LPSECURITY_ATTRIBUTES")] SECURITY_ATTRIBUTES* lpsa, [NativeTypeName("ULONG")] uint ulHeapSize, [NativeTypeName("PVOID")] void* pvoid); - public const int SW_SHOWDEFAULT = 10; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OpenDesktopW", ExactSpelling = true)] + [return: NativeTypeName("HDESK")] + public static extern IntPtr OpenDesktop([NativeTypeName("LPCWSTR")] ushort* lpszDesktop, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("BOOL")] int fInherit, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess); - public const int SW_FORCEMINIMIZE = 11; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OpenInputDesktop", ExactSpelling = true)] + [return: NativeTypeName("HDESK")] + public static extern IntPtr OpenInputDesktop([NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("BOOL")] int fInherit, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess); - public const int SW_MAX = 11; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDesktopsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumDesktops([NativeTypeName("HWINSTA")] IntPtr hwinsta, [NativeTypeName("DESKTOPENUMPROCW")] IntPtr lpEnumFunc, [NativeTypeName("LPARAM")] IntPtr lParam); - public const int GWL_WNDPROC = -4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDesktopWindows", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumDesktopWindows([NativeTypeName("HDESK")] IntPtr hDesktop, [NativeTypeName("WNDENUMPROC")] IntPtr lpfn, [NativeTypeName("LPARAM")] IntPtr lParam); - public const int GWL_HINSTANCE = -6; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SwitchDesktop", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SwitchDesktop([NativeTypeName("HDESK")] IntPtr hDesktop); - public const int GWL_HWNDPARENT = -8; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetThreadDesktop", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetThreadDesktop([NativeTypeName("HDESK")] IntPtr hDesktop); - public const int GWL_STYLE = -16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseDesktop", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseDesktop([NativeTypeName("HDESK")] IntPtr hDesktop); - public const int GWL_EXSTYLE = -20; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetThreadDesktop", ExactSpelling = true)] + [return: NativeTypeName("HDESK")] + public static extern IntPtr GetThreadDesktop([NativeTypeName("DWORD")] uint dwThreadId); - public const int GWL_USERDATA = -21; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateWindowStationW", ExactSpelling = true)] + [return: NativeTypeName("HWINSTA")] + public static extern IntPtr CreateWindowStation([NativeTypeName("LPCWSTR")] ushort* lpwinsta, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess, [NativeTypeName("LPSECURITY_ATTRIBUTES")] SECURITY_ATTRIBUTES* lpsa); - public const int GWL_ID = -12; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OpenWindowStationW", ExactSpelling = true)] + [return: NativeTypeName("HWINSTA")] + public static extern IntPtr OpenWindowStation([NativeTypeName("LPCWSTR")] ushort* lpszWinSta, [NativeTypeName("BOOL")] int fInherit, [NativeTypeName("ACCESS_MASK")] uint dwDesiredAccess); - public const int GWLP_WNDPROC = -4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumWindowStationsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumWindowStations([NativeTypeName("WINSTAENUMPROCW")] IntPtr lpEnumFunc, [NativeTypeName("LPARAM")] IntPtr lParam); - public const int GWLP_HINSTANCE = -6; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseWindowStation", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseWindowStation([NativeTypeName("HWINSTA")] IntPtr hWinSta); - public const int GWLP_HWNDPARENT = -8; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetProcessWindowStation", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProcessWindowStation([NativeTypeName("HWINSTA")] IntPtr hWinSta); - public const int GWLP_USERDATA = -21; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetProcessWindowStation", ExactSpelling = true)] + [return: NativeTypeName("HWINSTA")] + public static extern IntPtr GetProcessWindowStation(); - public const int GWLP_ID = -12; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetUserObjectSecurity", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetUserObjectSecurity([NativeTypeName("HANDLE")] void* hObj, [NativeTypeName("PSECURITY_INFORMATION")] uint* pSIRequested, [NativeTypeName("PSECURITY_DESCRIPTOR")] void* pSID); - public const uint WM_NULL = 0x0000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUserObjectSecurity", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetUserObjectSecurity([NativeTypeName("HANDLE")] void* hObj, [NativeTypeName("PSECURITY_INFORMATION")] uint* pSIRequested, [NativeTypeName("PSECURITY_DESCRIPTOR")] void* pSID, [NativeTypeName("DWORD")] uint nLength, [NativeTypeName("LPDWORD")] uint* lpnLengthNeeded); - public const uint WM_CREATE = 0x0001; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUserObjectInformationW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetUserObjectInformation([NativeTypeName("HANDLE")] void* hObj, int nIndex, [NativeTypeName("PVOID")] void* pvInfo, [NativeTypeName("DWORD")] uint nLength, [NativeTypeName("LPDWORD")] uint* lpnLengthNeeded); - public const uint WM_DESTROY = 0x0002; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetUserObjectInformationW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetUserObjectInformation([NativeTypeName("HANDLE")] void* hObj, int nIndex, [NativeTypeName("PVOID")] void* pvInfo, [NativeTypeName("DWORD")] uint nLength); - public const uint WM_MOVE = 0x0003; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsHungAppWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsHungAppWindow([NativeTypeName("HWND")] IntPtr hwnd); - public const uint WM_SIZE = 0x0005; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DisableProcessWindowsGhosting", ExactSpelling = true)] + public static extern void DisableProcessWindowsGhosting(); - public const uint WM_ACTIVATE = 0x0006; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterWindowMessageW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint RegisterWindowMessage([NativeTypeName("LPCWSTR")] ushort* lpString); - public const uint WM_SETFOCUS = 0x0007; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TrackMouseEvent", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TrackMouseEvent([NativeTypeName("LPTRACKMOUSEEVENT")] TRACKMOUSEEVENT* lpEventTrack); - public const uint WM_KILLFOCUS = 0x0008; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawEdge", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawEdge([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPRECT")] RECT* qrc, [NativeTypeName("UINT")] uint edge, [NativeTypeName("UINT")] uint grfFlags); - public const uint WM_ENABLE = 0x000A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawFrameControl", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawFrameControl([NativeTypeName("HDC")] IntPtr param0, [NativeTypeName("LPRECT")] RECT* param1, [NativeTypeName("UINT")] uint param2, [NativeTypeName("UINT")] uint param3); - public const uint WM_SETREDRAW = 0x000B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawCaption", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawCaption([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("const RECT *")] RECT* lprect, [NativeTypeName("UINT")] uint flags); - public const uint WM_SETTEXT = 0x000C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawAnimatedRects", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawAnimatedRects([NativeTypeName("HWND")] IntPtr hwnd, int idAni, [NativeTypeName("const RECT *")] RECT* lprcFrom, [NativeTypeName("const RECT *")] RECT* lprcTo); - public const uint WM_GETTEXT = 0x000D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMessage([NativeTypeName("LPMSG")] MSG* lpMsg, [NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint wMsgFilterMin, [NativeTypeName("UINT")] uint wMsgFilterMax); - public const uint WM_GETTEXTLENGTH = 0x000E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TranslateMessage", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TranslateMessage([NativeTypeName("const MSG *")] MSG* lpMsg); - public const uint WM_PAINT = 0x000F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DispatchMessageW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr DispatchMessage([NativeTypeName("const MSG *")] MSG* lpMsg); - public const uint WM_CLOSE = 0x0010; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMessageQueue", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMessageQueue(int cMessagesMax); - public const uint WM_QUERYENDSESSION = 0x0011; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PeekMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PeekMessage([NativeTypeName("LPMSG")] MSG* lpMsg, [NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint wMsgFilterMin, [NativeTypeName("UINT")] uint wMsgFilterMax, [NativeTypeName("UINT")] uint wRemoveMsg); - public const uint WM_QUERYOPEN = 0x0013; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterHotKey", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterHotKey([NativeTypeName("HWND")] IntPtr hWnd, int id, [NativeTypeName("UINT")] uint fsModifiers, [NativeTypeName("UINT")] uint vk); - public const uint WM_ENDSESSION = 0x0016; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterHotKey", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterHotKey([NativeTypeName("HWND")] IntPtr hWnd, int id); - public const uint WM_QUIT = 0x0012; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExitWindowsEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ExitWindowsEx([NativeTypeName("UINT")] uint uFlags, [NativeTypeName("DWORD")] uint dwReason); - public const uint WM_ERASEBKGND = 0x0014; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SwapMouseButton", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SwapMouseButton([NativeTypeName("BOOL")] int fSwap); - public const uint WM_SYSCOLORCHANGE = 0x0015; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMessagePos", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetMessagePos(); - public const uint WM_SHOWWINDOW = 0x0018; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMessageTime", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int GetMessageTime(); - public const uint WM_WININICHANGE = 0x001A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMessageExtraInfo", ExactSpelling = true)] + [return: NativeTypeName("LPARAM")] + public static extern IntPtr GetMessageExtraInfo(); - public const uint WM_SETTINGCHANGE = WM_WININICHANGE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUnpredictedMessagePos", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetUnpredictedMessagePos(); - public const uint WM_DEVMODECHANGE = 0x001B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWow64Message", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWow64Message(); - public const uint WM_ACTIVATEAPP = 0x001C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMessageExtraInfo", ExactSpelling = true)] + [return: NativeTypeName("LPARAM")] + public static extern IntPtr SetMessageExtraInfo([NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_FONTCHANGE = 0x001D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendMessageW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr SendMessage([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_TIMECHANGE = 0x001E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendMessageTimeoutW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr SendMessageTimeout([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam, [NativeTypeName("UINT")] uint fuFlags, [NativeTypeName("UINT")] uint uTimeout, [NativeTypeName("PDWORD_PTR")] UIntPtr* lpdwResult); - public const uint WM_CANCELMODE = 0x001F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendNotifyMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SendNotifyMessage([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_SETCURSOR = 0x0020; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendMessageCallbackW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SendMessageCallback([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam, [NativeTypeName("SENDASYNCPROC")] IntPtr lpResultCallBack, [NativeTypeName("ULONG_PTR")] UIntPtr dwData); - public const uint WM_MOUSEACTIVATE = 0x0021; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BroadcastSystemMessageExW", ExactSpelling = true)] + [return: NativeTypeName("long")] + public static extern int BroadcastSystemMessageEx([NativeTypeName("DWORD")] uint flags, [NativeTypeName("LPDWORD")] uint* lpInfo, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam, [NativeTypeName("PBSMINFO")] BSMINFO* pbsmInfo); - public const uint WM_CHILDACTIVATE = 0x0022; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BroadcastSystemMessageW", ExactSpelling = true)] + [return: NativeTypeName("long")] + public static extern int BroadcastSystemMessage([NativeTypeName("DWORD")] uint flags, [NativeTypeName("LPDWORD")] uint* lpInfo, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_QUEUESYNC = 0x0023; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterDeviceNotificationW", ExactSpelling = true)] + [return: NativeTypeName("HDEVNOTIFY")] + public static extern void* RegisterDeviceNotification([NativeTypeName("HANDLE")] void* hRecipient, [NativeTypeName("LPVOID")] void* NotificationFilter, [NativeTypeName("DWORD")] uint Flags); - public const uint WM_GETMINMAXINFO = 0x0024; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterDeviceNotification", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterDeviceNotification([NativeTypeName("HDEVNOTIFY")] void* Handle); - public const uint WM_PAINTICON = 0x0026; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterPowerSettingNotification", ExactSpelling = true)] + [return: NativeTypeName("HPOWERNOTIFY")] + public static extern void* RegisterPowerSettingNotification([NativeTypeName("HANDLE")] void* hRecipient, [NativeTypeName("LPCGUID")] Guid* PowerSettingGuid, [NativeTypeName("DWORD")] uint Flags); - public const uint WM_ICONERASEBKGND = 0x0027; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterPowerSettingNotification", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterPowerSettingNotification([NativeTypeName("HPOWERNOTIFY")] void* Handle); - public const uint WM_NEXTDLGCTL = 0x0028; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterSuspendResumeNotification", ExactSpelling = true)] + [return: NativeTypeName("HPOWERNOTIFY")] + public static extern void* RegisterSuspendResumeNotification([NativeTypeName("HANDLE")] void* hRecipient, [NativeTypeName("DWORD")] uint Flags); - public const uint WM_SPOOLERSTATUS = 0x002A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterSuspendResumeNotification", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterSuspendResumeNotification([NativeTypeName("HPOWERNOTIFY")] void* Handle); - public const uint WM_DRAWITEM = 0x002B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PostMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PostMessage([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_MEASUREITEM = 0x002C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PostThreadMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PostThreadMessage([NativeTypeName("DWORD")] uint idThread, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_DELETEITEM = 0x002D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AttachThreadInput", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AttachThreadInput([NativeTypeName("DWORD")] uint idAttach, [NativeTypeName("DWORD")] uint idAttachTo, [NativeTypeName("BOOL")] int fAttach); - public const uint WM_VKEYTOITEM = 0x002E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ReplyMessage", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ReplyMessage([NativeTypeName("LRESULT")] IntPtr lResult); - public const uint WM_CHARTOITEM = 0x002F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WaitMessage", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int WaitMessage(); - public const uint WM_SETFONT = 0x0030; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WaitForInputIdle", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint WaitForInputIdle([NativeTypeName("HANDLE")] void* hProcess, [NativeTypeName("DWORD")] uint dwMilliseconds); - public const uint WM_GETFONT = 0x0031; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefWindowProcW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr DefWindowProc([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_SETHOTKEY = 0x0032; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PostQuitMessage", ExactSpelling = true)] + public static extern void PostQuitMessage(int nExitCode); - public const uint WM_GETHOTKEY = 0x0033; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CallWindowProcW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr CallWindowProc([NativeTypeName("WNDPROC")] IntPtr lpPrevWndFunc, [NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_QUERYDRAGICON = 0x0037; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InSendMessage", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InSendMessage(); - public const uint WM_COMPAREITEM = 0x0039; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InSendMessageEx", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint InSendMessageEx([NativeTypeName("LPVOID")] void* lpReserved); - public const uint WM_GETOBJECT = 0x003D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDoubleClickTime", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDoubleClickTime(); - public const uint WM_COMPACTING = 0x0041; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDoubleClickTime", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDoubleClickTime([NativeTypeName("UINT")] uint param0); - public const uint WM_COMMNOTIFY = 0x0044; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterClassW", ExactSpelling = true)] + [return: NativeTypeName("ATOM")] + public static extern ushort RegisterClass([NativeTypeName("const WNDCLASSW *")] WNDCLASS* lpWndClass); - public const uint WM_WINDOWPOSCHANGING = 0x0046; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterClassW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterClass([NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("HINSTANCE")] IntPtr hInstance); - public const uint WM_WINDOWPOSCHANGED = 0x0047; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassInfoW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetClassInfo([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("LPWNDCLASSW")] WNDCLASS* lpWndClass); - public const uint WM_POWER = 0x0048; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterClassExW", ExactSpelling = true)] + [return: NativeTypeName("ATOM")] + public static extern ushort RegisterClassEx([NativeTypeName("const WNDCLASSEXW *")] WNDCLASSEX* param0); - public const uint WM_COPYDATA = 0x004A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassInfoExW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetClassInfoEx([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpszClass, [NativeTypeName("LPWNDCLASSEXW")] WNDCLASSEX* lpwcx); - public const uint WM_CANCELJOURNAL = 0x004B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateWindowExW", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr CreateWindowEx([NativeTypeName("DWORD")] uint dwExStyle, [NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("LPCWSTR")] ushort* lpWindowName, [NativeTypeName("DWORD")] uint dwStyle, int X, int Y, int nWidth, int nHeight, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPVOID")] void* lpParam); - public const uint WM_NOTIFY = 0x004E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_INPUTLANGCHANGEREQUEST = 0x0050; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsMenu([NativeTypeName("HMENU")] IntPtr hMenu); - public const uint WM_INPUTLANGCHANGE = 0x0051; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsChild", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsChild([NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_TCARD = 0x0052; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DestroyWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_HELP = 0x0053; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShowWindow([NativeTypeName("HWND")] IntPtr hWnd, int nCmdShow); - public const uint WM_USERCHANGED = 0x0054; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AnimateWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AnimateWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("DWORD")] uint dwTime, [NativeTypeName("DWORD")] uint dwFlags); - public const uint WM_NOTIFYFORMAT = 0x0055; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UpdateLayeredWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UpdateLayeredWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HDC")] IntPtr hdcDst, [NativeTypeName("POINT *")] POINT* pptDst, [NativeTypeName("SIZE *")] SIZE* psize, [NativeTypeName("HDC")] IntPtr hdcSrc, [NativeTypeName("POINT *")] POINT* pptSrc, [NativeTypeName("COLORREF")] uint crKey, [NativeTypeName("BLENDFUNCTION *")] BLENDFUNCTION* pblend, [NativeTypeName("DWORD")] uint dwFlags); - public const uint WM_CONTEXTMENU = 0x007B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UpdateLayeredWindowIndirect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UpdateLayeredWindowIndirect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const UPDATELAYEREDWINDOWINFO *")] UPDATELAYEREDWINDOWINFO* pULWInfo); - public const uint WM_STYLECHANGING = 0x007C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetLayeredWindowAttributes", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetLayeredWindowAttributes([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("COLORREF *")] uint* pcrKey, [NativeTypeName("BYTE *")] byte* pbAlpha, [NativeTypeName("DWORD *")] uint* pdwFlags); - public const uint WM_STYLECHANGED = 0x007D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PrintWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PrintWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("HDC")] IntPtr hdcBlt, [NativeTypeName("UINT")] uint nFlags); - public const uint WM_DISPLAYCHANGE = 0x007E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetLayeredWindowAttributes", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetLayeredWindowAttributes([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("COLORREF")] uint crKey, [NativeTypeName("BYTE")] byte bAlpha, [NativeTypeName("DWORD")] uint dwFlags); - public const uint WM_GETICON = 0x007F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowWindowAsync", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShowWindowAsync([NativeTypeName("HWND")] IntPtr hWnd, int nCmdShow); - public const uint WM_SETICON = 0x0080; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FlashWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FlashWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("BOOL")] int bInvert); - public const uint WM_NCCREATE = 0x0081; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FlashWindowEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int FlashWindowEx([NativeTypeName("PFLASHWINFO")] FLASHWINFO* pfwi); - public const uint WM_NCDESTROY = 0x0082; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowOwnedPopups", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShowOwnedPopups([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("BOOL")] int fShow); - public const uint WM_NCCALCSIZE = 0x0083; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OpenIcon", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OpenIcon([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCHITTEST = 0x0084; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCPAINT = 0x0085; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MoveWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int MoveWindow([NativeTypeName("HWND")] IntPtr hWnd, int X, int Y, int nWidth, int nHeight, [NativeTypeName("BOOL")] int bRepaint); - public const uint WM_NCACTIVATE = 0x0086; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowPos([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HWND")] IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_GETDLGCODE = 0x0087; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowPlacement", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowPlacement([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("WINDOWPLACEMENT *")] WINDOWPLACEMENT* lpwndpl); - public const uint WM_SYNCPAINT = 0x0088; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowPlacement", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowPlacement([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const WINDOWPLACEMENT *")] WINDOWPLACEMENT* lpwndpl); - public const uint WM_NCMOUSEMOVE = 0x00A0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowDisplayAffinity", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowDisplayAffinity([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("DWORD *")] uint* pdwAffinity); - public const uint WM_NCLBUTTONDOWN = 0x00A1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowDisplayAffinity", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowDisplayAffinity([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("DWORD")] uint dwAffinity); - public const uint WM_NCLBUTTONUP = 0x00A2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BeginDeferWindowPos", ExactSpelling = true)] + [return: NativeTypeName("HDWP")] + public static extern void* BeginDeferWindowPos(int nNumWindows); - public const uint WM_NCLBUTTONDBLCLK = 0x00A3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeferWindowPos", ExactSpelling = true)] + [return: NativeTypeName("HDWP")] + public static extern void* DeferWindowPos([NativeTypeName("HDWP")] void* hWinPosInfo, [NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HWND")] IntPtr hWndInsertAfter, int x, int y, int cx, int cy, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_NCRBUTTONDOWN = 0x00A4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndDeferWindowPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EndDeferWindowPos([NativeTypeName("HDWP")] void* hWinPosInfo); - public const uint WM_NCRBUTTONUP = 0x00A5; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWindowVisible", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWindowVisible([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCRBUTTONDBLCLK = 0x00A6; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsIconic", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsIconic([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCMBUTTONDOWN = 0x00A7; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AnyPopup", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AnyPopup(); - public const uint WM_NCMBUTTONUP = 0x00A8; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BringWindowToTop", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int BringWindowToTop([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCMBUTTONDBLCLK = 0x00A9; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsZoomed", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsZoomed([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_NCXBUTTONDOWN = 0x00AB; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDialogParamW", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr CreateDialogParam([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpTemplateName, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc, [NativeTypeName("LPARAM")] IntPtr dwInitParam); - public const uint WM_NCXBUTTONUP = 0x00AC; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateDialogIndirectParamW", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr CreateDialogIndirectParam([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCDLGTEMPLATEW")] DLGTEMPLATE* lpTemplate, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc, [NativeTypeName("LPARAM")] IntPtr dwInitParam); - public const uint WM_NCXBUTTONDBLCLK = 0x00AD; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DialogBoxParamW", ExactSpelling = true)] + [return: NativeTypeName("INT_PTR")] + public static extern IntPtr DialogBoxParam([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpTemplateName, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc, [NativeTypeName("LPARAM")] IntPtr dwInitParam); - public const uint WM_INPUT_DEVICE_CHANGE = 0x00FE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DialogBoxIndirectParamW", ExactSpelling = true)] + [return: NativeTypeName("INT_PTR")] + public static extern IntPtr DialogBoxIndirectParam([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCDLGTEMPLATEW")] DLGTEMPLATE* hDialogTemplate, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("DLGPROC")] IntPtr lpDialogFunc, [NativeTypeName("LPARAM")] IntPtr dwInitParam); - public const uint WM_INPUT = 0x00FF; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndDialog", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EndDialog([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("INT_PTR")] IntPtr nResult); - public const uint WM_KEYFIRST = 0x0100; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDlgItem", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetDlgItem([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem); - public const uint WM_KEYDOWN = 0x0100; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDlgItemInt", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDlgItemInt([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem, [NativeTypeName("UINT")] uint uValue, [NativeTypeName("BOOL")] int bSigned); - public const uint WM_KEYUP = 0x0101; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDlgItemInt", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDlgItemInt([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem, [NativeTypeName("BOOL *")] int* lpTranslated, [NativeTypeName("BOOL")] int bSigned); - public const uint WM_CHAR = 0x0102; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDlgItemTextW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDlgItemText([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem, [NativeTypeName("LPCWSTR")] ushort* lpString); - public const uint WM_DEADCHAR = 0x0103; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDlgItemTextW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDlgItemText([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem, [NativeTypeName("LPWSTR")] ushort* lpString, int cchMax); - public const uint WM_SYSKEYDOWN = 0x0104; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CheckDlgButton", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CheckDlgButton([NativeTypeName("HWND")] IntPtr hDlg, int nIDButton, [NativeTypeName("UINT")] uint uCheck); - public const uint WM_SYSKEYUP = 0x0105; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CheckRadioButton", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CheckRadioButton([NativeTypeName("HWND")] IntPtr hDlg, int nIDFirstButton, int nIDLastButton, int nIDCheckButton); - public const uint WM_SYSCHAR = 0x0106; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsDlgButtonChecked", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint IsDlgButtonChecked([NativeTypeName("HWND")] IntPtr hDlg, int nIDButton); - public const uint WM_SYSDEADCHAR = 0x0107; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendDlgItemMessageW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr SendDlgItemMessage([NativeTypeName("HWND")] IntPtr hDlg, int nIDDlgItem, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_UNICHAR = 0x0109; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetNextDlgGroupItem", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetNextDlgGroupItem([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("HWND")] IntPtr hCtl, [NativeTypeName("BOOL")] int bPrevious); - public const uint WM_KEYLAST = 0x0109; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetNextDlgTabItem", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetNextDlgTabItem([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("HWND")] IntPtr hCtl, [NativeTypeName("BOOL")] int bPrevious); - public const uint WM_IME_STARTCOMPOSITION = 0x010D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDlgCtrlID", ExactSpelling = true)] + public static extern int GetDlgCtrlID([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_IME_ENDCOMPOSITION = 0x010E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDialogBaseUnits", ExactSpelling = true)] + [return: NativeTypeName("long")] + public static extern int GetDialogBaseUnits(); - public const uint WM_IME_COMPOSITION = 0x010F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefDlgProcW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr DefDlgProc([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WM_IME_KEYLAST = 0x010F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDialogControlDpiChangeBehavior", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDialogControlDpiChangeBehavior([NativeTypeName("HWND")] IntPtr hWnd, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values); - public const uint WM_INITDIALOG = 0x0110; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDialogControlDpiChangeBehavior", ExactSpelling = true)] + public static extern DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS GetDialogControlDpiChangeBehavior([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_COMMAND = 0x0111; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDialogDpiChangeBehavior", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDialogDpiChangeBehavior([NativeTypeName("HWND")] IntPtr hDlg, DIALOG_DPI_CHANGE_BEHAVIORS mask, DIALOG_DPI_CHANGE_BEHAVIORS values); - public const uint WM_SYSCOMMAND = 0x0112; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDialogDpiChangeBehavior", ExactSpelling = true)] + public static extern DIALOG_DPI_CHANGE_BEHAVIORS GetDialogDpiChangeBehavior([NativeTypeName("HWND")] IntPtr hDlg); - public const uint WM_TIMER = 0x0113; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CallMsgFilterW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CallMsgFilter([NativeTypeName("LPMSG")] MSG* lpMsg, int nCode); - public const uint WM_HSCROLL = 0x0114; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OpenClipboard", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OpenClipboard([NativeTypeName("HWND")] IntPtr hWndNewOwner); - public const uint WM_VSCROLL = 0x0115; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseClipboard", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseClipboard(); - public const uint WM_INITMENU = 0x0116; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipboardSequenceNumber", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetClipboardSequenceNumber(); - public const uint WM_INITMENUPOPUP = 0x0117; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipboardOwner", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetClipboardOwner(); - public const uint WM_GESTURE = 0x0119; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetClipboardViewer", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr SetClipboardViewer([NativeTypeName("HWND")] IntPtr hWndNewViewer); - public const uint WM_GESTURENOTIFY = 0x011A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipboardViewer", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetClipboardViewer(); - public const uint WM_MENUSELECT = 0x011F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeClipboardChain", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ChangeClipboardChain([NativeTypeName("HWND")] IntPtr hWndRemove, [NativeTypeName("HWND")] IntPtr hWndNewNext); - public const uint WM_MENUCHAR = 0x0120; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetClipboardData", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* SetClipboardData([NativeTypeName("UINT")] uint uFormat, [NativeTypeName("HANDLE")] void* hMem); - public const uint WM_ENTERIDLE = 0x0121; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipboardData", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* GetClipboardData([NativeTypeName("UINT")] uint uFormat); - public const uint WM_MENURBUTTONUP = 0x0122; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterClipboardFormatW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint RegisterClipboardFormat([NativeTypeName("LPCWSTR")] ushort* lpszFormat); - public const uint WM_MENUDRAG = 0x0123; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CountClipboardFormats", ExactSpelling = true)] + public static extern int CountClipboardFormats(); - public const uint WM_MENUGETOBJECT = 0x0124; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumClipboardFormats", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint EnumClipboardFormats([NativeTypeName("UINT")] uint format); - public const uint WM_UNINITMENUPOPUP = 0x0125; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipboardFormatNameW", ExactSpelling = true)] + public static extern int GetClipboardFormatName([NativeTypeName("UINT")] uint format, [NativeTypeName("LPWSTR")] ushort* lpszFormatName, int cchMaxCount); - public const uint WM_MENUCOMMAND = 0x0126; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EmptyClipboard", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EmptyClipboard(); - public const uint WM_CHANGEUISTATE = 0x0127; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsClipboardFormatAvailable", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsClipboardFormatAvailable([NativeTypeName("UINT")] uint format); - public const uint WM_UPDATEUISTATE = 0x0128; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPriorityClipboardFormat", ExactSpelling = true)] + public static extern int GetPriorityClipboardFormat([NativeTypeName("UINT *")] uint* paFormatPriorityList, int cFormats); - public const uint WM_QUERYUISTATE = 0x0129; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetOpenClipboardWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetOpenClipboardWindow(); - public const uint WM_CTLCOLORMSGBOX = 0x0132; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AddClipboardFormatListener", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AddClipboardFormatListener([NativeTypeName("HWND")] IntPtr hwnd); - public const uint WM_CTLCOLOREDIT = 0x0133; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemoveClipboardFormatListener", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RemoveClipboardFormatListener([NativeTypeName("HWND")] IntPtr hwnd); - public const uint WM_CTLCOLORLISTBOX = 0x0134; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUpdatedClipboardFormats", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetUpdatedClipboardFormats([NativeTypeName("PUINT")] uint* lpuiFormats, [NativeTypeName("UINT")] uint cFormats, [NativeTypeName("PUINT")] uint* pcFormatsOut); - public const uint WM_CTLCOLORBTN = 0x0135; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharToOemW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CharToOem([NativeTypeName("LPCWSTR")] ushort* pSrc, [NativeTypeName("LPSTR")] sbyte* pDst); - public const uint WM_CTLCOLORDLG = 0x0136; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OemToCharW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OemToChar([NativeTypeName("LPCSTR")] sbyte* pSrc, [NativeTypeName("LPWSTR")] ushort* pDst); - public const uint WM_CTLCOLORSCROLLBAR = 0x0137; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharToOemBuffW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CharToOemBuff([NativeTypeName("LPCWSTR")] ushort* lpszSrc, [NativeTypeName("LPSTR")] sbyte* lpszDst, [NativeTypeName("DWORD")] uint cchDstLength); - public const uint WM_CTLCOLORSTATIC = 0x0138; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OemToCharBuffW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OemToCharBuff([NativeTypeName("LPCSTR")] sbyte* lpszSrc, [NativeTypeName("LPWSTR")] ushort* lpszDst, [NativeTypeName("DWORD")] uint cchDstLength); - public const uint WM_GETHMENU = 0x01E1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharUpperW", ExactSpelling = true)] + [return: NativeTypeName("LPWSTR")] + public static extern ushort* CharUpper([NativeTypeName("LPWSTR")] ushort* lpsz); - public const uint WM_MOUSEFIRST = 0x0200; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharUpperBuffW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint CharUpperBuff([NativeTypeName("LPWSTR")] ushort* lpsz, [NativeTypeName("DWORD")] uint cchLength); - public const uint WM_MOUSEMOVE = 0x0200; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharLowerW", ExactSpelling = true)] + [return: NativeTypeName("LPWSTR")] + public static extern ushort* CharLower([NativeTypeName("LPWSTR")] ushort* lpsz); - public const uint WM_LBUTTONDOWN = 0x0201; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharLowerBuffW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint CharLowerBuff([NativeTypeName("LPWSTR")] ushort* lpsz, [NativeTypeName("DWORD")] uint cchLength); - public const uint WM_LBUTTONUP = 0x0202; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharNextW", ExactSpelling = true)] + [return: NativeTypeName("LPWSTR")] + public static extern ushort* CharNext([NativeTypeName("LPCWSTR")] ushort* lpsz); - public const uint WM_LBUTTONDBLCLK = 0x0203; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CharPrevW", ExactSpelling = true)] + [return: NativeTypeName("LPWSTR")] + public static extern ushort* CharPrev([NativeTypeName("LPCWSTR")] ushort* lpszStart, [NativeTypeName("LPCWSTR")] ushort* lpszCurrent); - public const uint WM_RBUTTONDOWN = 0x0204; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsCharAlphaW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsCharAlpha([NativeTypeName("WCHAR")] ushort ch); - public const uint WM_RBUTTONUP = 0x0205; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsCharAlphaNumericW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsCharAlphaNumeric([NativeTypeName("WCHAR")] ushort ch); - public const uint WM_RBUTTONDBLCLK = 0x0206; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsCharUpperW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsCharUpper([NativeTypeName("WCHAR")] ushort ch); - public const uint WM_MBUTTONDOWN = 0x0207; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsCharLowerW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsCharLower([NativeTypeName("WCHAR")] ushort ch); - public const uint WM_MBUTTONUP = 0x0208; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetFocus", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr SetFocus([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_MBUTTONDBLCLK = 0x0209; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetActiveWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetActiveWindow(); - public const uint WM_MOUSEWHEEL = 0x020A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetFocus", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetFocus(); - public const uint WM_XBUTTONDOWN = 0x020B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKBCodePage", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetKBCodePage(); - public const uint WM_XBUTTONUP = 0x020C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyState", ExactSpelling = true)] + [return: NativeTypeName("SHORT")] + public static extern short GetKeyState(int nVirtKey); - public const uint WM_XBUTTONDBLCLK = 0x020D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAsyncKeyState", ExactSpelling = true)] + [return: NativeTypeName("SHORT")] + public static extern short GetAsyncKeyState(int vKey); - public const uint WM_MOUSEHWHEEL = 0x020E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyboardState", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetKeyboardState([NativeTypeName("PBYTE")] byte* lpKeyState); - public const uint WM_MOUSELAST = 0x020E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetKeyboardState", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetKeyboardState([NativeTypeName("LPBYTE")] byte* lpKeyState); - public const uint WM_PARENTNOTIFY = 0x0210; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyNameTextW", ExactSpelling = true)] + public static extern int GetKeyNameText([NativeTypeName("LONG")] int lParam, [NativeTypeName("LPWSTR")] ushort* lpString, int cchSize); - public const uint WM_ENTERMENULOOP = 0x0211; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetKeyboardType", ExactSpelling = true)] + public static extern int GetKeyboardType(int nTypeFlag); - public const uint WM_EXITMENULOOP = 0x0212; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ToAscii", ExactSpelling = true)] + public static extern int ToAscii([NativeTypeName("UINT")] uint uVirtKey, [NativeTypeName("UINT")] uint uScanCode, [NativeTypeName("const BYTE *")] byte* lpKeyState, [NativeTypeName("LPWORD")] ushort* lpChar, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_NEXTMENU = 0x0213; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ToAsciiEx", ExactSpelling = true)] + public static extern int ToAsciiEx([NativeTypeName("UINT")] uint uVirtKey, [NativeTypeName("UINT")] uint uScanCode, [NativeTypeName("const BYTE *")] byte* lpKeyState, [NativeTypeName("LPWORD")] ushort* lpChar, [NativeTypeName("UINT")] uint uFlags, [NativeTypeName("HKL")] IntPtr dwhkl); - public const uint WM_SIZING = 0x0214; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ToUnicode", ExactSpelling = true)] + public static extern int ToUnicode([NativeTypeName("UINT")] uint wVirtKey, [NativeTypeName("UINT")] uint wScanCode, [NativeTypeName("const BYTE *")] byte* lpKeyState, [NativeTypeName("LPWSTR")] ushort* pwszBuff, int cchBuff, [NativeTypeName("UINT")] uint wFlags); - public const uint WM_CAPTURECHANGED = 0x0215; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OemKeyScan", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint OemKeyScan([NativeTypeName("WORD")] ushort wOemChar); - public const uint WM_MOVING = 0x0216; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "VkKeyScanW", ExactSpelling = true)] + [return: NativeTypeName("SHORT")] + public static extern short VkKeyScan([NativeTypeName("WCHAR")] ushort ch); - public const uint WM_POWERBROADCAST = 0x0218; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "VkKeyScanExW", ExactSpelling = true)] + [return: NativeTypeName("SHORT")] + public static extern short VkKeyScanEx([NativeTypeName("WCHAR")] ushort ch, [NativeTypeName("HKL")] IntPtr dwhkl); - public const uint WM_DEVICECHANGE = 0x0219; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "keybd_event", ExactSpelling = true)] + public static extern void keybd_event([NativeTypeName("BYTE")] byte bVk, [NativeTypeName("BYTE")] byte bScan, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("ULONG_PTR")] UIntPtr dwExtraInfo); - public const uint WM_MDICREATE = 0x0220; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "mouse_event", ExactSpelling = true)] + public static extern void mouse_event([NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("DWORD")] uint dx, [NativeTypeName("DWORD")] uint dy, [NativeTypeName("DWORD")] uint dwData, [NativeTypeName("ULONG_PTR")] UIntPtr dwExtraInfo); - public const uint WM_MDIDESTROY = 0x0221; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendInput", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint SendInput([NativeTypeName("UINT")] uint cInputs, [NativeTypeName("LPINPUT")] INPUT* pInputs, int cbSize); - public const uint WM_MDIACTIVATE = 0x0222; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTouchInputInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTouchInputInfo([NativeTypeName("HTOUCHINPUT")] IntPtr hTouchInput, [NativeTypeName("UINT")] uint cInputs, [NativeTypeName("PTOUCHINPUT")] TOUCHINPUT* pInputs, int cbSize); - public const uint WM_MDIRESTORE = 0x0223; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseTouchInputHandle", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseTouchInputHandle([NativeTypeName("HTOUCHINPUT")] IntPtr hTouchInput); - public const uint WM_MDINEXT = 0x0224; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterTouchWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterTouchWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("ULONG")] uint ulFlags); - public const uint WM_MDIMAXIMIZE = 0x0225; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterTouchWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterTouchWindow([NativeTypeName("HWND")] IntPtr hwnd); - public const uint WM_MDITILE = 0x0226; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsTouchWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsTouchWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("PULONG")] uint* pulFlags); - public const uint WM_MDICASCADE = 0x0227; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InitializeTouchInjection", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InitializeTouchInjection([NativeTypeName("UINT32")] uint maxCount, [NativeTypeName("DWORD")] uint dwMode); - public const uint WM_MDIICONARRANGE = 0x0228; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InjectTouchInput", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InjectTouchInput([NativeTypeName("UINT32")] uint count, [NativeTypeName("const POINTER_TOUCH_INFO *")] POINTER_TOUCH_INFO* contacts); - public const uint WM_MDIGETACTIVE = 0x0229; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerType", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerType([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("POINTER_INPUT_TYPE *")] uint* pointerType); - public const uint WM_MDISETMENU = 0x0230; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerCursorId", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerCursorId([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* cursorId); - public const uint WM_ENTERSIZEMOVE = 0x0231; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("POINTER_INFO *")] POINTER_INFO* pointerInfo); - public const uint WM_EXITSIZEMOVE = 0x0232; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("POINTER_INFO *")] POINTER_INFO* pointerInfo); - public const uint WM_DROPFILES = 0x0233; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFrameInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFrameInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_INFO *")] POINTER_INFO* pointerInfo); - public const uint WM_MDIREFRESHMENU = 0x0234; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFrameInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFrameInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_INFO *")] POINTER_INFO* pointerInfo); - public const uint WM_POINTERDEVICECHANGE = 0x0238; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerTouchInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerTouchInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("POINTER_TOUCH_INFO *")] POINTER_TOUCH_INFO* touchInfo); - public const uint WM_POINTERDEVICEINRANGE = 0x0239; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerTouchInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerTouchInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("POINTER_TOUCH_INFO *")] POINTER_TOUCH_INFO* touchInfo); - public const uint WM_POINTERDEVICEOUTOFRANGE = 0x023A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFrameTouchInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFrameTouchInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_TOUCH_INFO *")] POINTER_TOUCH_INFO* touchInfo); - public const uint WM_TOUCH = 0x0240; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFrameTouchInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFrameTouchInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_TOUCH_INFO *")] POINTER_TOUCH_INFO* touchInfo); - public const uint WM_NCPOINTERUPDATE = 0x0241; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerPenInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerPenInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("POINTER_PEN_INFO *")] POINTER_PEN_INFO* penInfo); - public const uint WM_NCPOINTERDOWN = 0x0242; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerPenInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerPenInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("POINTER_PEN_INFO *")] POINTER_PEN_INFO* penInfo); - public const uint WM_NCPOINTERUP = 0x0243; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFramePenInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFramePenInfo([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_PEN_INFO *")] POINTER_PEN_INFO* penInfo); - public const uint WM_POINTERUPDATE = 0x0245; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerFramePenInfoHistory", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerFramePenInfoHistory([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32 *")] uint* entriesCount, [NativeTypeName("UINT32 *")] uint* pointerCount, [NativeTypeName("POINTER_PEN_INFO *")] POINTER_PEN_INFO* penInfo); - public const uint WM_POINTERDOWN = 0x0246; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SkipPointerFrameMessages", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SkipPointerFrameMessages([NativeTypeName("UINT32")] uint pointerId); - public const uint WM_POINTERUP = 0x0247; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterPointerInputTarget", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterPointerInputTarget([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("POINTER_INPUT_TYPE")] uint pointerType); - public const uint WM_POINTERENTER = 0x0249; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterPointerInputTarget", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterPointerInputTarget([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("POINTER_INPUT_TYPE")] uint pointerType); - public const uint WM_POINTERLEAVE = 0x024A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterPointerInputTargetEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterPointerInputTargetEx([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("POINTER_INPUT_TYPE")] uint pointerType, [NativeTypeName("BOOL")] int fObserve); - public const uint WM_POINTERACTIVATE = 0x024B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterPointerInputTargetEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnregisterPointerInputTargetEx([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("POINTER_INPUT_TYPE")] uint pointerType); - public const uint WM_POINTERCAPTURECHANGED = 0x024C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableMouseInPointer", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnableMouseInPointer([NativeTypeName("BOOL")] int fEnable); - public const uint WM_TOUCHHITTESTING = 0x024D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsMouseInPointerEnabled", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsMouseInPointerEnabled(); - public const uint WM_POINTERWHEEL = 0x024E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterTouchHitTestingWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterTouchHitTestingWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("ULONG")] uint value); - public const uint WM_POINTERHWHEEL = 0x024F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EvaluateProximityToRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EvaluateProximityToRect([NativeTypeName("const RECT *")] RECT* controlBoundingBox, [NativeTypeName("const TOUCH_HIT_TESTING_INPUT *")] TOUCH_HIT_TESTING_INPUT* pHitTestingInput, [NativeTypeName("TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *")] TOUCH_HIT_TESTING_PROXIMITY_EVALUATION* pProximityEval); - public const uint WM_POINTERROUTEDTO = 0x0251; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EvaluateProximityToPolygon", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EvaluateProximityToPolygon([NativeTypeName("UINT32")] uint numVertices, [NativeTypeName("const POINT *")] POINT* controlPolygon, [NativeTypeName("const TOUCH_HIT_TESTING_INPUT *")] TOUCH_HIT_TESTING_INPUT* pHitTestingInput, [NativeTypeName("TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *")] TOUCH_HIT_TESTING_PROXIMITY_EVALUATION* pProximityEval); - public const uint WM_POINTERROUTEDAWAY = 0x0252; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PackTouchHitTestingProximityEvaluation", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr PackTouchHitTestingProximityEvaluation([NativeTypeName("const TOUCH_HIT_TESTING_INPUT *")] TOUCH_HIT_TESTING_INPUT* pHitTestingInput, [NativeTypeName("const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *")] TOUCH_HIT_TESTING_PROXIMITY_EVALUATION* pProximityEval); - public const uint WM_POINTERROUTEDRELEASED = 0x0253; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowFeedbackSetting", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowFeedbackSetting([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("FEEDBACK_TYPE")] FEEDBACK_TYPE feedback, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("UINT32 *")] uint* pSize, [NativeTypeName("void *")] void* config); - public const uint WM_IME_SETCONTEXT = 0x0281; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowFeedbackSetting", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowFeedbackSetting([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("FEEDBACK_TYPE")] FEEDBACK_TYPE feedback, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("UINT32")] uint size, [NativeTypeName("const void *")] void* configuration); - public const uint WM_IME_NOTIFY = 0x0282; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerInputTransform", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerInputTransform([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32")] uint historyCount, [NativeTypeName("INPUT_TRANSFORM *")] INPUT_TRANSFORM* inputTransform); - public const uint WM_IME_CONTROL = 0x0283; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetLastInputInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetLastInputInfo([NativeTypeName("PLASTINPUTINFO")] LASTINPUTINFO* plii); - public const uint WM_IME_COMPOSITIONFULL = 0x0284; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MapVirtualKeyW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint MapVirtualKey([NativeTypeName("UINT")] uint uCode, [NativeTypeName("UINT")] uint uMapType); - public const uint WM_IME_SELECT = 0x0285; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MapVirtualKeyExW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint MapVirtualKeyEx([NativeTypeName("UINT")] uint uCode, [NativeTypeName("UINT")] uint uMapType, [NativeTypeName("HKL")] IntPtr dwhkl); - public const uint WM_IME_CHAR = 0x0286; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetInputState", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetInputState(); - public const uint WM_IME_REQUEST = 0x0288; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetQueueStatus", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetQueueStatus([NativeTypeName("UINT")] uint flags); - public const uint WM_IME_KEYDOWN = 0x0290; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCapture", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetCapture(); - public const uint WM_IME_KEYUP = 0x0291; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCapture", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr SetCapture([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_MOUSEHOVER = 0x02A1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ReleaseCapture", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ReleaseCapture(); - public const uint WM_MOUSELEAVE = 0x02A3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MsgWaitForMultipleObjects", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint MsgWaitForMultipleObjects([NativeTypeName("DWORD")] uint nCount, [NativeTypeName("const HANDLE *")] void** pHandles, [NativeTypeName("BOOL")] int fWaitAll, [NativeTypeName("DWORD")] uint dwMilliseconds, [NativeTypeName("DWORD")] uint dwWakeMask); - public const uint WM_NCMOUSEHOVER = 0x02A0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MsgWaitForMultipleObjectsEx", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint MsgWaitForMultipleObjectsEx([NativeTypeName("DWORD")] uint nCount, [NativeTypeName("const HANDLE *")] void** pHandles, [NativeTypeName("DWORD")] uint dwMilliseconds, [NativeTypeName("DWORD")] uint dwWakeMask, [NativeTypeName("DWORD")] uint dwFlags); - public const uint WM_NCMOUSELEAVE = 0x02A2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetTimer", ExactSpelling = true)] + [return: NativeTypeName("UINT_PTR")] + public static extern UIntPtr SetTimer([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT_PTR")] UIntPtr nIDEvent, [NativeTypeName("UINT")] uint uElapse, [NativeTypeName("TIMERPROC")] IntPtr lpTimerFunc); - public const uint WM_WTSSESSION_CHANGE = 0x02B1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCoalescableTimer", ExactSpelling = true)] + [return: NativeTypeName("UINT_PTR")] + public static extern UIntPtr SetCoalescableTimer([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT_PTR")] UIntPtr nIDEvent, [NativeTypeName("UINT")] uint uElapse, [NativeTypeName("TIMERPROC")] IntPtr lpTimerFunc, [NativeTypeName("ULONG")] uint uToleranceDelay); - public const uint WM_TABLET_FIRST = 0x02C0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "KillTimer", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int KillTimer([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT_PTR")] UIntPtr uIDEvent); - public const uint WM_TABLET_LAST = 0x02DF; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWindowUnicode", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWindowUnicode([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_DPICHANGED = 0x02E0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnableWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("BOOL")] int bEnable); - public const uint WM_DPICHANGED_BEFOREPARENT = 0x02E2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWindowEnabled", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWindowEnabled([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_DPICHANGED_AFTERPARENT = 0x02E3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadAcceleratorsW", ExactSpelling = true)] + [return: NativeTypeName("HACCEL")] + public static extern IntPtr LoadAccelerators([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpTableName); - public const uint WM_GETDPISCALEDSIZE = 0x02E4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateAcceleratorTableW", ExactSpelling = true)] + [return: NativeTypeName("HACCEL")] + public static extern IntPtr CreateAcceleratorTable([NativeTypeName("LPACCEL")] ACCEL* paccel, int cAccel); - public const uint WM_CUT = 0x0300; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyAcceleratorTable", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DestroyAcceleratorTable([NativeTypeName("HACCEL")] IntPtr hAccel); - public const uint WM_COPY = 0x0301; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyAcceleratorTableW", ExactSpelling = true)] + public static extern int CopyAcceleratorTable([NativeTypeName("HACCEL")] IntPtr hAccelSrc, [NativeTypeName("LPACCEL")] ACCEL* lpAccelDst, int cAccelEntries); - public const uint WM_PASTE = 0x0302; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TranslateAcceleratorW", ExactSpelling = true)] + public static extern int TranslateAccelerator([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HACCEL")] IntPtr hAccTable, [NativeTypeName("LPMSG")] MSG* lpMsg); - public const uint WM_CLEAR = 0x0303; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSystemMetrics", ExactSpelling = true)] + public static extern int GetSystemMetrics(int nIndex); - public const uint WM_UNDO = 0x0304; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSystemMetricsForDpi", ExactSpelling = true)] + public static extern int GetSystemMetricsForDpi(int nIndex, [NativeTypeName("UINT")] uint dpi); - public const uint WM_RENDERFORMAT = 0x0305; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadMenuW", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr LoadMenu([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpMenuName); - public const uint WM_RENDERALLFORMATS = 0x0306; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadMenuIndirectW", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr LoadMenuIndirect([NativeTypeName("const MENUTEMPLATEW *")] void* lpMenuTemplate); - public const uint WM_DESTROYCLIPBOARD = 0x0307; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenu", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr GetMenu([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_DRAWCLIPBOARD = 0x0308; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenu([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HMENU")] IntPtr hMenu); - public const uint WM_PAINTCLIPBOARD = 0x0309; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeMenuW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ChangeMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint cmd, [NativeTypeName("LPCWSTR")] ushort* lpszNewItem, [NativeTypeName("UINT")] uint cmdInsert, [NativeTypeName("UINT")] uint flags); - public const uint WM_VSCROLLCLIPBOARD = 0x030A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "HiliteMenuItem", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int HiliteMenuItem([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uIDHiliteItem, [NativeTypeName("UINT")] uint uHilite); - public const uint WM_SIZECLIPBOARD = 0x030B; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuStringW", ExactSpelling = true)] + public static extern int GetMenuString([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uIDItem, [NativeTypeName("LPWSTR")] ushort* lpString, int cchMax, [NativeTypeName("UINT")] uint flags); - public const uint WM_ASKCBFORMATNAME = 0x030C; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuState", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetMenuState([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uId, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_CHANGECBCHAIN = 0x030D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawMenuBar", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawMenuBar([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WM_HSCROLLCLIPBOARD = 0x030E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSystemMenu", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr GetSystemMenu([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("BOOL")] int bRevert); - public const uint WM_QUERYNEWPALETTE = 0x030F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateMenu", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr CreateMenu(); - public const uint WM_PALETTEISCHANGING = 0x0310; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreatePopupMenu", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr CreatePopupMenu(); - public const uint WM_PALETTECHANGED = 0x0311; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DestroyMenu([NativeTypeName("HMENU")] IntPtr hMenu); - public const uint WM_HOTKEY = 0x0312; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CheckMenuItem", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint CheckMenuItem([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uIDCheckItem, [NativeTypeName("UINT")] uint uCheck); - public const uint WM_PRINT = 0x0317; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableMenuItem", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnableMenuItem([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uIDEnableItem, [NativeTypeName("UINT")] uint uEnable); - public const uint WM_PRINTCLIENT = 0x0318; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSubMenu", ExactSpelling = true)] + [return: NativeTypeName("HMENU")] + public static extern IntPtr GetSubMenu([NativeTypeName("HMENU")] IntPtr hMenu, int nPos); - public const uint WM_APPCOMMAND = 0x0319; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuItemID", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetMenuItemID([NativeTypeName("HMENU")] IntPtr hMenu, int nPos); - public const uint WM_THEMECHANGED = 0x031A; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuItemCount", ExactSpelling = true)] + public static extern int GetMenuItemCount([NativeTypeName("HMENU")] IntPtr hMenu); - public const uint WM_CLIPBOARDUPDATE = 0x031D; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InsertMenuW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InsertMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uPosition, [NativeTypeName("UINT")] uint uFlags, [NativeTypeName("UINT_PTR")] UIntPtr uIDNewItem, [NativeTypeName("LPCWSTR")] ushort* lpNewItem); - public const uint WM_DWMCOMPOSITIONCHANGED = 0x031E; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AppendMenuW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AppendMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uFlags, [NativeTypeName("UINT_PTR")] UIntPtr uIDNewItem, [NativeTypeName("LPCWSTR")] ushort* lpNewItem); - public const uint WM_DWMNCRENDERINGCHANGED = 0x031F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ModifyMenuW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ModifyMenu([NativeTypeName("HMENU")] IntPtr hMnu, [NativeTypeName("UINT")] uint uPosition, [NativeTypeName("UINT")] uint uFlags, [NativeTypeName("UINT_PTR")] UIntPtr uIDNewItem, [NativeTypeName("LPCWSTR")] ushort* lpNewItem); - public const uint WM_DWMCOLORIZATIONCOLORCHANGE = 0x0320; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemoveMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RemoveMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uPosition, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_DWMWINDOWMAXIMIZEDCHANGE = 0x0321; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeleteMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeleteMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uPosition, [NativeTypeName("UINT")] uint uFlags); - public const uint WM_DWMSENDICONICTHUMBNAIL = 0x0323; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenuItemBitmaps", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenuItemBitmaps([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uPosition, [NativeTypeName("UINT")] uint uFlags, [NativeTypeName("HBITMAP")] IntPtr hBitmapUnchecked, [NativeTypeName("HBITMAP")] IntPtr hBitmapChecked); - public const uint WM_DWMSENDICONICLIVEPREVIEWBITMAP = 0x0326; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuCheckMarkDimensions", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int GetMenuCheckMarkDimensions(); - public const uint WM_GETTITLEBARINFOEX = 0x033F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TrackPopupMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TrackPopupMenu([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uFlags, int x, int y, int nReserved, [NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const RECT *")] RECT* prcRect); - public const uint WM_HANDHELDFIRST = 0x0358; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TrackPopupMenuEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int TrackPopupMenuEx([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uFlags, int x, int y, [NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LPTPMPARAMS")] TPMPARAMS* lptpm); - public const uint WM_HANDHELDLAST = 0x035F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CalculatePopupWindowPosition", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CalculatePopupWindowPosition([NativeTypeName("const POINT *")] POINT* anchorPoint, [NativeTypeName("const SIZE *")] SIZE* windowSize, [NativeTypeName("UINT")] uint flags, [NativeTypeName("RECT *")] RECT* excludeRect, [NativeTypeName("RECT *")] RECT* popupWindowPosition); - public const uint WM_AFXFIRST = 0x0360; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMenuInfo([NativeTypeName("HMENU")] IntPtr param0, [NativeTypeName("LPMENUINFO")] MENUINFO* param1); - public const uint WM_AFXLAST = 0x037F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenuInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenuInfo([NativeTypeName("HMENU")] IntPtr param0, [NativeTypeName("LPCMENUINFO")] MENUINFO* param1); - public const uint WM_PENWINFIRST = 0x0380; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndMenu", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EndMenu(); - public const uint WM_PENWINLAST = 0x038F; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InsertMenuItemW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InsertMenuItem([NativeTypeName("HMENU")] IntPtr hmenu, [NativeTypeName("UINT")] uint item, [NativeTypeName("BOOL")] int fByPosition, [NativeTypeName("LPCMENUITEMINFOW")] MENUITEMINFO* lpmi); - public const uint WM_USER = 0x0400; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuItemInfoW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMenuItemInfo([NativeTypeName("HMENU")] IntPtr hmenu, [NativeTypeName("UINT")] uint item, [NativeTypeName("BOOL")] int fByPosition, [NativeTypeName("LPMENUITEMINFOW")] MENUITEMINFO* lpmii); - public const uint WM_APP = 0x8000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenuItemInfoW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenuItemInfo([NativeTypeName("HMENU")] IntPtr hmenu, [NativeTypeName("UINT")] uint item, [NativeTypeName("BOOL")] int fByPositon, [NativeTypeName("LPCMENUITEMINFOW")] MENUITEMINFO* lpmii); - public const int WA_INACTIVE = 0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuDefaultItem", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetMenuDefaultItem([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint fByPos, [NativeTypeName("UINT")] uint gmdiFlags); - public const int WA_ACTIVE = 1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenuDefaultItem", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenuDefaultItem([NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uItem, [NativeTypeName("UINT")] uint fByPos); - public const int WA_CLICKACTIVE = 2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuItemRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMenuItemRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HMENU")] IntPtr hMenu, [NativeTypeName("UINT")] uint uItem, [NativeTypeName("LPRECT")] RECT* lprcItem); - public const int SIZE_RESTORED = 0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MenuItemFromPoint", ExactSpelling = true)] + public static extern int MenuItemFromPoint([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HMENU")] IntPtr hMenu, POINT ptScreen); - public const int SIZE_MINIMIZED = 1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DragObject", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint DragObject([NativeTypeName("HWND")] IntPtr hwndParent, [NativeTypeName("HWND")] IntPtr hwndFrom, [NativeTypeName("UINT")] uint fmt, [NativeTypeName("ULONG_PTR")] UIntPtr data, [NativeTypeName("HCURSOR")] IntPtr hcur); - public const int SIZE_MAXIMIZED = 2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DragDetect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DragDetect([NativeTypeName("HWND")] IntPtr hwnd, POINT pt); - public const int SIZE_MAXSHOW = 3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawIcon", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawIcon([NativeTypeName("HDC")] IntPtr hDC, int X, int Y, [NativeTypeName("HICON")] IntPtr hIcon); - public const int SIZE_MAXHIDE = 4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawTextW", ExactSpelling = true)] + public static extern int DrawText([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpchText, int cchText, [NativeTypeName("LPRECT")] RECT* lprc, [NativeTypeName("UINT")] uint format); - public const uint WS_OVERLAPPED = 0x00000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawTextExW", ExactSpelling = true)] + public static extern int DrawTextEx([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPWSTR")] ushort* lpchText, int cchText, [NativeTypeName("LPRECT")] RECT* lprc, [NativeTypeName("UINT")] uint format, [NativeTypeName("LPDRAWTEXTPARAMS")] DRAWTEXTPARAMS* lpdtp); - public const uint WS_POPUP = 0x80000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GrayStringW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GrayString([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("HBRUSH")] IntPtr hBrush, [NativeTypeName("GRAYSTRINGPROC")] IntPtr lpOutputFunc, [NativeTypeName("LPARAM")] IntPtr lpData, int nCount, int X, int Y, int nWidth, int nHeight); - public const uint WS_CHILD = 0x40000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawStateW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawState([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("HBRUSH")] IntPtr hbrFore, [NativeTypeName("DRAWSTATEPROC")] IntPtr qfnCallBack, [NativeTypeName("LPARAM")] IntPtr lData, [NativeTypeName("WPARAM")] UIntPtr wData, int x, int y, int cx, int cy, [NativeTypeName("UINT")] uint uFlags); - public const uint WS_MINIMIZE = 0x20000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TabbedTextOutW", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int TabbedTextOut([NativeTypeName("HDC")] IntPtr hdc, int x, int y, [NativeTypeName("LPCWSTR")] ushort* lpString, int chCount, int nTabPositions, [NativeTypeName("const INT *")] int* lpnTabStopPositions, int nTabOrigin); - public const uint WS_VISIBLE = 0x10000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTabbedTextExtentW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetTabbedTextExtent([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCWSTR")] ushort* lpString, int chCount, int nTabPositions, [NativeTypeName("const INT *")] int* lpnTabStopPositions); - public const uint WS_DISABLED = 0x08000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UpdateWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UpdateWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_CLIPSIBLINGS = 0x04000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetActiveWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr SetActiveWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_CLIPCHILDREN = 0x02000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetForegroundWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetForegroundWindow(); - public const uint WS_MAXIMIZE = 0x01000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PaintDesktop", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PaintDesktop([NativeTypeName("HDC")] IntPtr hdc); - public const uint WS_CAPTION = 0x00C00000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SwitchToThisWindow", ExactSpelling = true)] + public static extern void SwitchToThisWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("BOOL")] int fUnknown); - public const uint WS_BORDER = 0x00800000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetForegroundWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetForegroundWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_DLGFRAME = 0x00400000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AllowSetForegroundWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AllowSetForegroundWindow([NativeTypeName("DWORD")] uint dwProcessId); - public const uint WS_VSCROLL = 0x00200000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LockSetForegroundWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LockSetForegroundWindow([NativeTypeName("UINT")] uint uLockCode); - public const uint WS_HSCROLL = 0x00100000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WindowFromDC", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr WindowFromDC([NativeTypeName("HDC")] IntPtr hDC); - public const uint WS_SYSMENU = 0x00080000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDC", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr GetDC([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_THICKFRAME = 0x00040000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDCEx", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr GetDCEx([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hrgnClip, [NativeTypeName("DWORD")] uint flags); - public const uint WS_GROUP = 0x00020000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowDC", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr GetWindowDC([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_TABSTOP = 0x00010000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ReleaseDC", ExactSpelling = true)] + public static extern int ReleaseDC([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HDC")] IntPtr hDC); - public const uint WS_MINIMIZEBOX = 0x00020000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BeginPaint", ExactSpelling = true)] + [return: NativeTypeName("HDC")] + public static extern IntPtr BeginPaint([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPAINTSTRUCT")] PAINTSTRUCT* lpPaint); - public const uint WS_MAXIMIZEBOX = 0x00010000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EndPaint", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EndPaint([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const PAINTSTRUCT *")] PAINTSTRUCT* lpPaint); - public const uint WS_TILED = WS_OVERLAPPED; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUpdateRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetUpdateRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPRECT")] RECT* lpRect, [NativeTypeName("BOOL")] int bErase); - public const uint WS_ICONIC = WS_MINIMIZE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetUpdateRgn", ExactSpelling = true)] + public static extern int GetUpdateRgn([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hRgn, [NativeTypeName("BOOL")] int bErase); - public const uint WS_SIZEBOX = WS_THICKFRAME; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowRgn", ExactSpelling = true)] + public static extern int SetWindowRgn([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hRgn, [NativeTypeName("BOOL")] int bRedraw); - public const uint WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowRgn", ExactSpelling = true)] + public static extern int GetWindowRgn([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hRgn); - public const uint WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowRgnBox", ExactSpelling = true)] + public static extern int GetWindowRgnBox([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPRECT")] RECT* lprc); - public const uint WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ExcludeUpdateRgn", ExactSpelling = true)] + public static extern int ExcludeUpdateRgn([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_CHILDWINDOW = WS_CHILD; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InvalidateRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InvalidateRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const RECT *")] RECT* lpRect, [NativeTypeName("BOOL")] int bErase); - public const uint WS_EX_DLGMODALFRAME = 0x00000001; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ValidateRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ValidateRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const RECT *")] RECT* lpRect); - public const uint WS_EX_NOPARENTNOTIFY = 0x00000004; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InvalidateRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InvalidateRgn([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hRgn, [NativeTypeName("BOOL")] int bErase); - public const uint WS_EX_TOPMOST = 0x00000008; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ValidateRgn", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ValidateRgn([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HRGN")] IntPtr hRgn); - public const uint WS_EX_ACCEPTFILES = 0x00000010; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RedrawWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RedrawWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("const RECT *")] RECT* lprcUpdate, [NativeTypeName("HRGN")] IntPtr hrgnUpdate, [NativeTypeName("UINT")] uint flags); - public const uint WS_EX_TRANSPARENT = 0x00000020; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LockWindowUpdate", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LockWindowUpdate([NativeTypeName("HWND")] IntPtr hWndLock); - public const uint WS_EX_MDICHILD = 0x00000040; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScrollWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ScrollWindow([NativeTypeName("HWND")] IntPtr hWnd, int XAmount, int YAmount, [NativeTypeName("const RECT *")] RECT* lpRect, [NativeTypeName("const RECT *")] RECT* lpClipRect); - public const uint WS_EX_TOOLWINDOW = 0x00000080; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScrollDC", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ScrollDC([NativeTypeName("HDC")] IntPtr hDC, int dx, int dy, [NativeTypeName("const RECT *")] RECT* lprcScroll, [NativeTypeName("const RECT *")] RECT* lprcClip, [NativeTypeName("HRGN")] IntPtr hrgnUpdate, [NativeTypeName("LPRECT")] RECT* lprcUpdate); - public const uint WS_EX_WINDOWEDGE = 0x00000100; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScrollWindowEx", ExactSpelling = true)] + public static extern int ScrollWindowEx([NativeTypeName("HWND")] IntPtr hWnd, int dx, int dy, [NativeTypeName("const RECT *")] RECT* prcScroll, [NativeTypeName("const RECT *")] RECT* prcClip, [NativeTypeName("HRGN")] IntPtr hrgnUpdate, [NativeTypeName("LPRECT")] RECT* prcUpdate, [NativeTypeName("UINT")] uint flags); - public const uint WS_EX_CLIENTEDGE = 0x00000200; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetScrollPos", ExactSpelling = true)] + public static extern int SetScrollPos([NativeTypeName("HWND")] IntPtr hWnd, int nBar, int nPos, [NativeTypeName("BOOL")] int bRedraw); - public const uint WS_EX_CONTEXTHELP = 0x00000400; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetScrollPos", ExactSpelling = true)] + public static extern int GetScrollPos([NativeTypeName("HWND")] IntPtr hWnd, int nBar); - public const uint WS_EX_RIGHT = 0x00001000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetScrollRange", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetScrollRange([NativeTypeName("HWND")] IntPtr hWnd, int nBar, int nMinPos, int nMaxPos, [NativeTypeName("BOOL")] int bRedraw); - public const uint WS_EX_LEFT = 0x00000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetScrollRange", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetScrollRange([NativeTypeName("HWND")] IntPtr hWnd, int nBar, [NativeTypeName("LPINT")] int* lpMinPos, [NativeTypeName("LPINT")] int* lpMaxPos); - public const uint WS_EX_RTLREADING = 0x00002000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowScrollBar", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShowScrollBar([NativeTypeName("HWND")] IntPtr hWnd, int wBar, [NativeTypeName("BOOL")] int bShow); - public const uint WS_EX_LTRREADING = 0x00000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableScrollBar", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnableScrollBar([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint wSBflags, [NativeTypeName("UINT")] uint wArrows); - public const uint WS_EX_LEFTSCROLLBAR = 0x00004000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPropW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProp([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpString, [NativeTypeName("HANDLE")] void* hData); - public const uint WS_EX_RIGHTSCROLLBAR = 0x00000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPropW", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* GetProp([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpString); - public const uint WS_EX_CONTROLPARENT = 0x00010000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RemovePropW", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* RemoveProp([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpString); - public const uint WS_EX_STATICEDGE = 0x00020000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumPropsExW", ExactSpelling = true)] + public static extern int EnumPropsEx([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("PROPENUMPROCEXW")] IntPtr lpEnumFunc, [NativeTypeName("LPARAM")] IntPtr lParam); - public const uint WS_EX_APPWINDOW = 0x00040000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumPropsW", ExactSpelling = true)] + public static extern int EnumProps([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("PROPENUMPROCW")] IntPtr lpEnumFunc); - public const uint WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowTextW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowText([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpString); - public const uint WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowTextW", ExactSpelling = true)] + public static extern int GetWindowText([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPWSTR")] ushort* lpString, int nMaxCount); - public const uint WS_EX_LAYERED = 0x00080000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowTextLengthW", ExactSpelling = true)] + public static extern int GetWindowTextLength([NativeTypeName("HWND")] IntPtr hWnd); - public const uint WS_EX_NOINHERITLAYOUT = 0x00100000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClientRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetClientRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPRECT")] RECT* lpRect); - public const uint WS_EX_NOREDIRECTIONBITMAP = 0x00200000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPRECT")] RECT* lpRect); - public const uint WS_EX_LAYOUTRTL = 0x00400000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AdjustWindowRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AdjustWindowRect([NativeTypeName("LPRECT")] RECT* lpRect, [NativeTypeName("DWORD")] uint dwStyle, [NativeTypeName("BOOL")] int bMenu); - public const uint WS_EX_COMPOSITED = 0x02000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AdjustWindowRectEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AdjustWindowRectEx([NativeTypeName("LPRECT")] RECT* lpRect, [NativeTypeName("DWORD")] uint dwStyle, [NativeTypeName("BOOL")] int bMenu, [NativeTypeName("DWORD")] uint dwExStyle); - public const uint WS_EX_NOACTIVATE = 0x08000000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AdjustWindowRectExForDpi", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AdjustWindowRectExForDpi([NativeTypeName("LPRECT")] RECT* lpRect, [NativeTypeName("DWORD")] uint dwStyle, [NativeTypeName("BOOL")] int bMenu, [NativeTypeName("DWORD")] uint dwExStyle, [NativeTypeName("UINT")] uint dpi); - public const uint CS_VREDRAW = 0x0001; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowContextHelpId", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetWindowContextHelpId([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("DWORD")] uint param1); - public const uint CS_HREDRAW = 0x0002; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowContextHelpId", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetWindowContextHelpId([NativeTypeName("HWND")] IntPtr param0); - public const uint CS_DBLCLKS = 0x0008; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetMenuContextHelpId", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetMenuContextHelpId([NativeTypeName("HMENU")] IntPtr param0, [NativeTypeName("DWORD")] uint param1); - public const uint CS_OWNDC = 0x0020; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuContextHelpId", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetMenuContextHelpId([NativeTypeName("HMENU")] IntPtr param0); - public const uint CS_CLASSDC = 0x0040; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MessageBoxW", ExactSpelling = true)] + public static extern int MessageBox([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpText, [NativeTypeName("LPCWSTR")] ushort* lpCaption, [NativeTypeName("UINT")] uint uType); - public const uint CS_PARENTDC = 0x0080; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MessageBoxExW", ExactSpelling = true)] + public static extern int MessageBoxEx([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* lpText, [NativeTypeName("LPCWSTR")] ushort* lpCaption, [NativeTypeName("UINT")] uint uType, [NativeTypeName("WORD")] ushort wLanguageId); - public const uint CS_NOCLOSE = 0x0200; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MessageBoxIndirectW", ExactSpelling = true)] + public static extern int MessageBoxIndirect([NativeTypeName("const MSGBOXPARAMSW *")] MSGBOXPARAMS* lpmbp); - public const uint CS_SAVEBITS = 0x0800; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MessageBeep", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int MessageBeep([NativeTypeName("UINT")] uint uType); - public const uint CS_BYTEALIGNCLIENT = 0x1000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowCursor", ExactSpelling = true)] + public static extern int ShowCursor([NativeTypeName("BOOL")] int bShow); - public const uint CS_BYTEALIGNWINDOW = 0x2000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCursorPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetCursorPos(int X, int Y); - public const uint CS_GLOBALCLASS = 0x4000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetPhysicalCursorPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetPhysicalCursorPos(int X, int Y); - public const uint CS_IME = 0x00010000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCursor", ExactSpelling = true)] + [return: NativeTypeName("HCURSOR")] + public static extern IntPtr SetCursor([NativeTypeName("HCURSOR")] IntPtr hCursor); - public const uint CS_DROPSHADOW = 0x00020000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCursorPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCursorPos([NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int PM_NOREMOVE = 0x0000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPhysicalCursorPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPhysicalCursorPos([NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int PM_REMOVE = 0x0001; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClipCursor", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetClipCursor([NativeTypeName("LPRECT")] RECT* lpRect); - public const int PM_NOYIELD = 0x0002; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCursor", ExactSpelling = true)] + [return: NativeTypeName("HCURSOR")] + public static extern IntPtr GetCursor(); - public const int PM_QS_INPUT = QS_INPUT << 16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateCaret", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CreateCaret([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HBITMAP")] IntPtr hBitmap, int nWidth, int nHeight); - public const int PM_QS_POSTMESSAGE = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCaretBlinkTime", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetCaretBlinkTime(); - public const int PM_QS_PAINT = QS_PAINT << 16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCaretBlinkTime", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetCaretBlinkTime([NativeTypeName("UINT")] uint uMSeconds); - public const int PM_QS_SENDMESSAGE = QS_SENDMESSAGE << 16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyCaret", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DestroyCaret(); - public const int CW_USEDEFAULT = unchecked((int)0x80000000); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "HideCaret", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int HideCaret([NativeTypeName("HWND")] IntPtr hWnd); - public const uint HWND_DESKTOP = 0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowCaret", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShowCaret([NativeTypeName("HWND")] IntPtr hWnd); - public const int QS_KEY = 0x0001; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetCaretPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetCaretPos(int X, int Y); - public const int QS_MOUSEMOVE = 0x0002; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCaretPos", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCaretPos([NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_MOUSEBUTTON = 0x0004; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ClientToScreen", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ClientToScreen([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_POSTMESSAGE = 0x0008; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ScreenToClient", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ScreenToClient([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_TIMER = 0x0010; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LogicalToPhysicalPoint", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LogicalToPhysicalPoint([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_PAINT = 0x0020; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PhysicalToLogicalPoint", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PhysicalToLogicalPoint([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_SENDMESSAGE = 0x0040; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LogicalToPhysicalPointForPerMonitorDPI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LogicalToPhysicalPointForPerMonitorDPI([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_HOTKEY = 0x0080; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PhysicalToLogicalPointForPerMonitorDPI", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PhysicalToLogicalPointForPerMonitorDPI([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPPOINT")] POINT* lpPoint); - public const int QS_ALLPOSTMESSAGE = 0x0100; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MapWindowPoints", ExactSpelling = true)] + public static extern int MapWindowPoints([NativeTypeName("HWND")] IntPtr hWndFrom, [NativeTypeName("HWND")] IntPtr hWndTo, [NativeTypeName("LPPOINT")] POINT* lpPoints, [NativeTypeName("UINT")] uint cPoints); - public const int QS_RAWINPUT = 0x0400; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WindowFromPoint", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr WindowFromPoint(POINT Point); - public const int QS_TOUCH = 0x0800; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WindowFromPhysicalPoint", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr WindowFromPhysicalPoint(POINT Point); - public const int QS_POINTER = 0x1000; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChildWindowFromPoint", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr ChildWindowFromPoint([NativeTypeName("HWND")] IntPtr hWndParent, POINT Point); - public const int QS_MOUSE = QS_MOUSEMOVE | QS_MOUSEBUTTON; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ClipCursor", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ClipCursor([NativeTypeName("const RECT *")] RECT* lpRect); - public const int QS_INPUT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChildWindowFromPointEx", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr ChildWindowFromPointEx([NativeTypeName("HWND")] IntPtr hwnd, POINT pt, [NativeTypeName("UINT")] uint flags); - public const int QS_ALLEVENTS = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSysColor", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetSysColor(int nIndex); - public const int QS_ALLINPUT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetSysColorBrush", ExactSpelling = true)] + [return: NativeTypeName("HBRUSH")] + public static extern IntPtr GetSysColorBrush(int nIndex); - public const int COLOR_SCROLLBAR = 0; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetSysColors", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetSysColors(int cElements, [NativeTypeName("const INT *")] int* lpaElements, [NativeTypeName("const COLORREF *")] uint* lpaRgbValues); - public const int COLOR_BACKGROUND = 1; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawFocusRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawFocusRect([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("const RECT *")] RECT* lprc); - public const int COLOR_ACTIVECAPTION = 2; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FillRect", ExactSpelling = true)] + public static extern int FillRect([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("const RECT *")] RECT* lprc, [NativeTypeName("HBRUSH")] IntPtr hbr); - public const int COLOR_INACTIVECAPTION = 3; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FrameRect", ExactSpelling = true)] + public static extern int FrameRect([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("const RECT *")] RECT* lprc, [NativeTypeName("HBRUSH")] IntPtr hbr); - public const int COLOR_MENU = 4; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InvertRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InvertRect([NativeTypeName("HDC")] IntPtr hDC, [NativeTypeName("const RECT *")] RECT* lprc); - public const int COLOR_WINDOW = 5; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetRect([NativeTypeName("LPRECT")] RECT* lprc, int xLeft, int yTop, int xRight, int yBottom); - public const int COLOR_WINDOWFRAME = 6; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetRectEmpty", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetRectEmpty([NativeTypeName("LPRECT")] RECT* lprc); - public const int COLOR_MENUTEXT = 7; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CopyRect([NativeTypeName("LPRECT")] RECT* lprcDst, [NativeTypeName("const RECT *")] RECT* lprcSrc); - public const int COLOR_WINDOWTEXT = 8; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InflateRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InflateRect([NativeTypeName("LPRECT")] RECT* lprc, int dx, int dy); - public const int COLOR_CAPTIONTEXT = 9; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IntersectRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IntersectRect([NativeTypeName("LPRECT")] RECT* lprcDst, [NativeTypeName("const RECT *")] RECT* lprcSrc1, [NativeTypeName("const RECT *")] RECT* lprcSrc2); - public const int COLOR_ACTIVEBORDER = 10; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnionRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnionRect([NativeTypeName("LPRECT")] RECT* lprcDst, [NativeTypeName("const RECT *")] RECT* lprcSrc1, [NativeTypeName("const RECT *")] RECT* lprcSrc2); - public const int COLOR_INACTIVEBORDER = 11; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SubtractRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SubtractRect([NativeTypeName("LPRECT")] RECT* lprcDst, [NativeTypeName("const RECT *")] RECT* lprcSrc1, [NativeTypeName("const RECT *")] RECT* lprcSrc2); - public const int COLOR_APPWORKSPACE = 12; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "OffsetRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int OffsetRect([NativeTypeName("LPRECT")] RECT* lprc, int dx, int dy); - public const int COLOR_HIGHLIGHT = 13; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsRectEmpty", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsRectEmpty([NativeTypeName("const RECT *")] RECT* lprc); - public const int COLOR_HIGHLIGHTTEXT = 14; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EqualRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EqualRect([NativeTypeName("const RECT *")] RECT* lprc1, [NativeTypeName("const RECT *")] RECT* lprc2); - public const int COLOR_BTNFACE = 15; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PtInRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int PtInRect([NativeTypeName("const RECT *")] RECT* lprc, POINT pt); - public const int COLOR_BTNSHADOW = 16; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowWord", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort GetWindowWord([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_GRAYTEXT = 17; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowWord", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort SetWindowWord([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("WORD")] ushort wNewWord); - public const int COLOR_BTNTEXT = 18; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowLongW", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int GetWindowLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_INACTIVECAPTIONTEXT = 19; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowLongW", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int SetWindowLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG")] int dwNewLong); - public const int COLOR_BTNHIGHLIGHT = 20; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowLongPtrW", ExactSpelling = true)] + [return: NativeTypeName("LONG_PTR")] + public static extern IntPtr GetWindowLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_3DDKSHADOW = 21; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowLongPtrW", ExactSpelling = true)] + [return: NativeTypeName("LONG_PTR")] + public static extern IntPtr SetWindowLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG_PTR")] IntPtr dwNewLong); - public const int COLOR_3DLIGHT = 22; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassWord", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort GetClassWord([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_INFOTEXT = 23; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetClassWord", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort SetClassWord([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("WORD")] ushort wNewWord); - public const int COLOR_INFOBK = 24; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassLongW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetClassLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_HOTLIGHT = 26; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetClassLongW", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint SetClassLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG")] int dwNewLong); - public const int COLOR_GRADIENTACTIVECAPTION = 27; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassLongPtrW", ExactSpelling = true)] + [return: NativeTypeName("ULONG_PTR")] + public static extern UIntPtr GetClassLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); - public const int COLOR_GRADIENTINACTIVECAPTION = 28; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetClassLongPtrW", ExactSpelling = true)] + [return: NativeTypeName("ULONG_PTR")] + public static extern UIntPtr SetClassLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG_PTR")] IntPtr dwNewLong); - public const int COLOR_MENUHILIGHT = 29; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetProcessDefaultLayout", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetProcessDefaultLayout([NativeTypeName("DWORD *")] uint* pdwDefaultLayout); - public const int COLOR_MENUBAR = 30; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetProcessDefaultLayout", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProcessDefaultLayout([NativeTypeName("DWORD")] uint dwDefaultLayout); - public const int COLOR_DESKTOP = COLOR_BACKGROUND; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDesktopWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetDesktopWindow(); - public const int COLOR_3DFACE = COLOR_BTNFACE; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetParent", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetParent([NativeTypeName("HWND")] IntPtr hWnd); - public const int COLOR_3DSHADOW = COLOR_BTNSHADOW; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetParent", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr SetParent([NativeTypeName("HWND")] IntPtr hWndChild, [NativeTypeName("HWND")] IntPtr hWndNewParent); - public const int COLOR_3DHIGHLIGHT = COLOR_BTNHIGHLIGHT; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumChildWindows", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumChildWindows([NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("WNDENUMPROC")] IntPtr lpEnumFunc, [NativeTypeName("LPARAM")] IntPtr lParam); - public const int COLOR_3DHILIGHT = COLOR_BTNHIGHLIGHT; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FindWindowW", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr FindWindow([NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("LPCWSTR")] ushort* lpWindowName); - public const int COLOR_BTNHILIGHT = COLOR_BTNHIGHLIGHT; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "FindWindowExW", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr FindWindowEx([NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("HWND")] IntPtr hWndChildAfter, [NativeTypeName("LPCWSTR")] ushort* lpszClass, [NativeTypeName("LPCWSTR")] ushort* lpszWindow); - public const ushort IDC_ARROW = 32512; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetShellWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetShellWindow(); - public const ushort IDC_IBEAM = 32513; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterShellHookWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterShellHookWindow([NativeTypeName("HWND")] IntPtr hwnd); - public const ushort IDC_WAIT = 32514; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DeregisterShellHookWindow", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DeregisterShellHookWindow([NativeTypeName("HWND")] IntPtr hwnd); - public const ushort IDC_CROSS = 32515; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumWindows", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumWindows([NativeTypeName("WNDENUMPROC")] IntPtr lpEnumFunc, [NativeTypeName("LPARAM")] IntPtr lParam); - public const ushort IDC_UPARROW = 32516; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumThreadWindows", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumThreadWindows([NativeTypeName("DWORD")] uint dwThreadId, [NativeTypeName("WNDENUMPROC")] IntPtr lpfn, [NativeTypeName("LPARAM")] IntPtr lParam); - public const ushort IDC_SIZE = 32640; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassNameW", ExactSpelling = true)] + public static extern int GetClassName([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPWSTR")] ushort* lpClassName, int nMaxCount); - public const ushort IDC_ICON = 32641; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTopWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetTopWindow([NativeTypeName("HWND")] IntPtr hWnd); - public const ushort IDC_SIZENWSE = 32642; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowThreadProcessId", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetWindowThreadProcessId([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPDWORD")] uint* lpdwProcessId); - public const ushort IDC_SIZENESW = 32643; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsGUIThread", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsGUIThread([NativeTypeName("BOOL")] int bConvert); - public const ushort IDC_SIZEWE = 32644; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetLastActivePopup", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetLastActivePopup([NativeTypeName("HWND")] IntPtr hWnd); - public const ushort IDC_SIZENS = 32645; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindow", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr GetWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint uCmd); - public const ushort IDC_SIZEALL = 32646; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowsHookW", ExactSpelling = true)] + [return: NativeTypeName("HHOOK")] + public static extern IntPtr SetWindowsHook(int nFilterType, [NativeTypeName("HOOKPROC")] IntPtr pfnFilterProc); - public const ushort IDC_NO = 32648; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnhookWindowsHook", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnhookWindowsHook(int nCode, [NativeTypeName("HOOKPROC")] IntPtr pfnFilterProc); - public const ushort IDC_HAND = 32649; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowsHookExW", ExactSpelling = true)] + [return: NativeTypeName("HHOOK")] + public static extern IntPtr SetWindowsHookEx(int idHook, [NativeTypeName("HOOKPROC")] IntPtr lpfn, [NativeTypeName("HINSTANCE")] IntPtr hmod, [NativeTypeName("DWORD")] uint dwThreadId); - public const ushort IDC_APPSTARTING = 32650; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnhookWindowsHookEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnhookWindowsHookEx([NativeTypeName("HHOOK")] IntPtr hhk); - public const ushort IDC_HELP = 32651; + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CallNextHookEx", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr CallNextHookEx([NativeTypeName("HHOOK")] IntPtr hhk, int nCode, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "AdjustWindowRect", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CheckMenuRadioItem", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int AdjustWindowRect([NativeTypeName("LPRECT")] RECT* lpRect, [NativeTypeName("DWORD")] uint dwStyle, [NativeTypeName("BOOL")] int bMenu); + public static extern int CheckMenuRadioItem([NativeTypeName("HMENU")] IntPtr hmenu, [NativeTypeName("UINT")] uint first, [NativeTypeName("UINT")] uint last, [NativeTypeName("UINT")] uint check, [NativeTypeName("UINT")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadBitmapW", ExactSpelling = true)] + [return: NativeTypeName("HBITMAP")] + public static extern IntPtr LoadBitmap([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpBitmapName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadCursorW", ExactSpelling = true)] + [return: NativeTypeName("HCURSOR")] + public static extern IntPtr LoadCursor([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpCursorName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadCursorFromFileW", ExactSpelling = true)] + [return: NativeTypeName("HCURSOR")] + public static extern IntPtr LoadCursorFromFile([NativeTypeName("LPCWSTR")] ushort* lpFileName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateCursor", ExactSpelling = true)] + [return: NativeTypeName("HCURSOR")] + public static extern IntPtr CreateCursor([NativeTypeName("HINSTANCE")] IntPtr hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, [NativeTypeName("const void *")] void* pvANDPlane, [NativeTypeName("const void *")] void* pvXORPlane); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyCursor", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int CloseWindow([NativeTypeName("HWND")] IntPtr hWnd); + public static extern int DestroyCursor([NativeTypeName("HCURSOR")] IntPtr hCursor); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateWindowExW", ExactSpelling = true)] - [return: NativeTypeName("HWND")] - public static extern IntPtr CreateWindowEx([NativeTypeName("DWORD")] uint dwExStyle, [Optional, NativeTypeName("LPCWSTR")] ushort* lpClassName, [Optional, NativeTypeName("LPCWSTR")] ushort* lpWindowName, [NativeTypeName("DWORD")] uint dwStyle, int X, int Y, int nWidth, int nHeight, [Optional, NativeTypeName("HWND")] IntPtr hWndParent, [Optional, NativeTypeName("HMENU")] IntPtr hMenu, [Optional, NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPVOID")] void* lpParam); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetSystemCursor", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetSystemCursor([NativeTypeName("HCURSOR")] IntPtr hcur, [NativeTypeName("DWORD")] uint id); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefWindowProcW", ExactSpelling = true)] - [return: NativeTypeName("LRESULT")] - public static extern IntPtr DefWindowProc([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadIconW", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr LoadIcon([NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpIconName); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "PrivateExtractIconsW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint PrivateExtractIcons([NativeTypeName("LPCWSTR")] ushort* szFileName, int nIconIndex, int cxIcon, int cyIcon, [NativeTypeName("HICON *")] IntPtr* phicon, [NativeTypeName("UINT *")] uint* piconid, [NativeTypeName("UINT")] uint nIcons, [NativeTypeName("UINT")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateIcon", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr CreateIcon([NativeTypeName("HINSTANCE")] IntPtr hInstance, int nWidth, int nHeight, [NativeTypeName("BYTE")] byte cPlanes, [NativeTypeName("BYTE")] byte cBitsPixel, [NativeTypeName("const BYTE *")] byte* lpbANDbits, [NativeTypeName("const BYTE *")] byte* lpbXORbits); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DestroyIcon", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int DestroyWindow([NativeTypeName("HWND")] IntPtr hWnd); + public static extern int DestroyIcon([NativeTypeName("HICON")] IntPtr hIcon); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LookupIconIdFromDirectory", ExactSpelling = true)] + public static extern int LookupIconIdFromDirectory([NativeTypeName("PBYTE")] byte* presbits, [NativeTypeName("BOOL")] int fIcon); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LookupIconIdFromDirectoryEx", ExactSpelling = true)] + public static extern int LookupIconIdFromDirectoryEx([NativeTypeName("PBYTE")] byte* presbits, [NativeTypeName("BOOL")] int fIcon, int cxDesired, int cyDesired, [NativeTypeName("UINT")] uint Flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateIconFromResource", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr CreateIconFromResource([NativeTypeName("PBYTE")] byte* presbits, [NativeTypeName("DWORD")] uint dwResSize, [NativeTypeName("BOOL")] int fIcon, [NativeTypeName("DWORD")] uint dwVer); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateIconFromResourceEx", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr CreateIconFromResourceEx([NativeTypeName("PBYTE")] byte* presbits, [NativeTypeName("DWORD")] uint dwResSize, [NativeTypeName("BOOL")] int fIcon, [NativeTypeName("DWORD")] uint dwVer, int cxDesired, int cyDesired, [NativeTypeName("UINT")] uint Flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadImageW", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* LoadImage([NativeTypeName("HINSTANCE")] IntPtr hInst, [NativeTypeName("LPCWSTR")] ushort* name, [NativeTypeName("UINT")] uint type, int cx, int cy, [NativeTypeName("UINT")] uint fuLoad); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyImage", ExactSpelling = true)] + [return: NativeTypeName("HANDLE")] + public static extern void* CopyImage([NativeTypeName("HANDLE")] void* h, [NativeTypeName("UINT")] uint type, int cx, int cy, [NativeTypeName("UINT")] uint flags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DrawIconEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DrawIconEx([NativeTypeName("HDC")] IntPtr hdc, int xLeft, int yTop, [NativeTypeName("HICON")] IntPtr hIcon, int cxWidth, int cyWidth, [NativeTypeName("UINT")] uint istepIfAniCur, [NativeTypeName("HBRUSH")] IntPtr hbrFlickerFreeDraw, [NativeTypeName("UINT")] uint diFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateIconIndirect", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr CreateIconIndirect([NativeTypeName("PICONINFO")] ICONINFO* piconinfo); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CopyIcon", ExactSpelling = true)] + [return: NativeTypeName("HICON")] + public static extern IntPtr CopyIcon([NativeTypeName("HICON")] IntPtr hIcon); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetIconInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetIconInfo([NativeTypeName("HICON")] IntPtr hIcon, [NativeTypeName("PICONINFO")] ICONINFO* piconinfo); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetIconInfoExW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetIconInfoEx([NativeTypeName("HICON")] IntPtr hicon, [NativeTypeName("PICONINFOEXW")] ICONINFOEX* piconinfo); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsDialogMessageW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsDialogMessage([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("LPMSG")] MSG* lpMsg); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MapDialogRect", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int MapDialogRect([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("LPRECT")] RECT* lpRect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DlgDirListW", ExactSpelling = true)] + public static extern int DlgDirList([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("LPWSTR")] ushort* lpPathSpec, int nIDListBox, int nIDStaticPath, [NativeTypeName("UINT")] uint uFileType); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "DispatchMessageW", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DlgDirSelectExW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DlgDirSelectEx([NativeTypeName("HWND")] IntPtr hwndDlg, [NativeTypeName("LPWSTR")] ushort* lpString, int chCount, int idListBox); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DlgDirListComboBoxW", ExactSpelling = true)] + public static extern int DlgDirListComboBox([NativeTypeName("HWND")] IntPtr hDlg, [NativeTypeName("LPWSTR")] ushort* lpPathSpec, int nIDComboBox, int nIDStaticPath, [NativeTypeName("UINT")] uint uFiletype); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DlgDirSelectComboBoxExW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int DlgDirSelectComboBoxEx([NativeTypeName("HWND")] IntPtr hwndDlg, [NativeTypeName("LPWSTR")] ushort* lpString, int cchOut, int idComboBox); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetScrollInfo", ExactSpelling = true)] + public static extern int SetScrollInfo([NativeTypeName("HWND")] IntPtr hwnd, int nBar, [NativeTypeName("LPCSCROLLINFO")] SCROLLINFO* lpsi, [NativeTypeName("BOOL")] int redraw); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetScrollInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetScrollInfo([NativeTypeName("HWND")] IntPtr hwnd, int nBar, [NativeTypeName("LPSCROLLINFO")] SCROLLINFO* lpsi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefFrameProcW", ExactSpelling = true)] [return: NativeTypeName("LRESULT")] - public static extern IntPtr DispatchMessage(MSG* lpMsg); + public static extern IntPtr DefFrameProc([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("HWND")] IntPtr hWndMDIClient, [NativeTypeName("UINT")] uint uMsg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefMDIChildProcW", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr DefMDIChildProc([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint uMsg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TranslateMDISysAccel", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int EnableWindow([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("BOOL")] int bEnable); + public static extern int TranslateMDISysAccel([NativeTypeName("HWND")] IntPtr hWndClient, [NativeTypeName("LPMSG")] MSG* lpMsg); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ArrangeIconicWindows", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint ArrangeIconicWindows([NativeTypeName("HWND")] IntPtr hWnd); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetActiveWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CreateMDIWindowW", ExactSpelling = true)] [return: NativeTypeName("HWND")] - public static extern IntPtr GetActiveWindow(); + public static extern IntPtr CreateMDIWindow([NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("LPCWSTR")] ushort* lpWindowName, [NativeTypeName("DWORD")] uint dwStyle, int X, int Y, int nWidth, int nHeight, [NativeTypeName("HWND")] IntPtr hWndParent, [NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPARAM")] IntPtr lParam); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "TileWindows", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort TileWindows([NativeTypeName("HWND")] IntPtr hwndParent, [NativeTypeName("UINT")] uint wHow, [NativeTypeName("const RECT *")] RECT* lpRect, [NativeTypeName("UINT")] uint cKids, [NativeTypeName("const HWND *")] IntPtr* lpKids); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassInfoExW", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CascadeWindows", ExactSpelling = true)] + [return: NativeTypeName("WORD")] + public static extern ushort CascadeWindows([NativeTypeName("HWND")] IntPtr hwndParent, [NativeTypeName("UINT")] uint wHow, [NativeTypeName("const RECT *")] RECT* lpRect, [NativeTypeName("UINT")] uint cKids, [NativeTypeName("const HWND *")] IntPtr* lpKids); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "WinHelpW", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int GetClassInfoEx([Optional, NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpszClass, [NativeTypeName("LPWNDCLASSEX")] WNDCLASSEX* lpwcx); + public static extern int WinHelp([NativeTypeName("HWND")] IntPtr hWndMain, [NativeTypeName("LPCWSTR")] ushort* lpszHelp, [NativeTypeName("UINT")] uint uCommand, [NativeTypeName("ULONG_PTR")] UIntPtr dwData); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetClassNameW", ExactSpelling = true)] - public static extern int GetClassName([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPWSTR")] ushort* lpClassName, int nMaxCount); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGuiResources", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetGuiResources([NativeTypeName("HANDLE")] void* hProcess, [NativeTypeName("DWORD")] uint uiFlags); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDesktopWindow", ExactSpelling = true)] - [return: NativeTypeName("HWND")] - public static extern IntPtr GetDesktopWindow(); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeDisplaySettingsW", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int ChangeDisplaySettings([NativeTypeName("DEVMODEW *")] DEVMODE* lpDevMode, [NativeTypeName("DWORD")] uint dwFlags); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowLongW", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeDisplaySettingsExW", ExactSpelling = true)] [return: NativeTypeName("LONG")] - public static extern int GetWindowLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); + public static extern int ChangeDisplaySettingsEx([NativeTypeName("LPCWSTR")] ushort* lpszDeviceName, [NativeTypeName("DEVMODEW *")] DEVMODE* lpDevMode, [NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("DWORD")] uint dwflags, [NativeTypeName("LPVOID")] void* lParam); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowLongPtrW", ExactSpelling = true)] - [return: NativeTypeName("LONG_PTR")] - public static extern IntPtr _GetWindowLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDisplaySettingsW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumDisplaySettings([NativeTypeName("LPCWSTR")] ushort* lpszDeviceName, [NativeTypeName("DWORD")] uint iModeNum, [NativeTypeName("DEVMODEW *")] DEVMODE* lpDevMode); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowRect", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDisplaySettingsExW", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int GetWindowRect([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPRECT")] RECT* lpRect); + public static extern int EnumDisplaySettingsEx([NativeTypeName("LPCWSTR")] ushort* lpszDeviceName, [NativeTypeName("DWORD")] uint iModeNum, [NativeTypeName("DEVMODEW *")] DEVMODE* lpDevMode, [NativeTypeName("DWORD")] uint dwFlags); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWindowVisible", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDisplayDevicesW", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int IsWindowVisible([NativeTypeName("HWND")] IntPtr hWnd); + public static extern int EnumDisplayDevices([NativeTypeName("LPCWSTR")] ushort* lpDevice, [NativeTypeName("DWORD")] uint iDevNum, [NativeTypeName("PDISPLAY_DEVICEW")] DISPLAY_DEVICE* lpDisplayDevice, [NativeTypeName("DWORD")] uint dwFlags); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "LoadCursorW", ExactSpelling = true)] - [return: NativeTypeName("HCURSOR")] - public static extern IntPtr LoadCursor([Optional, NativeTypeName("HINSTANCE")] IntPtr hInstance, [NativeTypeName("LPCWSTR")] ushort* lpCursorName); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDisplayConfigBufferSizes", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int GetDisplayConfigBufferSizes([NativeTypeName("UINT32")] uint flags, [NativeTypeName("UINT32 *")] uint* numPathArrayElements, [NativeTypeName("UINT32 *")] uint* numModeInfoArrayElements); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDisplayConfig", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int SetDisplayConfig([NativeTypeName("UINT32")] uint numPathArrayElements, [NativeTypeName("DISPLAYCONFIG_PATH_INFO *")] DISPLAYCONFIG_PATH_INFO* pathArray, [NativeTypeName("UINT32")] uint numModeInfoArrayElements, [NativeTypeName("DISPLAYCONFIG_MODE_INFO *")] DISPLAYCONFIG_MODE_INFO* modeInfoArray, [NativeTypeName("UINT32")] uint flags); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "PeekMessageW", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "QueryDisplayConfig", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int QueryDisplayConfig([NativeTypeName("UINT32")] uint flags, [NativeTypeName("UINT32 *")] uint* numPathArrayElements, [NativeTypeName("DISPLAYCONFIG_PATH_INFO *")] DISPLAYCONFIG_PATH_INFO* pathArray, [NativeTypeName("UINT32 *")] uint* numModeInfoArrayElements, [NativeTypeName("DISPLAYCONFIG_MODE_INFO *")] DISPLAYCONFIG_MODE_INFO* modeInfoArray, [NativeTypeName("DISPLAYCONFIG_TOPOLOGY_ID *")] DISPLAYCONFIG_TOPOLOGY_ID* currentTopologyId); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DisplayConfigGetDeviceInfo", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int DisplayConfigGetDeviceInfo([NativeTypeName("DISPLAYCONFIG_DEVICE_INFO_HEADER *")] DISPLAYCONFIG_DEVICE_INFO_HEADER* requestPacket); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DisplayConfigSetDeviceInfo", ExactSpelling = true)] + [return: NativeTypeName("LONG")] + public static extern int DisplayConfigSetDeviceInfo([NativeTypeName("DISPLAYCONFIG_DEVICE_INFO_HEADER *")] DISPLAYCONFIG_DEVICE_INFO_HEADER* setPacket); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SystemParametersInfoW", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int PeekMessage([NativeTypeName("LPMSG")] MSG* lpMsg, [Optional, NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint wMsgFilterMin, [NativeTypeName("UINT")] uint wMsgFilterMax, [NativeTypeName("UINT")] uint wRemoveMsg); + public static extern int SystemParametersInfo([NativeTypeName("UINT")] uint uiAction, [NativeTypeName("UINT")] uint uiParam, [NativeTypeName("PVOID")] void* pvParam, [NativeTypeName("UINT")] uint fWinIni); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "PostQuitMessage", ExactSpelling = true)] - public static extern void PostQuitMessage(int nExitCode); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SystemParametersInfoForDpi", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SystemParametersInfoForDpi([NativeTypeName("UINT")] uint uiAction, [NativeTypeName("UINT")] uint uiParam, [NativeTypeName("PVOID")] void* pvParam, [NativeTypeName("UINT")] uint fWinIni, [NativeTypeName("UINT")] uint dpi); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterClassExW", ExactSpelling = true)] - [return: NativeTypeName("ATOM")] - public static extern ushort RegisterClassEx(WNDCLASSEX* lpWndClassEx); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SoundSentry", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SoundSentry(); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SendMessageW", ExactSpelling = true)] - [return: NativeTypeName("LRESULT")] - public static extern IntPtr SendMessage([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDebugErrorLevel", ExactSpelling = true)] + public static extern void SetDebugErrorLevel([NativeTypeName("DWORD")] uint dwLevel); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetLastErrorEx", ExactSpelling = true)] + public static extern void SetLastErrorEx([NativeTypeName("DWORD")] uint dwErrCode, [NativeTypeName("DWORD")] uint dwType); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InternalGetWindowText", ExactSpelling = true)] + public static extern int InternalGetWindowText([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPWSTR")] ushort* pString, int cchMaxCount); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CancelShutdown", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CancelShutdown(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MonitorFromPoint", ExactSpelling = true)] + [return: NativeTypeName("HMONITOR")] + public static extern IntPtr MonitorFromPoint(POINT pt, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MonitorFromRect", ExactSpelling = true)] + [return: NativeTypeName("HMONITOR")] + public static extern IntPtr MonitorFromRect([NativeTypeName("LPCRECT")] RECT* lprc, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "MonitorFromWindow", ExactSpelling = true)] + [return: NativeTypeName("HMONITOR")] + public static extern IntPtr MonitorFromWindow([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMonitorInfoW", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMonitorInfo([NativeTypeName("HMONITOR")] IntPtr hMonitor, [NativeTypeName("LPMONITORINFO")] MONITORINFO* lpmi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnumDisplayMonitors", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnumDisplayMonitors([NativeTypeName("HDC")] IntPtr hdc, [NativeTypeName("LPCRECT")] RECT* lprcClip, [NativeTypeName("MONITORENUMPROC")] IntPtr lpfnEnum, [NativeTypeName("LPARAM")] IntPtr dwData); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "NotifyWinEvent", ExactSpelling = true)] + public static extern void NotifyWinEvent([NativeTypeName("DWORD")] uint @event, [NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LONG")] int idObject, [NativeTypeName("LONG")] int idChild); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWinEventHook", ExactSpelling = true)] + [return: NativeTypeName("HWINEVENTHOOK")] + public static extern IntPtr SetWinEventHook([NativeTypeName("DWORD")] uint eventMin, [NativeTypeName("DWORD")] uint eventMax, [NativeTypeName("HMODULE")] IntPtr hmodWinEventProc, [NativeTypeName("WINEVENTPROC")] IntPtr pfnWinEventProc, [NativeTypeName("DWORD")] uint idProcess, [NativeTypeName("DWORD")] uint idThread, [NativeTypeName("DWORD")] uint dwFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsWinEventHookInstalled", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsWinEventHookInstalled([NativeTypeName("DWORD")] uint @event); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnhookWinEvent", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UnhookWinEvent([NativeTypeName("HWINEVENTHOOK")] IntPtr hWinEventHook); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGUIThreadInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetGUIThreadInfo([NativeTypeName("DWORD")] uint idThread, [NativeTypeName("PGUITHREADINFO")] GUITHREADINFO* pgui); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "BlockInput", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int BlockInput([NativeTypeName("BOOL")] int fBlockIt); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetProcessDPIAware", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProcessDPIAware(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsProcessDPIAware", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsProcessDPIAware(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetThreadDpiAwarenessContext", ExactSpelling = true)] + [return: NativeTypeName("DPI_AWARENESS_CONTEXT")] + public static extern IntPtr SetThreadDpiAwarenessContext([NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr dpiContext); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetThreadDpiAwarenessContext", ExactSpelling = true)] + [return: NativeTypeName("DPI_AWARENESS_CONTEXT")] + public static extern IntPtr GetThreadDpiAwarenessContext(); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetActiveWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowDpiAwarenessContext", ExactSpelling = true)] + [return: NativeTypeName("DPI_AWARENESS_CONTEXT")] + public static extern IntPtr GetWindowDpiAwarenessContext([NativeTypeName("HWND")] IntPtr hwnd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAwarenessFromDpiAwarenessContext", ExactSpelling = true)] + public static extern DPI_AWARENESS GetAwarenessFromDpiAwarenessContext([NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr value); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "AreDpiAwarenessContextsEqual", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int AreDpiAwarenessContextsEqual([NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr dpiContextA, [NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr dpiContextB); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsValidDpiAwarenessContext", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsValidDpiAwarenessContext([NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr value); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDpiForWindow", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDpiForWindow([NativeTypeName("HWND")] IntPtr hwnd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDpiForSystem", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetDpiForSystem(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "EnableNonClientDpiScaling", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int EnableNonClientDpiScaling([NativeTypeName("HWND")] IntPtr hwnd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "InheritWindowMonitor", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int InheritWindowMonitor([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("HWND")] IntPtr hwndInherit); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetProcessDpiAwarenessContext", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProcessDpiAwarenessContext([NativeTypeName("DPI_AWARENESS_CONTEXT")] IntPtr value); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowModuleFileNameW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetWindowModuleFileName([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LPWSTR")] ushort* pszFileName, [NativeTypeName("UINT")] uint cchFileNameMax); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCursorInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCursorInfo([NativeTypeName("PCURSORINFO")] CURSORINFO* pci); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetWindowInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetWindowInfo([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("PWINDOWINFO")] WINDOWINFO* pwi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetTitleBarInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetTitleBarInfo([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("PTITLEBARINFO")] TITLEBARINFO* pti); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetMenuBarInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetMenuBarInfo([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LONG")] int idObject, [NativeTypeName("LONG")] int idItem, [NativeTypeName("PMENUBARINFO")] MENUBARINFO* pmbi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetScrollBarInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetScrollBarInfo([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LONG")] int idObject, [NativeTypeName("PSCROLLBARINFO")] SCROLLBARINFO* psbi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetComboBoxInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetComboBoxInfo([NativeTypeName("HWND")] IntPtr hwndCombo, [NativeTypeName("PCOMBOBOXINFO")] COMBOBOXINFO* pcbi); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAncestor", ExactSpelling = true)] [return: NativeTypeName("HWND")] - public static extern IntPtr SetActiveWindow([NativeTypeName("HWND")] IntPtr hWnd); + public static extern IntPtr GetAncestor([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("UINT")] uint gaFlags); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RealChildWindowFromPoint", ExactSpelling = true)] + [return: NativeTypeName("HWND")] + public static extern IntPtr RealChildWindowFromPoint([NativeTypeName("HWND")] IntPtr hwndParent, POINT ptParentClientCoords); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RealGetWindowClassW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint RealGetWindowClass([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LPWSTR")] ushort* ptszClassName, [NativeTypeName("UINT")] uint cchClassNameMax); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetForegroundWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAltTabInfoW", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int SetForegroundWindow([NativeTypeName("HWND")] IntPtr hWnd); + public static extern int GetAltTabInfo([NativeTypeName("HWND")] IntPtr hwnd, int iItem, [NativeTypeName("PALTTABINFO")] ALTTABINFO* pati, [NativeTypeName("LPWSTR")] ushort* pszItemText, [NativeTypeName("UINT")] uint cchItemText); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowLongW", ExactSpelling = true)] - [return: NativeTypeName("LONG")] - public static extern int SetWindowLong([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG")] int dwNewLong); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetListBoxInfo", ExactSpelling = true)] + [return: NativeTypeName("DWORD")] + public static extern uint GetListBoxInfo([NativeTypeName("HWND")] IntPtr hwnd); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowLongPtrW", ExactSpelling = true)] - [return: NativeTypeName("LONG_PTR")] - public static extern IntPtr _SetWindowLongPtr([NativeTypeName("HWND")] IntPtr hWnd, int nIndex, [NativeTypeName("LONG_PTR")] IntPtr dwNewLong); + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "LockWorkStation", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int LockWorkStation(); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "UserHandleGrantAccess", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int UserHandleGrantAccess([NativeTypeName("HANDLE")] void* hUserHandle, [NativeTypeName("HANDLE")] void* hJob, [NativeTypeName("BOOL")] int bGrant); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRawInputData", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetRawInputData([NativeTypeName("HRAWINPUT")] IntPtr hRawInput, [NativeTypeName("UINT")] uint uiCommand, [NativeTypeName("LPVOID")] void* pData, [NativeTypeName("PUINT")] uint* pcbSize, [NativeTypeName("UINT")] uint cbSizeHeader); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetWindowTextW", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRawInputDeviceInfoW", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetRawInputDeviceInfo([NativeTypeName("HANDLE")] void* hDevice, [NativeTypeName("UINT")] uint uiCommand, [NativeTypeName("LPVOID")] void* pData, [NativeTypeName("PUINT")] uint* pcbSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRawInputBuffer", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetRawInputBuffer([NativeTypeName("PRAWINPUT")] RAWINPUT* pData, [NativeTypeName("PUINT")] uint* pcbSize, [NativeTypeName("UINT")] uint cbSizeHeader); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterRawInputDevices", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int SetWindowText([NativeTypeName("HWND")] IntPtr hWnd, [Optional, NativeTypeName("LPCWSTR")] ushort* lpString); + public static extern int RegisterRawInputDevices([NativeTypeName("PCRAWINPUTDEVICE")] RAWINPUTDEVICE* pRawInputDevices, [NativeTypeName("UINT")] uint uiNumDevices, [NativeTypeName("UINT")] uint cbSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRegisteredRawInputDevices", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetRegisteredRawInputDevices([NativeTypeName("PRAWINPUTDEVICE")] RAWINPUTDEVICE* pRawInputDevices, [NativeTypeName("PUINT")] uint* puiNumDevices, [NativeTypeName("UINT")] uint cbSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRawInputDeviceList", ExactSpelling = true)] + [return: NativeTypeName("UINT")] + public static extern uint GetRawInputDeviceList([NativeTypeName("PRAWINPUTDEVICELIST")] RAWINPUTDEVICELIST* pRawInputDeviceList, [NativeTypeName("PUINT")] uint* puiNumDevices, [NativeTypeName("UINT")] uint cbSize); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShowWindow", ExactSpelling = true)] + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "DefRawInputProc", ExactSpelling = true)] + [return: NativeTypeName("LRESULT")] + public static extern IntPtr DefRawInputProc([NativeTypeName("PRAWINPUT *")] RAWINPUT** paRawInput, [NativeTypeName("INT")] int nInput, [NativeTypeName("UINT")] uint cbSizeHeader); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerDevices", ExactSpelling = true)] [return: NativeTypeName("BOOL")] - public static extern int ShowWindow([NativeTypeName("HWND")] IntPtr hWnd, int nCmdShow); + public static extern int GetPointerDevices([NativeTypeName("UINT32 *")] uint* deviceCount, [NativeTypeName("POINTER_DEVICE_INFO *")] POINTER_DEVICE_INFO* pointerDevices); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerDevice", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerDevice([NativeTypeName("HANDLE")] void* device, [NativeTypeName("POINTER_DEVICE_INFO *")] POINTER_DEVICE_INFO* pointerDevice); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerDeviceProperties", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerDeviceProperties([NativeTypeName("HANDLE")] void* device, [NativeTypeName("UINT32 *")] uint* propertyCount, [NativeTypeName("POINTER_DEVICE_PROPERTY *")] POINTER_DEVICE_PROPERTY* pointerProperties); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "RegisterPointerDeviceNotifications", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int RegisterPointerDeviceNotifications([NativeTypeName("HWND")] IntPtr window, [NativeTypeName("BOOL")] int notifyRange); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerDeviceRects", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerDeviceRects([NativeTypeName("HANDLE")] void* device, [NativeTypeName("RECT *")] RECT* pointerDeviceRect, [NativeTypeName("RECT *")] RECT* displayRect); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetPointerDeviceCursors", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetPointerDeviceCursors([NativeTypeName("HANDLE")] void* device, [NativeTypeName("UINT32 *")] uint* cursorCount, [NativeTypeName("POINTER_DEVICE_CURSOR_INFO *")] POINTER_DEVICE_CURSOR_INFO* deviceCursors); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetRawPointerDeviceData", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetRawPointerDeviceData([NativeTypeName("UINT32")] uint pointerId, [NativeTypeName("UINT32")] uint historyCount, [NativeTypeName("UINT32")] uint propertiesCount, [NativeTypeName("POINTER_DEVICE_PROPERTY *")] POINTER_DEVICE_PROPERTY* pProperties, [NativeTypeName("LONG *")] int* pValues); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeWindowMessageFilter", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ChangeWindowMessageFilter([NativeTypeName("UINT")] uint message, [NativeTypeName("DWORD")] uint dwFlag); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ChangeWindowMessageFilterEx", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ChangeWindowMessageFilterEx([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("UINT")] uint message, [NativeTypeName("DWORD")] uint action, [NativeTypeName("PCHANGEFILTERSTRUCT")] CHANGEFILTERSTRUCT* pChangeFilterStruct); - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "TranslateMessage", ExactSpelling = true)] - [return: NativeTypeName("BOOL")] - public static extern int TranslateMessage(MSG* lpMsg); - - [DllImport(DllName, CallingConvention = CallingConvention.Winapi, EntryPoint = "UnregisterClassW", ExactSpelling = true)] - [return: NativeTypeName("BOOL")] - public static extern int UnregisterClass([NativeTypeName("LPCWSTR")] ushort* lpClassName, [NativeTypeName("HINSTANCE")] IntPtr hInstance = default); - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static IntPtr GetWindowLongPtr(IntPtr hWnd, int nIndex) - { - if (IntPtr.Size == 4) - { - return (IntPtr)GetWindowLong(hWnd, nIndex); - } - else - { - return _GetWindowLongPtr(hWnd, nIndex); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static IntPtr SetWindowLongPtr(IntPtr hWnd, int nIndex, IntPtr dwNewLong) - { - if (IntPtr.Size == 4) - { - return (IntPtr)SetWindowLong(hWnd, nIndex, (int)dwNewLong); - } - else - { - return _SetWindowLongPtr(hWnd, nIndex, dwNewLong); - } - } + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGestureInfo", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetGestureInfo([NativeTypeName("HGESTUREINFO")] IntPtr hGestureInfo, [NativeTypeName("PGESTUREINFO")] GESTUREINFO* pGestureInfo); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGestureExtraArgs", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetGestureExtraArgs([NativeTypeName("HGESTUREINFO")] IntPtr hGestureInfo, [NativeTypeName("UINT")] uint cbExtraArgs, [NativeTypeName("PBYTE")] byte* pExtraArgs); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "CloseGestureInfoHandle", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int CloseGestureInfoHandle([NativeTypeName("HGESTUREINFO")] IntPtr hGestureInfo); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetGestureConfig", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetGestureConfig([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("DWORD")] uint dwReserved, [NativeTypeName("UINT")] uint cIDs, [NativeTypeName("PGESTURECONFIG")] GESTURECONFIG* pGestureConfig, [NativeTypeName("UINT")] uint cbSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetGestureConfig", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetGestureConfig([NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("DWORD")] uint dwReserved, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("PUINT")] uint* pcIDs, [NativeTypeName("PGESTURECONFIG")] GESTURECONFIG* pGestureConfig, [NativeTypeName("UINT")] uint cbSize); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShutdownBlockReasonCreate", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShutdownBlockReasonCreate([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPCWSTR")] ushort* pwszReason); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShutdownBlockReasonQuery", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShutdownBlockReasonQuery([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("LPWSTR")] ushort* pwszBuff, [NativeTypeName("DWORD *")] uint* pcchBuff); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "ShutdownBlockReasonDestroy", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int ShutdownBlockReasonDestroy([NativeTypeName("HWND")] IntPtr hWnd); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCurrentInputMessageSource", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCurrentInputMessageSource([NativeTypeName("INPUT_MESSAGE_SOURCE *")] INPUT_MESSAGE_SOURCE* inputMessageSource); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetCIMSSM", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetCIMSSM([NativeTypeName("INPUT_MESSAGE_SOURCE *")] INPUT_MESSAGE_SOURCE* inputMessageSource); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetAutoRotationState", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetAutoRotationState([NativeTypeName("PAR_STATE")] AR_STATE* pState); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDisplayAutoRotationPreferences", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetDisplayAutoRotationPreferences([NativeTypeName("ORIENTATION_PREFERENCE *")] ORIENTATION_PREFERENCE* pOrientation); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "GetDisplayAutoRotationPreferencesByProcessId", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int GetDisplayAutoRotationPreferencesByProcessId([NativeTypeName("DWORD")] uint dwProcessId, [NativeTypeName("ORIENTATION_PREFERENCE *")] ORIENTATION_PREFERENCE* pOrientation, [NativeTypeName("BOOL *")] int* fRotateScreen); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetDisplayAutoRotationPreferences", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetDisplayAutoRotationPreferences(ORIENTATION_PREFERENCE orientation); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "IsImmersiveProcess", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int IsImmersiveProcess([NativeTypeName("HANDLE")] void* hProcess); + + [DllImport(LibraryPath, CallingConvention = CallingConvention.Winapi, EntryPoint = "SetProcessRestrictionExemption", ExactSpelling = true)] + [return: NativeTypeName("BOOL")] + public static extern int SetProcessRestrictionExemption([NativeTypeName("BOOL")] int fEnableExemption); } } diff --git a/sources/Interop/User32/um/winuser/WINDOWINFO.cs b/sources/Interop/User32/um/winuser/WINDOWINFO.cs new file mode 100644 index 0000000000..b501c686f2 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WINDOWINFO.cs @@ -0,0 +1,38 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct WINDOWINFO + { + [NativeTypeName("DWORD")] + public uint cbSize; + + public RECT rcWindow; + + public RECT rcClient; + + [NativeTypeName("DWORD")] + public uint dwStyle; + + [NativeTypeName("DWORD")] + public uint dwExStyle; + + [NativeTypeName("DWORD")] + public uint dwWindowStatus; + + [NativeTypeName("UINT")] + public uint cxWindowBorders; + + [NativeTypeName("UINT")] + public uint cyWindowBorders; + + [NativeTypeName("ATOM")] + public ushort atomWindowType; + + [NativeTypeName("WORD")] + public ushort wCreatorVersion; + } +} diff --git a/sources/Interop/User32/um/winuser/WINDOWPLACEMENT.cs b/sources/Interop/User32/um/winuser/WINDOWPLACEMENT.cs new file mode 100644 index 0000000000..bc4157cce9 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WINDOWPLACEMENT.cs @@ -0,0 +1,25 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct WINDOWPLACEMENT + { + [NativeTypeName("UINT")] + public uint length; + + [NativeTypeName("UINT")] + public uint flags; + + [NativeTypeName("UINT")] + public uint showCmd; + + public POINT ptMinPosition; + + public POINT ptMaxPosition; + + public RECT rcNormalPosition; + } +} diff --git a/sources/Interop/User32/um/winuser/WINDOWPOS.cs b/sources/Interop/User32/um/winuser/WINDOWPOS.cs new file mode 100644 index 0000000000..9fa8fe15d6 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WINDOWPOS.cs @@ -0,0 +1,29 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct WINDOWPOS + { + [NativeTypeName("HWND")] + public IntPtr hwnd; + + [NativeTypeName("HWND")] + public IntPtr hwndInsertAfter; + + public int x; + + public int y; + + public int cx; + + public int cy; + + [NativeTypeName("UINT")] + public uint flags; + } +} diff --git a/sources/Interop/User32/um/winuser/WINEVENTPROC.cs b/sources/Interop/User32/um/winuser/WINEVENTPROC.cs new file mode 100644 index 0000000000..a80bf6fad3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WINEVENTPROC.cs @@ -0,0 +1,13 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + public unsafe delegate void WINEVENTPROC([NativeTypeName("HWINEVENTHOOK")] IntPtr hWinEventHook, [NativeTypeName("DWORD")] uint @event, [NativeTypeName("HWND")] IntPtr hwnd, [NativeTypeName("LONG")] int idObject, [NativeTypeName("LONG")] int idChild, [NativeTypeName("DWORD")] uint idEventThread, [NativeTypeName("DWORD")] uint dwmsEventTime); +} diff --git a/sources/Interop/User32/um/winuser/WNDCLASS.cs b/sources/Interop/User32/um/winuser/WNDCLASS.cs new file mode 100644 index 0000000000..9bce338b71 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WNDCLASS.cs @@ -0,0 +1,40 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; + +namespace TerraFX.Interop +{ + public unsafe partial struct WNDCLASS + { + [NativeTypeName("UINT")] + public uint style; + + [NativeTypeName("WNDPROC")] + public IntPtr lpfnWndProc; + + public int cbClsExtra; + + public int cbWndExtra; + + [NativeTypeName("HINSTANCE")] + public IntPtr hInstance; + + [NativeTypeName("HICON")] + public IntPtr hIcon; + + [NativeTypeName("HCURSOR")] + public IntPtr hCursor; + + [NativeTypeName("HBRUSH")] + public IntPtr hbrBackground; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszMenuName; + + [NativeTypeName("LPCWSTR")] + public ushort* lpszClassName; + } +} diff --git a/sources/Interop/User32/um/winuser/WNDCLASSEX.cs b/sources/Interop/User32/um/winuser/WNDCLASSEX.cs index 184954c6f4..ddb0a6f756 100644 --- a/sources/Interop/User32/um/winuser/WNDCLASSEX.cs +++ b/sources/Interop/User32/um/winuser/WNDCLASSEX.cs @@ -7,7 +7,7 @@ namespace TerraFX.Interop { - public unsafe struct WNDCLASSEX + public unsafe partial struct WNDCLASSEX { [NativeTypeName("UINT")] public uint cbSize; diff --git a/sources/Interop/User32/um/winuser/WNDENUMPROC.cs b/sources/Interop/User32/um/winuser/WNDENUMPROC.cs new file mode 100644 index 0000000000..c07b176fb3 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WNDENUMPROC.cs @@ -0,0 +1,14 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +using System; +using System.Runtime.InteropServices; + +namespace TerraFX.Interop +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + [return: NativeTypeName("BOOL")] + public unsafe delegate int WNDENUMPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("LPARAM")] IntPtr param1); +} diff --git a/sources/Interop/User32/um/winuser/WNDPROC.cs b/sources/Interop/User32/um/winuser/WNDPROC.cs index 51df6b8f71..511cb8ac02 100644 --- a/sources/Interop/User32/um/winuser/WNDPROC.cs +++ b/sources/Interop/User32/um/winuser/WNDPROC.cs @@ -8,7 +8,7 @@ namespace TerraFX.Interop { - [UnmanagedFunctionPointer(CallingConvention.Winapi)] + [UnmanagedFunctionPointer(CallingConvention.StdCall)] [return: NativeTypeName("LRESULT")] - public unsafe delegate IntPtr WNDPROC([NativeTypeName("HWND")] IntPtr hWnd, [NativeTypeName("UINT")] uint Msg, [NativeTypeName("WPARAM")] UIntPtr wParam, [NativeTypeName("LPARAM")] IntPtr lParam); + public unsafe delegate IntPtr WNDPROC([NativeTypeName("HWND")] IntPtr param0, [NativeTypeName("UINT")] uint param1, [NativeTypeName("WPARAM")] UIntPtr param2, [NativeTypeName("LPARAM")] IntPtr param3); } diff --git a/sources/Interop/User32/um/winuser/WTSSESSION_NOTIFICATION.cs b/sources/Interop/User32/um/winuser/WTSSESSION_NOTIFICATION.cs new file mode 100644 index 0000000000..8b5df38799 --- /dev/null +++ b/sources/Interop/User32/um/winuser/WTSSESSION_NOTIFICATION.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from um\winuser.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct WTSSESSION_NOTIFICATION + { + [NativeTypeName("DWORD")] + public uint cbSize; + + [NativeTypeName("DWORD")] + public uint dwSessionId; + } +} diff --git a/sources/Interop/Windows/shared/minwindef/Windows.cs b/sources/Interop/Windows/shared/minwindef/Windows.cs index 93171fae5d..ed73320625 100644 --- a/sources/Interop/Windows/shared/minwindef/Windows.cs +++ b/sources/Interop/Windows/shared/minwindef/Windows.cs @@ -3,7 +3,6 @@ // Ported from shared\minwindef.h in the Windows SDK for Windows 10.0.15063.0 // Original source is Copyright © Microsoft. All rights reserved. -using System; using System.Runtime.CompilerServices; namespace TerraFX.Interop @@ -15,75 +14,21 @@ public static unsafe partial class Windows public const int TRUE = 1; [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort MAKEWORD(IntPtr a, IntPtr b) - { - return MAKEWORD((UIntPtr)(void*)a, (UIntPtr)(void*)b); - } + public static ushort MAKEWORD(byte a, byte b) => (ushort)(a | (b << 8)); [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort MAKEWORD(UIntPtr a, UIntPtr b) - { - return (ushort)((byte)a | ((byte)b << 8)); - } + public static int MAKELONG(ushort a, ushort b) => a | (b << 16); [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static int MAKELONG(IntPtr a, IntPtr b) - { - return MAKELONG((UIntPtr)(void*)a, (UIntPtr)(void*)b); - } + public static ushort LOWORD(uint l) => (ushort)l; [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static int MAKELONG(UIntPtr a, UIntPtr b) - { - return (int)(uint)((ushort)a | ((ushort)b << 16)); - } + public static ushort HIWORD(uint l) => (ushort)(l >> 16); [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort LOWORD(IntPtr l) - { - return LOWORD((UIntPtr)(void*)l); - } + public static byte LOBYTE(ushort w) => (byte)w; [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort LOWORD(UIntPtr l) - { - return (ushort)l; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort HIWORD(IntPtr l) - { - return HIWORD((UIntPtr)(void*)l); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static ushort HIWORD(UIntPtr l) - { - return (ushort)((uint)l >> 16); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static byte LOBYTE(IntPtr w) - { - return LOBYTE((UIntPtr)(void*)w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static byte LOBYTE(UIntPtr w) - { - return (byte)w; - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static byte HIBYTE(IntPtr w) - { - return HIBYTE((UIntPtr)(void*)w); - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static byte HIBYTE(UIntPtr w) - { - return (byte)((ushort)w >> 8); - } + public static byte HIBYTE(ushort w) => (byte)(w >> 8); } } diff --git a/sources/Interop/Windows/shared/windef/DPI_AWARENESS.cs b/sources/Interop/Windows/shared/windef/DPI_AWARENESS.cs new file mode 100644 index 0000000000..6eca9aefbf --- /dev/null +++ b/sources/Interop/Windows/shared/windef/DPI_AWARENESS.cs @@ -0,0 +1,15 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from shared\windef.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public enum DPI_AWARENESS + { + DPI_AWARENESS_INVALID = -1, + DPI_AWARENESS_UNAWARE = 0, + DPI_AWARENESS_SYSTEM_AWARE = 1, + DPI_AWARENESS_PER_MONITOR_AWARE = 2 + } +} diff --git a/sources/Interop/Windows/shared/windef/POINT.cs b/sources/Interop/Windows/shared/windef/POINT.cs index faa62777ec..6c731b1bb9 100644 --- a/sources/Interop/Windows/shared/windef/POINT.cs +++ b/sources/Interop/Windows/shared/windef/POINT.cs @@ -5,7 +5,7 @@ namespace TerraFX.Interop { - public struct POINT + public partial struct POINT { [NativeTypeName("LONG")] public int x; diff --git a/sources/Interop/Windows/shared/windef/POINTL.cs b/sources/Interop/Windows/shared/windef/POINTL.cs new file mode 100644 index 0000000000..b8db3bc827 --- /dev/null +++ b/sources/Interop/Windows/shared/windef/POINTL.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from shared\windef.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTL + { + [NativeTypeName("LONG")] + public int x; + + [NativeTypeName("LONG")] + public int y; + } +} diff --git a/sources/Interop/Windows/shared/windef/POINTS.cs b/sources/Interop/Windows/shared/windef/POINTS.cs new file mode 100644 index 0000000000..99700caa07 --- /dev/null +++ b/sources/Interop/Windows/shared/windef/POINTS.cs @@ -0,0 +1,16 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from shared\windef.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct POINTS + { + [NativeTypeName("SHORT")] + public short x; + + [NativeTypeName("SHORT")] + public short y; + } +} diff --git a/sources/Interop/Windows/shared/windef/RECT.Manual.cs b/sources/Interop/Windows/shared/windef/RECT.Manual.cs new file mode 100644 index 0000000000..d4183ed612 --- /dev/null +++ b/sources/Interop/Windows/shared/windef/RECT.Manual.cs @@ -0,0 +1,18 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from shared\windef.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RECT + { + public RECT(int Left, int Top, int Right, int Bottom) + { + left = Left; + top = Top; + right = Right; + bottom = Bottom; + } + } +} diff --git a/sources/Interop/Windows/shared/windef/RECT.cs b/sources/Interop/Windows/shared/windef/RECT.cs index c5d8d0c6c9..c2cae0dd71 100644 --- a/sources/Interop/Windows/shared/windef/RECT.cs +++ b/sources/Interop/Windows/shared/windef/RECT.cs @@ -5,7 +5,7 @@ namespace TerraFX.Interop { - public struct RECT + public partial struct RECT { [NativeTypeName("LONG")] public int left; @@ -18,13 +18,5 @@ public struct RECT [NativeTypeName("LONG")] public int bottom; - - public RECT(int Left, int Top, int Right, int Bottom) - { - left = Left; - top = Top; - right = Right; - bottom = Bottom; - } } } diff --git a/sources/Interop/Windows/shared/windef/RECTL.cs b/sources/Interop/Windows/shared/windef/RECTL.cs new file mode 100644 index 0000000000..af72d0baaf --- /dev/null +++ b/sources/Interop/Windows/shared/windef/RECTL.cs @@ -0,0 +1,22 @@ +// Copyright © Tanner Gooding and Contributors. Licensed under the MIT License (MIT). See License.md in the repository root for more information. + +// Ported from shared\windef.h in the Windows SDK for Windows 10.0.15063.0 +// Original source is Copyright © Microsoft. All rights reserved. + +namespace TerraFX.Interop +{ + public partial struct RECTL + { + [NativeTypeName("LONG")] + public int left; + + [NativeTypeName("LONG")] + public int top; + + [NativeTypeName("LONG")] + public int right; + + [NativeTypeName("LONG")] + public int bottom; + } +} diff --git a/sources/Interop/Windows/shared/windef/SIZE.cs b/sources/Interop/Windows/shared/windef/SIZE.cs index cf7f9d9bdd..d67ac16ae8 100644 --- a/sources/Interop/Windows/shared/windef/SIZE.cs +++ b/sources/Interop/Windows/shared/windef/SIZE.cs @@ -5,7 +5,7 @@ namespace TerraFX.Interop { - public struct SIZE + public partial struct SIZE { [NativeTypeName("LONG")] public int cx; diff --git a/tests/Interop/Gdi32/TerraFX.Interop.Gdi32.UnitTests.csproj b/tests/Interop/Gdi32/TerraFX.Interop.Gdi32.UnitTests.csproj new file mode 100644 index 0000000000..eaf1bc3fa0 --- /dev/null +++ b/tests/Interop/Gdi32/TerraFX.Interop.Gdi32.UnitTests.csproj @@ -0,0 +1,14 @@ + + + + + + TerraFX.Interop.UnitTests + netcoreapp3.0 + + + + + + + diff --git a/tests/Interop/Windows/um/wingdi/FONTSIGNATURETests.cs b/tests/Interop/Gdi32/um/wingdi/FONTSIGNATURETests.cs similarity index 100% rename from tests/Interop/Windows/um/wingdi/FONTSIGNATURETests.cs rename to tests/Interop/Gdi32/um/wingdi/FONTSIGNATURETests.cs diff --git a/tests/Interop/Windows/um/wingdi/LOGFONTTests.cs b/tests/Interop/Gdi32/um/wingdi/LOGFONTTests.cs similarity index 100% rename from tests/Interop/Windows/um/wingdi/LOGFONTTests.cs rename to tests/Interop/Gdi32/um/wingdi/LOGFONTTests.cs