File: Windows.Win32.RGNDATA.g.cs
Project: src\src\System.Private.Windows.Core\src\System.Private.Windows.Core.csproj (System.Private.Windows.Core)
// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
	namespace Graphics.Gdi
	{
		/// <summary>The RGNDATA structure contains a header and an array of rectangles that compose a region. The rectangles are sorted top to bottom, left to right. They do not overlap.</summary>
		/// <remarks>
		/// <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-rgndata">Learn more about this API from docs.microsoft.com</see>.</para>
		/// </remarks>
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal partial struct RGNDATA
		{
			/// <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-rgndataheader">RGNDATAHEADER</a> structure. The members of this structure specify the type of region (whether it is rectangular or trapezoidal), the number of rectangles that make up the region, the size of the buffer that contains the rectangle structures, and so on.</summary>
			internal winmdroot.Graphics.Gdi.RGNDATAHEADER rdh;

			/// <summary>Specifies an arbitrary-size buffer that contains the <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structures that make up the region.</summary>
			internal global::Windows.Win32.VariableLengthInlineArray<winmdroot.Foundation.CHAR> Buffer;

			/// <summary>Computes the amount of memory that must be allocated to store this struct, including the specified number of elements in the variable length inline array at the end.</summary>
			internal static unsafe int SizeOf(int count)
			{
				int v = sizeof(RGNDATA);
				if (count > 1)
					v +=checked((count - 1) * sizeof(winmdroot.Foundation.CHAR));
					else
						if (count < 0)
							throw new ArgumentOutOfRangeException();
				return v;
			}
		}
	}
}