diff --git a/src/Generator/ApiData.cs b/src/Generator/ApiData.cs index ad25df8..475f770 100644 --- a/src/Generator/ApiData.cs +++ b/src/Generator/ApiData.cs @@ -57,46 +57,6 @@ public class ApiParameter public List Attrs { get; set; } = new(); } -public class ApiFunction -{ - public string Name { get; set; } - public bool SetLastError { get; set; } - public string DllImport { get; set; } - public ApiDataType ReturnType { get; set; } - public List ReturnAttrs { get; set; } - - public IList Params { get; set; } = new List(); - public List Attrs { get; set; } - - private string _toString = default; - - public override string ToString() - { - if (string.IsNullOrEmpty(_toString)) - { - StringBuilder builder = new(); - builder.Append(ReturnType.Name).Append(' '); - builder.Append(Name).Append('('); - int parameterIndex = 0; - foreach (var parameter in Params) - { - // TODO: Handle PointerTo, Array etc - builder.Append(parameter.Type.Name).Append(' ').Append(parameter.Name); - if (parameterIndex < Params.Count - 1) - { - builder.Append(", "); - } - parameterIndex++; - } - - builder.Append(')'); - _toString = builder.ToString(); - } - - return _toString; - } -} - public class ApiType { public string Name { get; set; } @@ -118,18 +78,19 @@ public class ApiType // Com public string Guid { get; set; } public ApiDataType Interface { get; set; } - public IList Methods { get; set; } = new List(); + public IList Methods { get; set; } = new List(); // Function public bool SetLastError { get; set; } public ApiDataType ReturnType { get; set; } public List ReturnAttrs { get; set; } public IList Params { get; set; } = new List(); + public string DllImport { get; set; } } public sealed class ApiData { public ApiDataConstant[] Constants { get; set; } public ApiType[] Types { get; set; } - public ApiFunction[] Functions { get; set; } + public ApiType[] Functions { get; set; } } diff --git a/src/Generator/CodeWriter.cs b/src/Generator/CodeWriter.cs index 0552c19..80f97ff 100644 --- a/src/Generator/CodeWriter.cs +++ b/src/Generator/CodeWriter.cs @@ -62,10 +62,15 @@ public sealed class CodeWriter : IDisposable public void Dispose() { - string content = _builder.ToString(); - File.WriteAllText(_fileName, content); + if (string.IsNullOrEmpty(_fileName) == false) + { + string content = _builder.ToString(); + File.WriteAllText(_fileName, content); + } } + public override string ToString() => _builder.ToString(); + public void Write(char chr) { WriteIndented(chr); diff --git a/src/Generator/Program.cs b/src/Generator/Program.cs index 294c2fb..ed56a25 100644 --- a/src/Generator/Program.cs +++ b/src/Generator/Program.cs @@ -2,7 +2,9 @@ // Licensed under the MIT License (MIT). See LICENSE in the repository root for more information. using System.ComponentModel.DataAnnotations; +using System.Data.Common; using System.Globalization; +using System.Reflection; using System.Reflection.Metadata; using System.Text; using Newtonsoft.Json; @@ -25,9 +27,8 @@ public static class Program "Graphics.Direct2D.Common.json", "Graphics.Imaging.json", "Graphics.DirectWrite.json", - //"Graphics.Direct2D.json", - - //"Graphics.Imaging.D2D.json", + "Graphics.Direct2D.json", + "Graphics.Imaging.D2D.json", }; private static readonly Dictionary s_csNameMappings = new() @@ -103,6 +104,10 @@ public static class Program { "Graphics.Imaging.WICRect", "System.Drawing.Rectangle" }, + { "Graphics.Direct2D.Matrix4x3F", "Win32.Graphics.Direct2D.Common.Matrix4x3" }, + { "Graphics.Direct2D.Matrix4x4F", "Matrix4x4" }, + { "Graphics.Direct2D.Matrix5x4F", "Win32.Graphics.Direct2D.Common.Matrix5x4" }, + // TODO: Understand those -> { "Foundation.RECT", "RawRect" }, { "Foundation.RECTL", "RawRect" }, @@ -865,7 +870,7 @@ public static class Program private static readonly HashSet s_visitedEnums = new(); private static readonly HashSet s_visitedStructs = new(); - private static readonly Dictionary>> s_visitedComTypes = new(); + private static readonly Dictionary>> s_visitedComTypes = new(); private static bool s_generateUnmanagedDocs = true; @@ -1113,7 +1118,7 @@ public static class Program regionWritten = true; } - GenerateStruct(writer, structType); + GenerateStruct(api, writer, structType); s_visitedStructs.Add($"{writer.Api}.{structType.Name}"); } @@ -1146,7 +1151,7 @@ public static class Program regionWritten = true; } - GenerateStruct(writer, structType); + GenerateStruct(api, writer, structType); s_visitedStructs.Add($"{writer.Api}.{structType.Name}"); } @@ -1181,7 +1186,7 @@ public static class Program } // Generate methods - List> methodsToGenerate = new(); + List> methodsToGenerate = new(); ApiType iterateType = comType; while (iterateType.Interface != null && iterateType.Interface.Name != "IUnknown" @@ -1193,8 +1198,12 @@ public static class Program if (iterateType != null) { - foreach (ApiFunction method in iterateType.Methods) + foreach (ApiType method in iterateType.Methods) { + // Until we add Storage.Xps.Printing.IPrintDocumentPackageTarget + if (method.Name == "CreatePrintControl") + continue; + methodsToGenerate.Add(new(method, iterateType.Name)); } } @@ -1211,8 +1220,12 @@ public static class Program } } - foreach (ApiFunction method in comType.Methods) + foreach (ApiType method in comType.Methods) { + // Until we add Storage.Xps.Printing.IPrintDocumentPackageTarget + if (method.Name == "CreatePrintControl") + continue; + methodsToGenerate.Add(new(method, comType.Name)); } @@ -1234,7 +1247,7 @@ public static class Program writer.WriteLine($"#region Functions"); using (writer.PushBlock($"public static unsafe partial class Apis")) { - foreach (ApiFunction function in api.Functions) + foreach (ApiType function in api.Functions) { if (function.Name.StartsWith("D3DX11") || function.Name == "D3DDisassemble11Trace") @@ -1242,7 +1255,7 @@ public static class Program continue; } - WriteFunction(writer, api, function); + WriteFunction(writer, api, function, string.Empty, false); writer.WriteLine(); } } @@ -1250,7 +1263,12 @@ public static class Program writer.WriteLine($"#endregion Functions"); } - private static void WriteFunction(CodeWriter writer, ApiData api, ApiFunction function) + private static void WriteFunction( + CodeWriter writer, + ApiData api, + ApiType function, + string functionName, + bool asCallback) { string returnType = GetTypeName(function.ReturnType); string functionSuffix = string.Empty; @@ -1303,7 +1321,13 @@ public static class Program } } - argumentBuilder.Append(parameterType).Append(' ').Append(parameterName); + argumentBuilder.Append(parameterType); + + if (asCallback == false) + { + argumentBuilder.Append(' ').Append(parameterName); + } + if (isOptional == true) { //argumentBuilder.Append(" = default"); @@ -1323,7 +1347,21 @@ public static class Program } string argumentsString = argumentBuilder.ToString(); - writer.Write($"public {functionSuffix}{returnType} {function.Name}({argumentsString})"); + if (string.IsNullOrEmpty(functionName)) + { + functionName = function.Name; + } + + writer.Write("public "); + if (asCallback) + { + writer.Write($"unsafe delegate* unmanaged[Stdcall]<{argumentsString}, {returnType}> {functionName}"); + } + else + { + writer.Write($"{functionSuffix}{returnType} {functionName}({argumentsString})"); + } + writer.WriteLine(";"); } @@ -1480,7 +1518,7 @@ public static class Program return enumValueName; } - private static void GenerateStruct(CodeWriter writer, ApiType structType, bool nestedType = false) + private static void GenerateStruct(ApiData api, CodeWriter writer, ApiType structType, bool nestedType = false) { string csTypeName; string structPrefix = string.Empty; @@ -1516,11 +1554,6 @@ public static class Program writer.WriteLine("[StructLayout(LayoutKind.Explicit)]"); } - if (structType.Name == "D2D_MATRIX_3X2_F") - { - - } - using (writer.PushBlock($"public partial struct {csTypeName}")) { int fieldIndex = 0; @@ -1542,7 +1575,24 @@ public static class Program fieldValueName = "Mask"; } - string fieldTypeName = GetTypeName(field.Type); + if (structType.Name == "D2D1_LAYER_PARAMETERS") + { + } + + bool asPointer = false; + if (field.Type.Kind == "ApiRef") + { + string apiName = GetApiName(field.Type); + string fullTypeName = $"{apiName}.{field.Type.Name}"; + + if (s_visitedComTypes.ContainsKey(fullTypeName) || + api.Types.Any(item => item.Name == field.Type.Name && item.Kind.ToLowerInvariant() == "com")) + { + asPointer = true; + } + } + + string fieldTypeName = GetTypeName(field.Type, asPointer); writer.WriteLine($"/// "); @@ -1616,20 +1666,28 @@ public static class Program else { string unsafePrefix = string.Empty; - fieldTypeName = NormalizeTypeName(writer.Api, fieldTypeName); - if (fieldTypeName.EndsWith("*")) + + if (field.Type.TargetKind == "FunctionPointer") { - unsafePrefix += "unsafe "; + ApiType functionType = api.Types.First(item => item.Name == field.Type.Name && item.Kind == "FunctionPointer"); + WriteFunction(writer, api, functionType, field.Name, true); } - - if (isUnion) + else { - writer.WriteLine("[FieldOffset(0)]"); + fieldTypeName = NormalizeTypeName(writer.Api, fieldTypeName); + if (fieldTypeName.EndsWith("*")) + { + unsafePrefix += "unsafe "; + } + + if (isUnion) + { + writer.WriteLine("[FieldOffset(0)]"); + } + + fieldValueName = CleanupName(fieldValueName); + writer.WriteLine($"public {unsafePrefix}{fieldTypeName} {fieldValueName};"); } - - fieldValueName = CleanupName(fieldValueName); - - writer.WriteLine($"public {unsafePrefix}{fieldTypeName} {fieldValueName};"); } if (fieldIndex < structType.Fields.Length - 1) @@ -1713,7 +1771,7 @@ public static class Program foreach (ApiType nestedTypeToGenerate in structType.NestedTypes) { - GenerateStruct(writer, nestedTypeToGenerate, true); + GenerateStruct(api, writer, nestedTypeToGenerate, true); } } } @@ -1725,7 +1783,7 @@ public static class Program ApiData api, CodeWriter writer, ApiType comType, - List> methodsToGenerate) + List> methodsToGenerate) { string csTypeName = comType.Name; @@ -1812,14 +1870,14 @@ public static class Program } bool needNewLine = false; - foreach (KeyValuePair methodPair in methodsToGenerate) + foreach (KeyValuePair methodPair in methodsToGenerate) { if (needNewLine) { writer.WriteLine(); } - ApiFunction method = methodPair.Key; + ApiType method = methodPair.Key; string docName = methodPair.Value; // TODO: Handle inherit @@ -2308,6 +2366,10 @@ public static class Program { return "Rate" + prettyName; } + else if (enumPrefix.Contains("_LEVEL")) + { + return "Level_" + prettyName; + } return "_" + prettyName; } @@ -2386,7 +2448,8 @@ public static class Program if (dataType.Kind == "ApiRef") { string apiName = GetApiName(dataType); - string typeName = GetTypeName($"{apiName}.{dataType.Name}"); + string fullTypeName = $"{apiName}.{dataType.Name}"; + string typeName = GetTypeName(fullTypeName); return asPointer ? typeName + "*" : typeName; } else if (dataType.Kind == "Array") diff --git a/src/Vortice.Win32/Generated/Graphics/Direct2D.cs b/src/Vortice.Win32/Generated/Graphics/Direct2D.cs new file mode 100644 index 0000000..1d7d4bd --- /dev/null +++ b/src/Vortice.Win32/Generated/Graphics/Direct2D.cs @@ -0,0 +1,28756 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ + +using System; +using System.Numerics; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Diagnostics.CodeAnalysis; + +#if !NET6_0_OR_GREATER +using MemoryMarshal = Win32.MemoryMarshal; +#endif + +namespace Win32.Graphics.Direct2D; + +public static partial class Apis +{ + public const float D2D1_DEFAULT_FLATTENING_TOLERANCE = 0.25f; + public static ref readonly Guid CLSID_D2D12DAffineTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x85, 0x74, 0xA9, 0x6A, + 0x54, 0x63, + 0xFC, 0x4C, + 0x90, + 0x8C, + 0xE4, + 0xA7, + 0x4F, + 0x62, + 0xC9, + 0x6C + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D13DPerspectiveTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x0B, 0x4D, 0x84, 0xC2, + 0x86, 0x3D, + 0xE7, 0x46, + 0x85, + 0xBA, + 0x52, + 0x6C, + 0x92, + 0x40, + 0xF3, + 0xFB + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D13DTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x04, 0x7B, 0x46, 0xE8, + 0x61, 0xEC, + 0x8A, 0x4B, + 0xB5, + 0xDE, + 0xD4, + 0xD7, + 0x3D, + 0xEB, + 0xEA, + 0x5A + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1ArithmeticComposite + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x37, 0x14, 0x15, 0xFC, + 0x9A, 0x04, + 0x84, 0x47, + 0xA2, + 0x4A, + 0xF1, + 0xC4, + 0xDA, + 0xF2, + 0x09, + 0x87 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Atlas + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE4, 0x2B, 0x3E, 0x91, + 0xCF, 0xFD, + 0xE2, 0x4F, + 0xA5, + 0xF0, + 0x24, + 0x54, + 0xF1, + 0x4F, + 0xF4, + 0x08 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1BitmapSource + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4D, 0xC2, 0xB6, 0x5F, + 0xDD, 0xC6, + 0x31, 0x42, + 0x94, + 0x04, + 0x50, + 0xF4, + 0xD5, + 0xC3, + 0x25, + 0x2D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Blend + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x7B, 0xB7, 0xC5, 0x81, + 0xF8, 0x13, + 0xDD, 0x4C, + 0xAD, + 0x20, + 0xC8, + 0x90, + 0x54, + 0x7A, + 0xC6, + 0x5D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Border + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC0, 0x49, 0x2D, 0x2A, + 0xCF, 0x4A, + 0xC7, 0x43, + 0x8C, + 0x6A, + 0x7C, + 0x4A, + 0x27, + 0x87, + 0x4D, + 0x27 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Brightness + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x1E, 0x8D, 0xEA, 0x8C, + 0xB0, 0x77, + 0x86, 0x49, + 0xB3, + 0xB9, + 0x2F, + 0x0C, + 0x0E, + 0xAE, + 0x78, + 0x87 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1ColorManagement + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4C, 0x52, 0x28, 0x1A, + 0xD6, 0xFD, + 0xA4, 0x4A, + 0xAE, + 0x8F, + 0x83, + 0x7E, + 0xB8, + 0x26, + 0x7B, + 0x37 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1ColorMatrix + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD6, 0x03, 0x1F, 0x92, + 0x1C, 0x64, + 0xDF, 0x47, + 0x85, + 0x2D, + 0xB4, + 0xBB, + 0x61, + 0x53, + 0xAE, + 0x11 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Composite + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x51, 0x9F, 0xFC, 0x48, + 0xAC, 0xF6, + 0xF1, 0x48, + 0x8B, + 0x58, + 0x3B, + 0x28, + 0xAC, + 0x46, + 0xF7, + 0x6D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1ConvolveMatrix + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x08, 0x8C, 0x7F, 0x40, + 0x33, 0x55, + 0x31, 0x43, + 0xA3, + 0x41, + 0x23, + 0xCC, + 0x38, + 0x77, + 0x84, + 0x3E + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Crop + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x10, 0x71, 0x3F, 0xE2, + 0x9A, 0x0E, + 0x24, 0x43, + 0xAF, + 0x47, + 0x6A, + 0x2C, + 0x0C, + 0x46, + 0xF3, + 0x5B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DirectionalBlur + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA6, 0x19, 0x43, 0x17, + 0xE9, 0x58, + 0xB2, 0x49, + 0xBB, + 0x63, + 0xCA, + 0xF2, + 0xC8, + 0x11, + 0xA3, + 0xDB + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DiscreteTransfer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xCD, 0x6F, 0x86, 0x90, + 0x8E, 0x48, + 0x4B, 0x45, + 0xAF, + 0x06, + 0xE5, + 0x04, + 0x1B, + 0x66, + 0xC3, + 0x6C + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DisplacementMap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x64, 0x83, 0xC4, 0xED, + 0x17, 0x04, + 0x11, 0x41, + 0x94, + 0x50, + 0x43, + 0x84, + 0x5F, + 0xA9, + 0xF8, + 0x90 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DistantDiffuse + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x62, 0xFD, 0x7E, 0x3E, + 0x2D, 0xA3, + 0xD4, 0x46, + 0xA8, + 0x3C, + 0x52, + 0x78, + 0x88, + 0x9A, + 0xC9, + 0x54 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DistantSpecular + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE5, 0x1E, 0x8C, 0x42, + 0xB8, 0x77, + 0x50, 0x44, + 0x8A, + 0xB5, + 0x72, + 0x21, + 0x9C, + 0x21, + 0xAB, + 0xDA + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1DpiCompensation + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC7, 0xC5, 0x26, 0x6C, + 0xE0, 0x34, + 0xFC, 0x46, + 0x9C, + 0xFD, + 0xE5, + 0x82, + 0x37, + 0x06, + 0xE2, + 0x28 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Flood + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x20, 0x3C, 0xC2, 0x61, + 0x69, 0xAE, + 0x8E, 0x4D, + 0x94, + 0xCF, + 0x50, + 0x07, + 0x8D, + 0xF6, + 0x38, + 0xF2 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1GammaTransfer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC4, 0x44, 0x94, 0x40, + 0x19, 0xC4, + 0xA0, 0x41, + 0xB0, + 0xC1, + 0x8C, + 0xD0, + 0xC0, + 0xA1, + 0x8E, + 0x42 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1GaussianBlur + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x69, 0x6D, 0xEB, 0x1F, + 0xE6, 0x2F, + 0xC9, 0x4A, + 0x8C, + 0x58, + 0x1D, + 0x7F, + 0x93, + 0xE7, + 0xA6, + 0xA5 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Scale + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x69, 0x93, 0xAF, 0x9D, + 0x46, 0x38, + 0x0E, 0x4D, + 0xA4, + 0x4E, + 0x0C, + 0x60, + 0x79, + 0x34, + 0xA5, + 0xD7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Histogram + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD0, 0xB7, 0x1D, 0x88, + 0xEE, 0xF7, + 0x4D, 0x4D, + 0xA6, + 0xD2, + 0x46, + 0x97, + 0xAC, + 0xC6, + 0x6E, + 0xE8 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1HueRotation + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xEC, 0x58, 0x44, 0x0F, + 0x32, 0x4B, + 0x1B, 0x49, + 0x9E, + 0x85, + 0xBD, + 0x73, + 0xF4, + 0x4D, + 0x3E, + 0xB6 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1LinearTransfer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xFD, 0xC8, 0x47, 0xAD, + 0xEF, 0x63, + 0xCC, 0x4A, + 0x9B, + 0x51, + 0x67, + 0x97, + 0x9C, + 0x03, + 0x6C, + 0x06 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1LuminanceToAlpha + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xB7, 0x1A, 0x25, 0x41, + 0xEB, 0x0B, + 0xF8, 0x46, + 0x9D, + 0xA7, + 0x59, + 0xE9, + 0x3F, + 0xCC, + 0xE5, + 0xDE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Morphology + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x0D, 0xC4, 0xE6, 0xEA, + 0x6A, 0x62, + 0x2D, 0x4C, + 0xBF, + 0xCB, + 0x39, + 0x10, + 0x01, + 0xAB, + 0xE2, + 0x02 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1OpacityMetadata + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x6A, 0x00, 0x53, 0x6C, + 0x50, 0x44, + 0x99, 0x41, + 0xAA, + 0x5B, + 0xAD, + 0x16, + 0x56, + 0xFE, + 0xCE, + 0x5E + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1PointDiffuse + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC3, 0x03, 0xE3, 0xB9, + 0x8C, 0xC0, + 0x91, 0x4F, + 0x8B, + 0x7B, + 0x38, + 0x65, + 0x6B, + 0xC4, + 0x8C, + 0x20 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1PointSpecular + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x26, 0xCA, 0xC3, 0x09, + 0xE2, 0x3A, + 0x09, 0x4F, + 0x9E, + 0xBC, + 0xED, + 0x38, + 0x65, + 0xD5, + 0x3F, + 0x22 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Premultiply + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x19, 0xB4, 0xEA, 0x06, + 0xED, 0xDE, + 0x18, 0x40, + 0x80, + 0xD2, + 0x3E, + 0x1D, + 0x47, + 0x1A, + 0xDE, + 0xB2 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Saturation + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xCF, 0xD9, 0xB2, 0x5C, + 0x7D, 0x32, + 0x9F, 0x45, + 0xA0, + 0xCE, + 0x40, + 0xC0, + 0xB2, + 0x08, + 0x6B, + 0xF7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Shadow + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x61, 0xA3, 0x7E, 0xC6, + 0x63, 0x18, + 0x69, 0x4E, + 0x89, + 0xDB, + 0x69, + 0x5D, + 0x3E, + 0x9A, + 0x5B, + 0x6B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1SpotDiffuse + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x05, 0x11, 0x8A, 0x81, + 0x32, 0x79, + 0xF4, 0x44, + 0xAA, + 0x86, + 0x08, + 0xAE, + 0x7B, + 0x2F, + 0x2C, + 0x93 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1SpotSpecular + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x1E, 0x42, 0xAE, 0xED, + 0x54, 0x76, + 0x37, 0x4A, + 0x9D, + 0xB8, + 0x71, + 0xAC, + 0xC1, + 0xBE, + 0xB3, + 0xC1 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1TableTransfer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC3, 0x18, 0xF8, 0x5B, + 0x43, 0x5E, + 0xCB, 0x48, + 0xB6, + 0x31, + 0x86, + 0x83, + 0x96, + 0xD6, + 0xA1, + 0xD4 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Tile + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x38, 0x41, 0x78, 0xB0, + 0x76, 0x3B, + 0xC5, 0x4B, + 0xB1, + 0x3B, + 0x0F, + 0xA2, + 0xAD, + 0x02, + 0x65, + 0x9F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Turbulence + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xAE, 0xB6, 0x2B, 0xCF, + 0x9A, 0x88, + 0xD7, 0x4A, + 0xBA, + 0x29, + 0xA2, + 0xFD, + 0x73, + 0x2C, + 0x9F, + 0xC9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1UnPremultiply + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x89, 0xC4, 0x9A, 0xFB, + 0x8D, 0xAD, + 0xED, 0x41, + 0x99, + 0x99, + 0xBB, + 0x63, + 0x47, + 0xD1, + 0x10, + 0xF7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1YCbCr + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC1, 0x3C, 0x50, 0x99, + 0xC7, 0x66, + 0xC9, 0x45, + 0xA8, + 0x75, + 0x8A, + 0xD8, + 0xA7, + 0x91, + 0x44, + 0x01 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Contrast + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x8A, 0xA7, 0x48, 0xB6, + 0xD5, 0x0E, + 0x80, 0x4F, + 0xA9, + 0x4A, + 0x8E, + 0x82, + 0x5A, + 0xCA, + 0x6B, + 0x77 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1RgbToHue + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xEC, 0xE5, 0xF3, 0x23, + 0xE8, 0x91, + 0x3D, 0x4D, + 0xAD, + 0x0A, + 0xAF, + 0xAD, + 0xC1, + 0x00, + 0x4A, + 0xA1 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1HueToRgb + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBD, 0xA6, 0x78, 0x7B, + 0x41, 0x01, + 0xEF, 0x4D, + 0x8A, + 0x52, + 0x63, + 0x56, + 0xEE, + 0x0C, + 0xBD, + 0xD5 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1ChromaKey + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x5B, 0x1F, 0xC0, 0x74, + 0x0D, 0x2A, + 0x8C, 0x40, + 0x88, + 0xE2, + 0xC7, + 0xA3, + 0xC7, + 0x19, + 0x77, + 0x42 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Emboss + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x2B, 0xEB, 0xC5, 0xB1, + 0x48, 0x03, + 0xF0, 0x43, + 0x81, + 0x07, + 0x49, + 0x57, + 0xCA, + 0xCB, + 0xA2, + 0xAE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Exposure + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xFA, 0x8C, 0x6C, 0xB5, + 0x34, 0xF6, + 0xEE, 0x41, + 0xBE, + 0xE0, + 0xFF, + 0xA6, + 0x17, + 0x10, + 0x60, + 0x04 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Grayscale + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xEB, 0xE0, 0xDD, 0x36, + 0x25, 0x37, + 0xE0, 0x42, + 0x83, + 0x6D, + 0x52, + 0xFB, + 0x20, + 0xAE, + 0xE6, + 0x44 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Invert + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4D, 0x78, 0xC3, 0xE0, + 0x39, 0xCB, + 0x84, 0x4E, + 0xB6, + 0xFD, + 0x6B, + 0x72, + 0xF0, + 0x81, + 0x02, + 0x63 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Posterize + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x5E, 0x94, 0x88, 0x21, + 0xA3, 0x33, + 0x66, 0x43, + 0xB7, + 0xBC, + 0x08, + 0x6B, + 0xD0, + 0x2D, + 0x08, + 0x84 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Sepia + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x10, 0xF4, 0x1A, 0x3A, + 0x1D, 0x5F, + 0xBE, 0x4D, + 0x84, + 0xDF, + 0x91, + 0x5D, + 0xA7, + 0x9B, + 0x71, + 0x53 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Sharpen + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xCB, 0x87, 0xB8, 0xC9, + 0xFF, 0xC5, + 0xC5, 0x4D, + 0x97, + 0x79, + 0x27, + 0x3D, + 0xCF, + 0x41, + 0x7C, + 0x7D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Straighten + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x12, 0x7B, 0xA4, 0x4D, + 0xA3, 0x79, + 0xB0, 0x4F, + 0x82, + 0x37, + 0xBB, + 0xC3, + 0xB2, + 0xA4, + 0xDE, + 0x08 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1TemperatureTint + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x87, 0x60, 0x17, 0x89, + 0xF9, 0x8A, + 0x08, 0x4A, + 0xAE, + 0xB1, + 0x89, + 0x5F, + 0x38, + 0xDB, + 0x17, + 0x66 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Vignette + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBE, 0x40, 0x0C, 0xC0, + 0x67, 0x5E, + 0xA3, 0x4C, + 0x95, + 0xB4, + 0xF4, + 0xB0, + 0x2C, + 0x11, + 0x51, + 0x35 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1EdgeDetection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xCA, 0x83, 0xF5, 0xEF, + 0x07, 0xCB, + 0xA9, 0x4A, + 0xAC, + 0x5D, + 0x2C, + 0xC4, + 0x4C, + 0x76, + 0x46, + 0x0F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1HighlightsShadows + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x84, 0x83, 0xDC, 0xCA, + 0x3F, 0x32, + 0x7E, 0x4C, + 0xA3, + 0x61, + 0x2E, + 0x2B, + 0x24, + 0xDF, + 0x6E, + 0xE4 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1LookupTable3D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xDA, 0x0E, 0x9E, 0x34, + 0x88, 0x00, + 0x79, 0x4A, + 0x9C, + 0xA3, + 0xC7, + 0xE3, + 0x00, + 0x20, + 0x20, + 0x20 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Opacity + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA4, 0x79, 0x1D, 0x81, + 0x28, 0xDE, + 0x54, 0x44, + 0x80, + 0x94, + 0xC6, + 0x46, + 0x85, + 0xF8, + 0xBD, + 0x4C + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1AlphaMask + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xF0, 0xCF, 0x0E, 0xC8, + 0xD5, 0x3F, + 0x05, 0x4F, + 0x83, + 0x28, + 0xC5, + 0xD1, + 0x72, + 0x4B, + 0x4F, + 0x0A + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1CrossFade + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE8, 0x75, 0xF5, 0x12, + 0xB1, 0x4D, + 0x5F, 0x48, + 0x9A, + 0x84, + 0x03, + 0xA0, + 0x7D, + 0xD3, + 0x82, + 0x9F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1Tint + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x17, 0x2B, 0x31, 0x36, + 0xDD, 0xF7, + 0x14, 0x40, + 0x91, + 0x5D, + 0xFF, + 0xCA, + 0x76, + 0x8C, + 0xF2, + 0x11 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public const float D2D1_SCENE_REFERRED_SDR_WHITE_LEVEL = 80f; + public static ref readonly Guid CLSID_D2D1WhiteLevelAdjustment + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xDB, 0xCA, 0xA1, 0x44, + 0xDD, 0x6C, + 0x18, 0x48, + 0x8F, + 0xF4, + 0x26, + 0xC1, + 0xCF, + 0xE9, + 0x5B, + 0xDB + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static ref readonly Guid CLSID_D2D1HdrToneMap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x8D, 0x74, 0x0B, 0x7B, + 0x10, 0x46, + 0x86, 0x44, + 0xA9, + 0x0C, + 0x99, + 0x9D, + 0x9A, + 0x2E, + 0x2B, + 0x11 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public const uint D2D1_APPEND_ALIGNED_ELEMENT = 4294967295; + public const uint FACILITY_D2D = 2201; +} + +#region Enums +/// +/// D2D1_INTERPOLATION_MODE_DEFINITION +public enum InterpolationModeDefinition : int +{ + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR + Linear = 1, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC + Cubic = 2, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_FANT + Fant = 6, + /// + /// D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR + MipmapLinear = 7, +} + +/// +/// D2D1_GAMMA +public enum Gamma : uint +{ + /// + /// D2D1_GAMMA_2_2 + _22 = 0, + /// + /// D2D1_GAMMA_1_0 + _10 = 1, +} + +/// +/// D2D1_OPACITY_MASK_CONTENT +public enum OpacityMaskContent : uint +{ + /// + /// D2D1_OPACITY_MASK_CONTENT_GRAPHICS + Graphics = 0, + /// + /// D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL + TextNatural = 1, + /// + /// D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE + TextGDICompatible = 2, +} + +/// +/// D2D1_EXTEND_MODE +public enum ExtendMode : uint +{ + /// + /// D2D1_EXTEND_MODE_CLAMP + Clamp = 0, + /// + /// D2D1_EXTEND_MODE_WRAP + Wrap = 1, + /// + /// D2D1_EXTEND_MODE_MIRROR + Mirror = 2, +} + +/// +/// D2D1_ANTIALIAS_MODE +public enum AntialiasMode : uint +{ + /// + /// D2D1_ANTIALIAS_MODE_PER_PRIMITIVE + PerPrimitive = 0, + /// + /// D2D1_ANTIALIAS_MODE_ALIASED + Aliased = 1, +} + +/// +/// D2D1_TEXT_ANTIALIAS_MODE +public enum TextAntialiasMode : uint +{ + /// + /// D2D1_TEXT_ANTIALIAS_MODE_DEFAULT + Default = 0, + /// + /// D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE + Cleartype = 1, + /// + /// D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE + Grayscale = 2, + /// + /// D2D1_TEXT_ANTIALIAS_MODE_ALIASED + Aliased = 3, +} + +/// +/// D2D1_BITMAP_INTERPOLATION_MODE +public enum BitmapInterpolationMode : uint +{ + /// + /// D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_BITMAP_INTERPOLATION_MODE_LINEAR + Linear = 1, +} + +/// +/// D2D1_DRAW_TEXT_OPTIONS +[Flags] +public enum DrawTextOptions : uint +{ + /// + /// D2D1_DRAW_TEXT_OPTIONS_NO_SNAP + NoSnap = 1, + /// + /// D2D1_DRAW_TEXT_OPTIONS_CLIP + Clip = 2, + /// + /// D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT + EnableColorFont = 4, + /// + /// D2D1_DRAW_TEXT_OPTIONS_DISABLE_COLOR_BITMAP_SNAPPING + DisableColorBitmapSnapping = 8, + /// + /// D2D1_DRAW_TEXT_OPTIONS_NONE + None = 0, +} + +/// +/// D2D1_ARC_SIZE +public enum ArcSize : uint +{ + /// + /// D2D1_ARC_SIZE_SMALL + Small = 0, + /// + /// D2D1_ARC_SIZE_LARGE + Large = 1, +} + +/// +/// D2D1_CAP_STYLE +public enum CapStyle : uint +{ + /// + /// D2D1_CAP_STYLE_FLAT + Flat = 0, + /// + /// D2D1_CAP_STYLE_SQUARE + Square = 1, + /// + /// D2D1_CAP_STYLE_ROUND + Round = 2, + /// + /// D2D1_CAP_STYLE_TRIANGLE + Triangle = 3, +} + +/// +/// D2D1_DASH_STYLE +public enum DashStyle : uint +{ + /// + /// D2D1_DASH_STYLE_SOLID + Solid = 0, + /// + /// D2D1_DASH_STYLE_DASH + Dash = 1, + /// + /// D2D1_DASH_STYLE_DOT + Dot = 2, + /// + /// D2D1_DASH_STYLE_DASH_DOT + DashDot = 3, + /// + /// D2D1_DASH_STYLE_DASH_DOT_DOT + DashDotDot = 4, + /// + /// D2D1_DASH_STYLE_CUSTOM + Custom = 5, +} + +/// +/// D2D1_LINE_JOIN +public enum LineJoin : uint +{ + /// + /// D2D1_LINE_JOIN_MITER + Miter = 0, + /// + /// D2D1_LINE_JOIN_BEVEL + Bevel = 1, + /// + /// D2D1_LINE_JOIN_ROUND + Round = 2, + /// + /// D2D1_LINE_JOIN_MITER_OR_BEVEL + MiterOrBevel = 3, +} + +/// +/// D2D1_COMBINE_MODE +public enum CombineMode : uint +{ + /// + /// D2D1_COMBINE_MODE_UNION + Union = 0, + /// + /// D2D1_COMBINE_MODE_INTERSECT + Intersect = 1, + /// + /// D2D1_COMBINE_MODE_XOR + Xor = 2, + /// + /// D2D1_COMBINE_MODE_EXCLUDE + Exclude = 3, +} + +/// +/// D2D1_GEOMETRY_RELATION +public enum GeometryRelation : uint +{ + /// + /// D2D1_GEOMETRY_RELATION_UNKNOWN + Unknown = 0, + /// + /// D2D1_GEOMETRY_RELATION_DISJOINT + Disjoint = 1, + /// + /// D2D1_GEOMETRY_RELATION_IS_CONTAINED + IsContained = 2, + /// + /// D2D1_GEOMETRY_RELATION_CONTAINS + Contains = 3, + /// + /// D2D1_GEOMETRY_RELATION_OVERLAP + Overlap = 4, +} + +/// +/// D2D1_GEOMETRY_SIMPLIFICATION_OPTION +public enum GeometrySimplificationOption : uint +{ + /// + /// D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES + CubicsAndLines = 0, + /// + /// D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES + Lines = 1, +} + +/// +/// D2D1_SWEEP_DIRECTION +public enum SweepDirection : uint +{ + /// + /// D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE + CounterClockwise = 0, + /// + /// D2D1_SWEEP_DIRECTION_CLOCKWISE + Clockwise = 1, +} + +/// +/// D2D1_LAYER_OPTIONS +[Flags] +public enum LayerOptions : uint +{ + /// + /// D2D1_LAYER_OPTIONS_NONE + None = 0, + /// + /// D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE + InitializeForCleartype = 1, +} + +/// +/// D2D1_WINDOW_STATE +[Flags] +public enum WindowState : uint +{ + /// + /// D2D1_WINDOW_STATE_NONE + None = 0, + /// + /// D2D1_WINDOW_STATE_OCCLUDED + Occluded = 1, +} + +/// +/// D2D1_RENDER_TARGET_TYPE +public enum RenderTargetType : uint +{ + /// + /// D2D1_RENDER_TARGET_TYPE_DEFAULT + Default = 0, + /// + /// D2D1_RENDER_TARGET_TYPE_SOFTWARE + Software = 1, + /// + /// D2D1_RENDER_TARGET_TYPE_HARDWARE + Hardware = 2, +} + +/// +/// D2D1_FEATURE_LEVEL +public enum FeatureLevel : uint +{ + /// + /// D2D1_FEATURE_LEVEL_DEFAULT + Default = 0, + /// + /// D2D1_FEATURE_LEVEL_9 + Level_9 = 37120, + /// + /// D2D1_FEATURE_LEVEL_10 + Level_10 = 40960, +} + +/// +/// D2D1_RENDER_TARGET_USAGE +[Flags] +public enum RenderTargetUsage : uint +{ + /// + /// D2D1_RENDER_TARGET_USAGE_NONE + None = 0, + /// + /// D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING + ForceBitmapRemoting = 1, + /// + /// D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE + GDICompatible = 2, +} + +/// +/// D2D1_PRESENT_OPTIONS +[Flags] +public enum PresentOptions : uint +{ + /// + /// D2D1_PRESENT_OPTIONS_NONE + None = 0, + /// + /// D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS + RetainContents = 1, + /// + /// D2D1_PRESENT_OPTIONS_IMMEDIATELY + Immediately = 2, +} + +/// +/// D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS +[Flags] +public enum CompatibleRenderTargetOptions : uint +{ + /// + /// D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE + None = 0, + /// + /// D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE + GDICompatible = 1, +} + +/// +/// D2D1_DC_INITIALIZE_MODE +public enum DcInitializeMode : uint +{ + /// + /// D2D1_DC_INITIALIZE_MODE_COPY + Copy = 0, + /// + /// D2D1_DC_INITIALIZE_MODE_CLEAR + Clear = 1, +} + +/// +/// D2D1_DEBUG_LEVEL +public enum DebugLevel : uint +{ + /// + /// D2D1_DEBUG_LEVEL_NONE + None = 0, + /// + /// D2D1_DEBUG_LEVEL_ERROR + Error = 1, + /// + /// D2D1_DEBUG_LEVEL_WARNING + Warning = 2, + /// + /// D2D1_DEBUG_LEVEL_INFORMATION + Information = 3, +} + +/// +/// D2D1_FACTORY_TYPE +public enum FactoryType : uint +{ + /// + /// D2D1_FACTORY_TYPE_SINGLE_THREADED + SingleThreaded = 0, + /// + /// D2D1_FACTORY_TYPE_MULTI_THREADED + MultiThreaded = 1, +} + +/// +/// D2D1_CHANNEL_SELECTOR +public enum ChannelSelector : uint +{ + /// + /// D2D1_CHANNEL_SELECTOR_R + R = 0, + /// + /// D2D1_CHANNEL_SELECTOR_G + G = 1, + /// + /// D2D1_CHANNEL_SELECTOR_B + B = 2, + /// + /// D2D1_CHANNEL_SELECTOR_A + A = 3, +} + +/// +/// D2D1_BITMAPSOURCE_ORIENTATION +public enum BitmapsourceOrientation : uint +{ + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT + Default = 1, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL + FlipHorizontal = 2, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 + RotateClockwise180 = 3, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL + RotateClockwise180FlipHorizontal = 4, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL + RotateClockwise270FlipHorizontal = 5, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 + RotateClockwise90 = 6, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL + RotateClockwise90FlipHorizontal = 7, + /// + /// D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 + RotateClockwise270 = 8, +} + +/// +/// D2D1_GAUSSIANBLUR_PROP +public enum GaussianblurProp : uint +{ + /// + /// D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION + StandardDeviation = 0, + /// + /// D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION + Optimization = 1, + /// + /// D2D1_GAUSSIANBLUR_PROP_BORDER_MODE + BorderMode = 2, +} + +/// +/// D2D1_GAUSSIANBLUR_OPTIMIZATION +public enum GaussianblurOptimization : uint +{ + /// + /// D2D1_GAUSSIANBLUR_OPTIMIZATION_SPEED + Speed = 0, + /// + /// D2D1_GAUSSIANBLUR_OPTIMIZATION_BALANCED + Balanced = 1, + /// + /// D2D1_GAUSSIANBLUR_OPTIMIZATION_QUALITY + Quality = 2, +} + +/// +/// D2D1_DIRECTIONALBLUR_PROP +public enum DirectionalblurProp : uint +{ + /// + /// D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION + StandardDeviation = 0, + /// + /// D2D1_DIRECTIONALBLUR_PROP_ANGLE + Angle = 1, + /// + /// D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION + Optimization = 2, + /// + /// D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE + BorderMode = 3, +} + +/// +/// D2D1_DIRECTIONALBLUR_OPTIMIZATION +public enum DirectionalblurOptimization : uint +{ + /// + /// D2D1_DIRECTIONALBLUR_OPTIMIZATION_SPEED + Speed = 0, + /// + /// D2D1_DIRECTIONALBLUR_OPTIMIZATION_BALANCED + Balanced = 1, + /// + /// D2D1_DIRECTIONALBLUR_OPTIMIZATION_QUALITY + Quality = 2, +} + +/// +/// D2D1_SHADOW_PROP +public enum ShadowProp : uint +{ + /// + /// D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION + BlurStandardDeviation = 0, + /// + /// D2D1_SHADOW_PROP_COLOR + Color = 1, + /// + /// D2D1_SHADOW_PROP_OPTIMIZATION + Optimization = 2, +} + +/// +/// D2D1_SHADOW_OPTIMIZATION +public enum ShadowOptimization : uint +{ + /// + /// D2D1_SHADOW_OPTIMIZATION_SPEED + Speed = 0, + /// + /// D2D1_SHADOW_OPTIMIZATION_BALANCED + Balanced = 1, + /// + /// D2D1_SHADOW_OPTIMIZATION_QUALITY + Quality = 2, +} + +/// +/// D2D1_BLEND_PROP +public enum BlendProp : uint +{ + /// + /// D2D1_BLEND_PROP_MODE + Mode = 0, +} + +/// +/// D2D1_SATURATION_PROP +public enum SaturationProp : uint +{ + /// + /// D2D1_SATURATION_PROP_SATURATION + Saturation = 0, +} + +/// +/// D2D1_HUEROTATION_PROP +public enum HuerotationProp : uint +{ + /// + /// D2D1_HUEROTATION_PROP_ANGLE + Angle = 0, +} + +/// +/// D2D1_COLORMATRIX_PROP +public enum ColorMatrixProp : uint +{ + /// + /// D2D1_COLORMATRIX_PROP_COLOR_MATRIX + ColorMatrix = 0, + /// + /// D2D1_COLORMATRIX_PROP_ALPHA_MODE + AlphaMode = 1, + /// + /// D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT + ClampOutput = 2, +} + +/// +/// D2D1_BITMAPSOURCE_PROP +public enum BitmapsourceProp : uint +{ + /// + /// D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE + WicBitmapSource = 0, + /// + /// D2D1_BITMAPSOURCE_PROP_SCALE + Scale = 1, + /// + /// D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE + InterpolationMode = 2, + /// + /// D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION + EnableDpiCorrection = 3, + /// + /// D2D1_BITMAPSOURCE_PROP_ALPHA_MODE + AlphaMode = 4, + /// + /// D2D1_BITMAPSOURCE_PROP_ORIENTATION + Orientation = 5, +} + +/// +/// D2D1_BITMAPSOURCE_INTERPOLATION_MODE +public enum BitmapsourceInterpolationMode : uint +{ + /// + /// D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT + Fant = 6, + /// + /// D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR + MipmapLinear = 7, +} + +/// +/// D2D1_BITMAPSOURCE_ALPHA_MODE +public enum BitmapsourceAlphaMode : uint +{ + /// + /// D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED + Premultiplied = 1, + /// + /// D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT + Straight = 2, +} + +/// +/// D2D1_COMPOSITE_PROP +public enum CompositeProp : uint +{ + /// + /// D2D1_COMPOSITE_PROP_MODE + Mode = 0, +} + +/// +/// D2D1_3DTRANSFORM_PROP +public enum _3dtransformProp : uint +{ + /// + /// D2D1_3DTRANSFORM_PROP_INTERPOLATION_MODE + InterpolationMode = 0, + /// + /// D2D1_3DTRANSFORM_PROP_BORDER_MODE + BorderMode = 1, + /// + /// D2D1_3DTRANSFORM_PROP_TRANSFORM_MATRIX + TransformMatrix = 2, +} + +/// +/// D2D1_3DTRANSFORM_INTERPOLATION_MODE +public enum _3dtransformInterpolationMode : uint +{ + /// + /// D2D1_3DTRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_3DTRANSFORM_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_3DTRANSFORM_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_3DTRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_3DTRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, +} + +/// +/// D2D1_3DPERSPECTIVETRANSFORM_PROP +public enum _3dperspectivetransformProp : uint +{ + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE + InterpolationMode = 0, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE + BorderMode = 1, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH + Depth = 2, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN + PerspectiveOrigin = 3, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET + LocalOffset = 4, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET + GlobalOffset = 5, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN + RotationOrigin = 6, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION + Rotation = 7, +} + +/// +/// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE +public enum _3dperspectivetransformInterpolationMode : uint +{ + /// + /// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, +} + +/// +/// D2D1_2DAFFINETRANSFORM_PROP +public enum _2daffinetransformProp : uint +{ + /// + /// D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE + InterpolationMode = 0, + /// + /// D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE + BorderMode = 1, + /// + /// D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX + TransformMatrix = 2, + /// + /// D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS + Sharpness = 3, +} + +/// +/// D2D1_DPICOMPENSATION_PROP +public enum DpicompensationProp : uint +{ + /// + /// D2D1_DPICOMPENSATION_PROP_INTERPOLATION_MODE + InterpolationMode = 0, + /// + /// D2D1_DPICOMPENSATION_PROP_BORDER_MODE + BorderMode = 1, + /// + /// D2D1_DPICOMPENSATION_PROP_INPUT_DPI + InputDpi = 2, +} + +/// +/// D2D1_DPICOMPENSATION_INTERPOLATION_MODE +public enum DpicompensationInterpolationMode : uint +{ + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_DPICOMPENSATION_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_SCALE_PROP +public enum ScaleProp : uint +{ + /// + /// D2D1_SCALE_PROP_SCALE + Scale = 0, + /// + /// D2D1_SCALE_PROP_CENTER_POINT + CenterPoint = 1, + /// + /// D2D1_SCALE_PROP_INTERPOLATION_MODE + InterpolationMode = 2, + /// + /// D2D1_SCALE_PROP_BORDER_MODE + BorderMode = 3, + /// + /// D2D1_SCALE_PROP_SHARPNESS + Sharpness = 4, +} + +/// +/// D2D1_SCALE_INTERPOLATION_MODE +public enum ScaleInterpolationMode : uint +{ + /// + /// D2D1_SCALE_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_SCALE_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_SCALE_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_SCALE_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_SCALE_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_SCALE_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_TURBULENCE_PROP +public enum TurbulenceProp : uint +{ + /// + /// D2D1_TURBULENCE_PROP_OFFSET + Offset = 0, + /// + /// D2D1_TURBULENCE_PROP_SIZE + Size = 1, + /// + /// D2D1_TURBULENCE_PROP_BASE_FREQUENCY + BaseFrequency = 2, + /// + /// D2D1_TURBULENCE_PROP_NUM_OCTAVES + NumOctaves = 3, + /// + /// D2D1_TURBULENCE_PROP_SEED + Seed = 4, + /// + /// D2D1_TURBULENCE_PROP_NOISE + Noise = 5, + /// + /// D2D1_TURBULENCE_PROP_STITCHABLE + Stitchable = 6, +} + +/// +/// D2D1_DISPLACEMENTMAP_PROP +public enum DisplacementmapProp : uint +{ + /// + /// D2D1_DISPLACEMENTMAP_PROP_SCALE + Scale = 0, + /// + /// D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT + XChannelSelect = 1, + /// + /// D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT + YChannelSelect = 2, +} + +/// +/// D2D1_COLORMANAGEMENT_PROP +public enum ColormanagementProp : uint +{ + /// + /// D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT + SourceColorContext = 0, + /// + /// D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT + SourceRenderingIntent = 1, + /// + /// D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT + DestinationColorContext = 2, + /// + /// D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT + DestinationRenderingIntent = 3, + /// + /// D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE + AlphaMode = 4, + /// + /// D2D1_COLORMANAGEMENT_PROP_QUALITY + Quality = 5, +} + +/// +/// D2D1_COLORMANAGEMENT_ALPHA_MODE +public enum ColormanagementAlphaMode : uint +{ + /// + /// D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED + Premultiplied = 1, + /// + /// D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT + Straight = 2, +} + +/// +/// D2D1_COLORMANAGEMENT_QUALITY +public enum ColormanagementQuality : uint +{ + /// + /// D2D1_COLORMANAGEMENT_QUALITY_PROOF + Proof = 0, + /// + /// D2D1_COLORMANAGEMENT_QUALITY_NORMAL + Normal = 1, + /// + /// D2D1_COLORMANAGEMENT_QUALITY_BEST + Best = 2, +} + +/// +/// D2D1_COLORMANAGEMENT_RENDERING_INTENT +public enum ColormanagementRenderingIntent : uint +{ + /// + /// D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL + Perceptual = 0, + /// + /// D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC + RelativeColorimetric = 1, + /// + /// D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION + Saturation = 2, + /// + /// D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC + AbsoluteColorimetric = 3, +} + +/// +/// D2D1_HISTOGRAM_PROP +public enum HistogramProp : uint +{ + /// + /// D2D1_HISTOGRAM_PROP_NUM_BINS + NumBins = 0, + /// + /// D2D1_HISTOGRAM_PROP_CHANNEL_SELECT + ChannelSelect = 1, + /// + /// D2D1_HISTOGRAM_PROP_HISTOGRAM_OUTPUT + HistogramOutput = 2, +} + +/// +/// D2D1_POINTSPECULAR_PROP +public enum PointspecularProp : uint +{ + /// + /// D2D1_POINTSPECULAR_PROP_LIGHT_POSITION + LightPosition = 0, + /// + /// D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT + SpecularExponent = 1, + /// + /// D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT + SpecularConstant = 2, + /// + /// D2D1_POINTSPECULAR_PROP_SURFACE_SCALE + SurfaceScale = 3, + /// + /// D2D1_POINTSPECULAR_PROP_COLOR + Color = 4, + /// + /// D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 5, + /// + /// D2D1_POINTSPECULAR_PROP_SCALE_MODE + ScaleMode = 6, +} + +/// +/// D2D1_POINTSPECULAR_SCALE_MODE +public enum PointspecularScaleMode : uint +{ + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_POINTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_SPOTSPECULAR_PROP +public enum SpotspecularProp : uint +{ + /// + /// D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION + LightPosition = 0, + /// + /// D2D1_SPOTSPECULAR_PROP_POINTS_AT + PointsAt = 1, + /// + /// D2D1_SPOTSPECULAR_PROP_FOCUS + Focus = 2, + /// + /// D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE + LimitingConeAngle = 3, + /// + /// D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT + SpecularExponent = 4, + /// + /// D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT + SpecularConstant = 5, + /// + /// D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE + SurfaceScale = 6, + /// + /// D2D1_SPOTSPECULAR_PROP_COLOR + Color = 7, + /// + /// D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 8, + /// + /// D2D1_SPOTSPECULAR_PROP_SCALE_MODE + ScaleMode = 9, +} + +/// +/// D2D1_SPOTSPECULAR_SCALE_MODE +public enum SpotspecularScaleMode : uint +{ + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_SPOTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_DISTANTSPECULAR_PROP +public enum DistantspecularProp : uint +{ + /// + /// D2D1_DISTANTSPECULAR_PROP_AZIMUTH + Azimuth = 0, + /// + /// D2D1_DISTANTSPECULAR_PROP_ELEVATION + Elevation = 1, + /// + /// D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT + SpecularExponent = 2, + /// + /// D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT + SpecularConstant = 3, + /// + /// D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE + SurfaceScale = 4, + /// + /// D2D1_DISTANTSPECULAR_PROP_COLOR + Color = 5, + /// + /// D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 6, + /// + /// D2D1_DISTANTSPECULAR_PROP_SCALE_MODE + ScaleMode = 7, +} + +/// +/// D2D1_DISTANTSPECULAR_SCALE_MODE +public enum DistantspecularScaleMode : uint +{ + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_DISTANTSPECULAR_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_POINTDIFFUSE_PROP +public enum PointdiffuseProp : uint +{ + /// + /// D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION + LightPosition = 0, + /// + /// D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT + DiffuseConstant = 1, + /// + /// D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE + SurfaceScale = 2, + /// + /// D2D1_POINTDIFFUSE_PROP_COLOR + Color = 3, + /// + /// D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 4, + /// + /// D2D1_POINTDIFFUSE_PROP_SCALE_MODE + ScaleMode = 5, +} + +/// +/// D2D1_POINTDIFFUSE_SCALE_MODE +public enum PointdiffuseScaleMode : uint +{ + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_POINTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_SPOTDIFFUSE_PROP +public enum SpotdiffuseProp : uint +{ + /// + /// D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION + LightPosition = 0, + /// + /// D2D1_SPOTDIFFUSE_PROP_POINTS_AT + PointsAt = 1, + /// + /// D2D1_SPOTDIFFUSE_PROP_FOCUS + Focus = 2, + /// + /// D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE + LimitingConeAngle = 3, + /// + /// D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT + DiffuseConstant = 4, + /// + /// D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE + SurfaceScale = 5, + /// + /// D2D1_SPOTDIFFUSE_PROP_COLOR + Color = 6, + /// + /// D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 7, + /// + /// D2D1_SPOTDIFFUSE_PROP_SCALE_MODE + ScaleMode = 8, +} + +/// +/// D2D1_SPOTDIFFUSE_SCALE_MODE +public enum SpotdiffuseScaleMode : uint +{ + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_SPOTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_DISTANTDIFFUSE_PROP +public enum DistantdiffuseProp : uint +{ + /// + /// D2D1_DISTANTDIFFUSE_PROP_AZIMUTH + Azimuth = 0, + /// + /// D2D1_DISTANTDIFFUSE_PROP_ELEVATION + Elevation = 1, + /// + /// D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT + DiffuseConstant = 2, + /// + /// D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE + SurfaceScale = 3, + /// + /// D2D1_DISTANTDIFFUSE_PROP_COLOR + Color = 4, + /// + /// D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 5, + /// + /// D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE + ScaleMode = 6, +} + +/// +/// D2D1_DISTANTDIFFUSE_SCALE_MODE +public enum DistantdiffuseScaleMode : uint +{ + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_FLOOD_PROP +public enum FloodProp : uint +{ + /// + /// D2D1_FLOOD_PROP_COLOR + Color = 0, +} + +/// +/// D2D1_LINEARTRANSFER_PROP +public enum LineartransferProp : uint +{ + /// + /// D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT + RedYIntercept = 0, + /// + /// D2D1_LINEARTRANSFER_PROP_RED_SLOPE + RedSlope = 1, + /// + /// D2D1_LINEARTRANSFER_PROP_RED_DISABLE + RedDisable = 2, + /// + /// D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT + GreenYIntercept = 3, + /// + /// D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE + GreenSlope = 4, + /// + /// D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE + GreenDisable = 5, + /// + /// D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT + BlueYIntercept = 6, + /// + /// D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE + BlueSlope = 7, + /// + /// D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE + BlueDisable = 8, + /// + /// D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT + AlphaYIntercept = 9, + /// + /// D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE + AlphaSlope = 10, + /// + /// D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE + AlphaDisable = 11, + /// + /// D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT + ClampOutput = 12, +} + +/// +/// D2D1_GAMMATRANSFER_PROP +public enum GammatransferProp : uint +{ + /// + /// D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE + RedAmplitude = 0, + /// + /// D2D1_GAMMATRANSFER_PROP_RED_EXPONENT + RedExponent = 1, + /// + /// D2D1_GAMMATRANSFER_PROP_RED_OFFSET + RedOffset = 2, + /// + /// D2D1_GAMMATRANSFER_PROP_RED_DISABLE + RedDisable = 3, + /// + /// D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE + GreenAmplitude = 4, + /// + /// D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT + GreenExponent = 5, + /// + /// D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET + GreenOffset = 6, + /// + /// D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE + GreenDisable = 7, + /// + /// D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE + BlueAmplitude = 8, + /// + /// D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT + BlueExponent = 9, + /// + /// D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET + BlueOffset = 10, + /// + /// D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE + BlueDisable = 11, + /// + /// D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE + AlphaAmplitude = 12, + /// + /// D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT + AlphaExponent = 13, + /// + /// D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET + AlphaOffset = 14, + /// + /// D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE + AlphaDisable = 15, + /// + /// D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT + ClampOutput = 16, +} + +/// +/// D2D1_TABLETRANSFER_PROP +public enum TabletransferProp : uint +{ + /// + /// D2D1_TABLETRANSFER_PROP_RED_TABLE + RedTable = 0, + /// + /// D2D1_TABLETRANSFER_PROP_RED_DISABLE + RedDisable = 1, + /// + /// D2D1_TABLETRANSFER_PROP_GREEN_TABLE + GreenTable = 2, + /// + /// D2D1_TABLETRANSFER_PROP_GREEN_DISABLE + GreenDisable = 3, + /// + /// D2D1_TABLETRANSFER_PROP_BLUE_TABLE + BlueTable = 4, + /// + /// D2D1_TABLETRANSFER_PROP_BLUE_DISABLE + BlueDisable = 5, + /// + /// D2D1_TABLETRANSFER_PROP_ALPHA_TABLE + AlphaTable = 6, + /// + /// D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE + AlphaDisable = 7, + /// + /// D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT + ClampOutput = 8, +} + +/// +/// D2D1_DISCRETETRANSFER_PROP +public enum DiscretetransferProp : uint +{ + /// + /// D2D1_DISCRETETRANSFER_PROP_RED_TABLE + RedTable = 0, + /// + /// D2D1_DISCRETETRANSFER_PROP_RED_DISABLE + RedDisable = 1, + /// + /// D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE + GreenTable = 2, + /// + /// D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE + GreenDisable = 3, + /// + /// D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE + BlueTable = 4, + /// + /// D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE + BlueDisable = 5, + /// + /// D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE + AlphaTable = 6, + /// + /// D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE + AlphaDisable = 7, + /// + /// D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT + ClampOutput = 8, +} + +/// +/// D2D1_CONVOLVEMATRIX_PROP +public enum ConvolvematrixProp : uint +{ + /// + /// D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH + KernelUnitLength = 0, + /// + /// D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE + ScaleMode = 1, + /// + /// D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X + KernelSizeX = 2, + /// + /// D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y + KernelSizeY = 3, + /// + /// D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX + KernelMatrix = 4, + /// + /// D2D1_CONVOLVEMATRIX_PROP_DIVISOR + Divisor = 5, + /// + /// D2D1_CONVOLVEMATRIX_PROP_BIAS + Bias = 6, + /// + /// D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET + KernelOffset = 7, + /// + /// D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA + PreserveAlpha = 8, + /// + /// D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE + BorderMode = 9, + /// + /// D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT + ClampOutput = 10, +} + +/// +/// D2D1_CONVOLVEMATRIX_SCALE_MODE +public enum ConvolvematrixScaleMode : uint +{ + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_CONVOLVEMATRIX_SCALE_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_BRIGHTNESS_PROP +public enum BrightnessProp : uint +{ + /// + /// D2D1_BRIGHTNESS_PROP_WHITE_POINT + WhitePoint = 0, + /// + /// D2D1_BRIGHTNESS_PROP_BLACK_POINT + BlackPoint = 1, +} + +/// +/// D2D1_ARITHMETICCOMPOSITE_PROP +public enum ArithmeticcompositeProp : uint +{ + /// + /// D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS + Coefficients = 0, + /// + /// D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT + ClampOutput = 1, +} + +/// +/// D2D1_CROP_PROP +public enum CropProp : uint +{ + /// + /// D2D1_CROP_PROP_RECT + Rect = 0, + /// + /// D2D1_CROP_PROP_BORDER_MODE + BorderMode = 1, +} + +/// +/// D2D1_BORDER_PROP +public enum BorderProp : uint +{ + /// + /// D2D1_BORDER_PROP_EDGE_MODE_X + EdgeModeX = 0, + /// + /// D2D1_BORDER_PROP_EDGE_MODE_Y + EdgeModeY = 1, +} + +/// +/// D2D1_BORDER_EDGE_MODE +public enum BorderEdgeMode : uint +{ + /// + /// D2D1_BORDER_EDGE_MODE_CLAMP + Clamp = 0, + /// + /// D2D1_BORDER_EDGE_MODE_WRAP + Wrap = 1, + /// + /// D2D1_BORDER_EDGE_MODE_MIRROR + Mirror = 2, +} + +/// +/// D2D1_MORPHOLOGY_PROP +public enum MorphologyProp : uint +{ + /// + /// D2D1_MORPHOLOGY_PROP_MODE + Mode = 0, + /// + /// D2D1_MORPHOLOGY_PROP_WIDTH + Width = 1, + /// + /// D2D1_MORPHOLOGY_PROP_HEIGHT + Height = 2, +} + +/// +/// D2D1_MORPHOLOGY_MODE +public enum MorphologyMode : uint +{ + /// + /// D2D1_MORPHOLOGY_MODE_ERODE + Erode = 0, + /// + /// D2D1_MORPHOLOGY_MODE_DILATE + Dilate = 1, +} + +/// +/// D2D1_TILE_PROP +public enum TileProp : uint +{ + /// + /// D2D1_TILE_PROP_RECT + Rect = 0, +} + +/// +/// D2D1_ATLAS_PROP +public enum AtlasProp : uint +{ + /// + /// D2D1_ATLAS_PROP_INPUT_RECT + InputRect = 0, + /// + /// D2D1_ATLAS_PROP_INPUT_PADDING_RECT + InputPaddingRect = 1, +} + +/// +/// D2D1_OPACITYMETADATA_PROP +public enum OpacitymetadataProp : uint +{ + /// + /// D2D1_OPACITYMETADATA_PROP_INPUT_OPAQUE_RECT + InputOpaqueRect = 0, +} + +/// +/// D2D1_PROPERTY_TYPE +public enum PropertyType : uint +{ + /// + /// D2D1_PROPERTY_TYPE_UNKNOWN + Unknown = 0, + /// + /// D2D1_PROPERTY_TYPE_STRING + String = 1, + /// + /// D2D1_PROPERTY_TYPE_BOOL + Bool = 2, + /// + /// D2D1_PROPERTY_TYPE_UINT32 + Uint32 = 3, + /// + /// D2D1_PROPERTY_TYPE_INT32 + Int32 = 4, + /// + /// D2D1_PROPERTY_TYPE_FLOAT + Float = 5, + /// + /// D2D1_PROPERTY_TYPE_VECTOR2 + Vector2 = 6, + /// + /// D2D1_PROPERTY_TYPE_VECTOR3 + Vector3 = 7, + /// + /// D2D1_PROPERTY_TYPE_VECTOR4 + Vector4 = 8, + /// + /// D2D1_PROPERTY_TYPE_BLOB + Blob = 9, + /// + /// D2D1_PROPERTY_TYPE_IUNKNOWN + Iunknown = 10, + /// + /// D2D1_PROPERTY_TYPE_ENUM + Enum = 11, + /// + /// D2D1_PROPERTY_TYPE_ARRAY + Array = 12, + /// + /// D2D1_PROPERTY_TYPE_CLSID + Clsid = 13, + /// + /// D2D1_PROPERTY_TYPE_MATRIX_3X2 + Matrix3x2 = 14, + /// + /// D2D1_PROPERTY_TYPE_MATRIX_4X3 + Matrix4x3 = 15, + /// + /// D2D1_PROPERTY_TYPE_MATRIX_4X4 + Matrix4x4 = 16, + /// + /// D2D1_PROPERTY_TYPE_MATRIX_5X4 + Matrix5x4 = 17, + /// + /// D2D1_PROPERTY_TYPE_COLOR_CONTEXT + ColorContext = 18, +} + +/// +/// D2D1_PROPERTY +public enum Property : uint +{ + /// + /// D2D1_PROPERTY_CLSID + Clsid = 2147483648, + /// + /// D2D1_PROPERTY_DISPLAYNAME + Displayname = 2147483649, + /// + /// D2D1_PROPERTY_AUTHOR + Author = 2147483650, + /// + /// D2D1_PROPERTY_CATEGORY + Category = 2147483651, + /// + /// D2D1_PROPERTY_DESCRIPTION + Description = 2147483652, + /// + /// D2D1_PROPERTY_INPUTS + Inputs = 2147483653, + /// + /// D2D1_PROPERTY_CACHED + Cached = 2147483654, + /// + /// D2D1_PROPERTY_PRECISION + Precision = 2147483655, + /// + /// D2D1_PROPERTY_MIN_INPUTS + MinInputs = 2147483656, + /// + /// D2D1_PROPERTY_MAX_INPUTS + MaxInputs = 2147483657, +} + +/// +/// D2D1_SUBPROPERTY +public enum Subproperty : uint +{ + /// + /// D2D1_SUBPROPERTY_DISPLAYNAME + Displayname = 2147483648, + /// + /// D2D1_SUBPROPERTY_ISREADONLY + Isreadonly = 2147483649, + /// + /// D2D1_SUBPROPERTY_MIN + Min = 2147483650, + /// + /// D2D1_SUBPROPERTY_MAX + Max = 2147483651, + /// + /// D2D1_SUBPROPERTY_DEFAULT + Default = 2147483652, + /// + /// D2D1_SUBPROPERTY_FIELDS + Fields = 2147483653, + /// + /// D2D1_SUBPROPERTY_INDEX + Index = 2147483654, +} + +/// +/// D2D1_BITMAP_OPTIONS +[Flags] +public enum BitmapOptions : uint +{ + /// + /// D2D1_BITMAP_OPTIONS_NONE + None = 0, + /// + /// D2D1_BITMAP_OPTIONS_TARGET + Target = 1, + /// + /// D2D1_BITMAP_OPTIONS_CANNOT_DRAW + CannotDraw = 2, + /// + /// D2D1_BITMAP_OPTIONS_CPU_READ + CpuRead = 4, + /// + /// D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE + GDICompatible = 8, +} + +/// +/// D2D1_BUFFER_PRECISION +public enum BufferPrecision : uint +{ + /// + /// D2D1_BUFFER_PRECISION_UNKNOWN + Unknown = 0, + /// + /// D2D1_BUFFER_PRECISION_8BPC_UNORM + _8bpcUnorm = 1, + /// + /// D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB + _8bpcUnormSrgb = 2, + /// + /// D2D1_BUFFER_PRECISION_16BPC_UNORM + _16bpcUnorm = 3, + /// + /// D2D1_BUFFER_PRECISION_16BPC_FLOAT + _16bpcFloat = 4, + /// + /// D2D1_BUFFER_PRECISION_32BPC_FLOAT + _32bpcFloat = 5, +} + +/// +/// D2D1_MAP_OPTIONS +[Flags] +public enum MapOptions : uint +{ + /// + /// D2D1_MAP_OPTIONS_NONE + None = 0, + /// + /// D2D1_MAP_OPTIONS_READ + Read = 1, + /// + /// D2D1_MAP_OPTIONS_WRITE + Write = 2, + /// + /// D2D1_MAP_OPTIONS_DISCARD + Discard = 4, +} + +/// +/// D2D1_INTERPOLATION_MODE +public enum InterpolationMode : uint +{ + /// + /// D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_UNIT_MODE +public enum UnitMode : uint +{ + /// + /// D2D1_UNIT_MODE_DIPS + Dips = 0, + /// + /// D2D1_UNIT_MODE_PIXELS + Pixels = 1, +} + +/// +/// D2D1_COLOR_SPACE +public enum ColorSpace : uint +{ + /// + /// D2D1_COLOR_SPACE_CUSTOM + Custom = 0, + /// + /// D2D1_COLOR_SPACE_SRGB + Srgb = 1, + /// + /// D2D1_COLOR_SPACE_SCRGB + Scrgb = 2, +} + +/// +/// D2D1_DEVICE_CONTEXT_OPTIONS +[Flags] +public enum DeviceContextOptions : uint +{ + /// + /// D2D1_DEVICE_CONTEXT_OPTIONS_NONE + None = 0, + /// + /// D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS + EnableMultithreadedOptimizations = 1, +} + +/// +/// D2D1_STROKE_TRANSFORM_TYPE +public enum StrokeTransformType : uint +{ + /// + /// D2D1_STROKE_TRANSFORM_TYPE_NORMAL + Normal = 0, + /// + /// D2D1_STROKE_TRANSFORM_TYPE_FIXED + Fixed = 1, + /// + /// D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE + Hairline = 2, +} + +/// +/// D2D1_PRIMITIVE_BLEND +public enum PrimitiveBlend : uint +{ + /// + /// D2D1_PRIMITIVE_BLEND_SOURCE_OVER + SourceOver = 0, + /// + /// D2D1_PRIMITIVE_BLEND_COPY + Copy = 1, + /// + /// D2D1_PRIMITIVE_BLEND_MIN + Min = 2, + /// + /// D2D1_PRIMITIVE_BLEND_ADD + Add = 3, + /// + /// D2D1_PRIMITIVE_BLEND_MAX + Max = 4, +} + +/// +/// D2D1_THREADING_MODE +public enum ThreadingMode : uint +{ + /// + /// D2D1_THREADING_MODE_SINGLE_THREADED + SingleThreaded = 0, + /// + /// D2D1_THREADING_MODE_MULTI_THREADED + MultiThreaded = 1, +} + +/// +/// D2D1_COLOR_INTERPOLATION_MODE +public enum ColorInterpolationMode : uint +{ + /// + /// D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT + Straight = 0, + /// + /// D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED + Premultiplied = 1, +} + +/// +/// D2D1_LAYER_OPTIONS1 +[Flags] +public enum LayerOptions1 : uint +{ + /// + /// D2D1_LAYER_OPTIONS1_NONE + None = 0, + /// + /// D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND + InitializeFromBackground = 1, + /// + /// D2D1_LAYER_OPTIONS1_IGNORE_ALPHA + IgnoreAlpha = 2, +} + +/// +/// D2D1_PRINT_FONT_SUBSET_MODE +public enum PrintFontSubsetMode : uint +{ + /// + /// D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT + Default = 0, + /// + /// D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE + Eachpage = 1, + /// + /// D2D1_PRINT_FONT_SUBSET_MODE_NONE + None = 2, +} + +/// +/// D2D1_CHANGE_TYPE +[Flags] +public enum ChangeType : uint +{ + /// + /// D2D1_CHANGE_TYPE_NONE + None = 0, + /// + /// D2D1_CHANGE_TYPE_PROPERTIES + Properties = 1, + /// + /// D2D1_CHANGE_TYPE_CONTEXT + Context = 2, + /// + /// D2D1_CHANGE_TYPE_GRAPH + Graph = 3, +} + +/// +/// D2D1_PIXEL_OPTIONS +[Flags] +public enum PixelOptions : uint +{ + /// + /// D2D1_PIXEL_OPTIONS_NONE + None = 0, + /// + /// D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING + TrivialSampling = 1, +} + +/// +/// D2D1_VERTEX_OPTIONS +[Flags] +public enum VertexOptions : uint +{ + /// + /// D2D1_VERTEX_OPTIONS_NONE + None = 0, + /// + /// D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR + DoNotClear = 1, + /// + /// D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER + UseDepthBuffer = 2, + /// + /// D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP + AssumeNoOverlap = 4, +} + +/// +/// D2D1_VERTEX_USAGE +public enum VertexUsage : uint +{ + /// + /// D2D1_VERTEX_USAGE_STATIC + Static = 0, + /// + /// D2D1_VERTEX_USAGE_DYNAMIC + Dynamic = 1, +} + +/// +/// D2D1_BLEND_OPERATION +public enum BlendOperation : uint +{ + /// + /// D2D1_BLEND_OPERATION_ADD + Add = 1, + /// + /// D2D1_BLEND_OPERATION_SUBTRACT + Subtract = 2, + /// + /// D2D1_BLEND_OPERATION_REV_SUBTRACT + RevSubtract = 3, + /// + /// D2D1_BLEND_OPERATION_MIN + Min = 4, + /// + /// D2D1_BLEND_OPERATION_MAX + Max = 5, +} + +/// +/// D2D1_BLEND +public enum Blend : uint +{ + /// + /// D2D1_BLEND_ZERO + Zero = 1, + /// + /// D2D1_BLEND_ONE + One = 2, + /// + /// D2D1_BLEND_SRC_COLOR + SrcColor = 3, + /// + /// D2D1_BLEND_INV_SRC_COLOR + InvSrcColor = 4, + /// + /// D2D1_BLEND_SRC_ALPHA + SrcAlpha = 5, + /// + /// D2D1_BLEND_INV_SRC_ALPHA + InvSrcAlpha = 6, + /// + /// D2D1_BLEND_DEST_ALPHA + DestAlpha = 7, + /// + /// D2D1_BLEND_INV_DEST_ALPHA + InvDestAlpha = 8, + /// + /// D2D1_BLEND_DEST_COLOR + DestColor = 9, + /// + /// D2D1_BLEND_INV_DEST_COLOR + InvDestColor = 10, + /// + /// D2D1_BLEND_SRC_ALPHA_SAT + SrcAlphaSat = 11, + /// + /// D2D1_BLEND_BLEND_FACTOR + BlendFactor = 14, + /// + /// D2D1_BLEND_INV_BLEND_FACTOR + InvBlendFactor = 15, +} + +/// +/// D2D1_CHANNEL_DEPTH +public enum ChannelDepth : uint +{ + /// + /// D2D1_CHANNEL_DEPTH_DEFAULT + Default = 0, + /// + /// D2D1_CHANNEL_DEPTH_1 + _1 = 1, + /// + /// D2D1_CHANNEL_DEPTH_4 + _4 = 4, +} + +/// +/// D2D1_FILTER +public enum Filter : uint +{ + /// + /// D2D1_FILTER_MIN_MAG_MIP_POINT + MinMagMipPoint = 0, + /// + /// D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR + MinMagPointMipLinear = 1, + /// + /// D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT + MinPointMagLinearMipPoint = 4, + /// + /// D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR + MinPointMagMipLinear = 5, + /// + /// D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT + MinLinearMagMipPoint = 16, + /// + /// D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR + MinLinearMagPointMipLinear = 17, + /// + /// D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT + MinMagLinearMipPoint = 20, + /// + /// D2D1_FILTER_MIN_MAG_MIP_LINEAR + MinMagMipLinear = 21, + /// + /// D2D1_FILTER_ANISOTROPIC + Anisotropic = 85, +} + +/// +/// D2D1_FEATURE +public enum Feature : uint +{ + /// + /// D2D1_FEATURE_DOUBLES + Doubles = 0, + /// + /// D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS + XHardwareOptions = 1, +} + +/// +/// D2D1_YCBCR_PROP +public enum YcbcrProp : uint +{ + /// + /// D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING + ChromaSubsampling = 0, + /// + /// D2D1_YCBCR_PROP_TRANSFORM_MATRIX + TransformMatrix = 1, + /// + /// D2D1_YCBCR_PROP_INTERPOLATION_MODE + InterpolationMode = 2, +} + +/// +/// D2D1_YCBCR_CHROMA_SUBSAMPLING +public enum YcbcrChromaSubsampling : uint +{ + /// + /// D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO + Auto = 0, + /// + /// D2D1_YCBCR_CHROMA_SUBSAMPLING_420 + _420 = 1, + /// + /// D2D1_YCBCR_CHROMA_SUBSAMPLING_422 + _422 = 2, + /// + /// D2D1_YCBCR_CHROMA_SUBSAMPLING_444 + _444 = 3, + /// + /// D2D1_YCBCR_CHROMA_SUBSAMPLING_440 + _440 = 4, +} + +/// +/// D2D1_YCBCR_INTERPOLATION_MODE +public enum YcbcrInterpolationMode : uint +{ + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_LINEAR + Linear = 1, + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC + Anisotropic = 4, + /// + /// D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC + HighQualityCubic = 5, +} + +/// +/// D2D1_CONTRAST_PROP +public enum ContrastProp : uint +{ + /// + /// D2D1_CONTRAST_PROP_CONTRAST + Contrast = 0, + /// + /// D2D1_CONTRAST_PROP_CLAMP_INPUT + ClampInput = 1, +} + +/// +/// D2D1_RGBTOHUE_PROP +public enum RgbtohueProp : uint +{ + /// + /// D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE + OutputColorSpace = 0, +} + +/// +/// D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE +public enum RgbtohueOutputColorSpace : uint +{ + /// + /// D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE + HueSaturationValue = 0, + /// + /// D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS + HueSaturationLightness = 1, +} + +/// +/// D2D1_HUETORGB_PROP +public enum HuetorgbProp : uint +{ + /// + /// D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE + InputColorSpace = 0, +} + +/// +/// D2D1_HUETORGB_INPUT_COLOR_SPACE +public enum HuetorgbInputColorSpace : uint +{ + /// + /// D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_VALUE + HueSaturationValue = 0, + /// + /// D2D1_HUETORGB_INPUT_COLOR_SPACE_HUE_SATURATION_LIGHTNESS + HueSaturationLightness = 1, +} + +/// +/// D2D1_CHROMAKEY_PROP +public enum ChromakeyProp : uint +{ + /// + /// D2D1_CHROMAKEY_PROP_COLOR + Color = 0, + /// + /// D2D1_CHROMAKEY_PROP_TOLERANCE + Tolerance = 1, + /// + /// D2D1_CHROMAKEY_PROP_INVERT_ALPHA + InvertAlpha = 2, + /// + /// D2D1_CHROMAKEY_PROP_FEATHER + Feather = 3, +} + +/// +/// D2D1_EMBOSS_PROP +public enum EmbossProp : uint +{ + /// + /// D2D1_EMBOSS_PROP_HEIGHT + Height = 0, + /// + /// D2D1_EMBOSS_PROP_DIRECTION + Direction = 1, +} + +/// +/// D2D1_EXPOSURE_PROP +public enum ExposureProp : uint +{ + /// + /// D2D1_EXPOSURE_PROP_EXPOSURE_VALUE + ExposureValue = 0, +} + +/// +/// D2D1_POSTERIZE_PROP +public enum PosterizeProp : uint +{ + /// + /// D2D1_POSTERIZE_PROP_RED_VALUE_COUNT + RedValueCount = 0, + /// + /// D2D1_POSTERIZE_PROP_GREEN_VALUE_COUNT + GreenValueCount = 1, + /// + /// D2D1_POSTERIZE_PROP_BLUE_VALUE_COUNT + BlueValueCount = 2, +} + +/// +/// D2D1_SEPIA_PROP +public enum SepiaProp : uint +{ + /// + /// D2D1_SEPIA_PROP_INTENSITY + Intensity = 0, + /// + /// D2D1_SEPIA_PROP_ALPHA_MODE + AlphaMode = 1, +} + +/// +/// D2D1_SHARPEN_PROP +public enum SharpenProp : uint +{ + /// + /// D2D1_SHARPEN_PROP_SHARPNESS + Sharpness = 0, + /// + /// D2D1_SHARPEN_PROP_THRESHOLD + Threshold = 1, +} + +/// +/// D2D1_STRAIGHTEN_PROP +public enum StraightenProp : uint +{ + /// + /// D2D1_STRAIGHTEN_PROP_ANGLE + Angle = 0, + /// + /// D2D1_STRAIGHTEN_PROP_MAINTAIN_SIZE + MaintainSize = 1, + /// + /// D2D1_STRAIGHTEN_PROP_SCALE_MODE + ScaleMode = 2, +} + +/// +/// D2D1_STRAIGHTEN_SCALE_MODE +public enum StraightenScaleMode : uint +{ + /// + /// D2D1_STRAIGHTEN_SCALE_MODE_NEAREST_NEIGHBOR + NearestNeighbor = 0, + /// + /// D2D1_STRAIGHTEN_SCALE_MODE_LINEAR + Linear = 1, + /// + /// D2D1_STRAIGHTEN_SCALE_MODE_CUBIC + Cubic = 2, + /// + /// D2D1_STRAIGHTEN_SCALE_MODE_MULTI_SAMPLE_LINEAR + MultiSampleLinear = 3, + /// + /// D2D1_STRAIGHTEN_SCALE_MODE_ANISOTROPIC + Anisotropic = 4, +} + +/// +/// D2D1_TEMPERATUREANDTINT_PROP +public enum TemperatureandtintProp : uint +{ + /// + /// D2D1_TEMPERATUREANDTINT_PROP_TEMPERATURE + Temperature = 0, + /// + /// D2D1_TEMPERATUREANDTINT_PROP_TINT + Tint = 1, +} + +/// +/// D2D1_VIGNETTE_PROP +public enum VignetteProp : uint +{ + /// + /// D2D1_VIGNETTE_PROP_COLOR + Color = 0, + /// + /// D2D1_VIGNETTE_PROP_TRANSITION_SIZE + TransitionSize = 1, + /// + /// D2D1_VIGNETTE_PROP_STRENGTH + Strength = 2, +} + +/// +/// D2D1_EDGEDETECTION_PROP +public enum EdgedetectionProp : uint +{ + /// + /// D2D1_EDGEDETECTION_PROP_STRENGTH + Strength = 0, + /// + /// D2D1_EDGEDETECTION_PROP_BLUR_RADIUS + BlurRadius = 1, + /// + /// D2D1_EDGEDETECTION_PROP_MODE + Mode = 2, + /// + /// D2D1_EDGEDETECTION_PROP_OVERLAY_EDGES + OverlayEdges = 3, + /// + /// D2D1_EDGEDETECTION_PROP_ALPHA_MODE + AlphaMode = 4, +} + +/// +/// D2D1_EDGEDETECTION_MODE +public enum EdgedetectionMode : uint +{ + /// + /// D2D1_EDGEDETECTION_MODE_SOBEL + Sobel = 0, + /// + /// D2D1_EDGEDETECTION_MODE_PREWITT + Prewitt = 1, +} + +/// +/// D2D1_HIGHLIGHTSANDSHADOWS_PROP +public enum HighlightsandshadowsProp : uint +{ + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS + Highlights = 0, + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS + Shadows = 1, + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY + Clarity = 2, + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA + InputGamma = 3, + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS + MaskBlurRadius = 4, +} + +/// +/// D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA +public enum HighlightsandshadowsInputGamma : uint +{ + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR + Linear = 0, + /// + /// D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB + Srgb = 1, +} + +/// +/// D2D1_LOOKUPTABLE3D_PROP +public enum Lookuptable3dProp : uint +{ + /// + /// D2D1_LOOKUPTABLE3D_PROP_LUT + Lut = 0, + /// + /// D2D1_LOOKUPTABLE3D_PROP_ALPHA_MODE + AlphaMode = 1, +} + +/// +/// D2D1_OPACITY_PROP +public enum OpacityProp : uint +{ + /// + /// D2D1_OPACITY_PROP_OPACITY + Opacity = 0, +} + +/// +/// D2D1_CROSSFADE_PROP +public enum CrossfadeProp : uint +{ + /// + /// D2D1_CROSSFADE_PROP_WEIGHT + Weight = 0, +} + +/// +/// D2D1_TINT_PROP +public enum TintProp : uint +{ + /// + /// D2D1_TINT_PROP_COLOR + Color = 0, + /// + /// D2D1_TINT_PROP_CLAMP_OUTPUT + ClampOutput = 1, +} + +/// +/// D2D1_WHITELEVELADJUSTMENT_PROP +public enum WhiteleveladjustmentProp : uint +{ + /// + /// D2D1_WHITELEVELADJUSTMENT_PROP_INPUT_WHITE_LEVEL + InputWhiteLevel = 0, + /// + /// D2D1_WHITELEVELADJUSTMENT_PROP_OUTPUT_WHITE_LEVEL + OutputWhiteLevel = 1, +} + +/// +/// D2D1_HDRTONEMAP_PROP +public enum HdrtonemapProp : uint +{ + /// + /// D2D1_HDRTONEMAP_PROP_INPUT_MAX_LUMINANCE + InputMaxLuminance = 0, + /// + /// D2D1_HDRTONEMAP_PROP_OUTPUT_MAX_LUMINANCE + OutputMaxLuminance = 1, + /// + /// D2D1_HDRTONEMAP_PROP_DISPLAY_MODE + DisplayMode = 2, +} + +/// +/// D2D1_HDRTONEMAP_DISPLAY_MODE +public enum HdrtonemapDisplayMode : uint +{ + /// + /// D2D1_HDRTONEMAP_DISPLAY_MODE_SDR + Sdr = 0, + /// + /// D2D1_HDRTONEMAP_DISPLAY_MODE_HDR + Hdr = 1, +} + +/// +/// D2D1_RENDERING_PRIORITY +public enum RenderingPriority : uint +{ + /// + /// D2D1_RENDERING_PRIORITY_NORMAL + Normal = 0, + /// + /// D2D1_RENDERING_PRIORITY_LOW + Low = 1, +} + +/// +/// D2D1_SVG_PAINT_TYPE +public enum SvgPaintType : uint +{ + /// + /// D2D1_SVG_PAINT_TYPE_NONE + None = 0, + /// + /// D2D1_SVG_PAINT_TYPE_COLOR + Color = 1, + /// + /// D2D1_SVG_PAINT_TYPE_CURRENT_COLOR + CurrentColor = 2, + /// + /// D2D1_SVG_PAINT_TYPE_URI + Uri = 3, + /// + /// D2D1_SVG_PAINT_TYPE_URI_NONE + UriNone = 4, + /// + /// D2D1_SVG_PAINT_TYPE_URI_COLOR + UriColor = 5, + /// + /// D2D1_SVG_PAINT_TYPE_URI_CURRENT_COLOR + UriCurrentColor = 6, +} + +/// +/// D2D1_SVG_LENGTH_UNITS +public enum SvgLengthUnits : uint +{ + /// + /// D2D1_SVG_LENGTH_UNITS_NUMBER + Number = 0, + /// + /// D2D1_SVG_LENGTH_UNITS_PERCENTAGE + Percentage = 1, +} + +/// +/// D2D1_SVG_DISPLAY +public enum SvgDisplay : uint +{ + /// + /// D2D1_SVG_DISPLAY_INLINE + Inline = 0, + /// + /// D2D1_SVG_DISPLAY_NONE + None = 1, +} + +/// +/// D2D1_SVG_VISIBILITY +public enum SvgVisibility : uint +{ + /// + /// D2D1_SVG_VISIBILITY_VISIBLE + Visible = 0, + /// + /// D2D1_SVG_VISIBILITY_HIDDEN + Hidden = 1, +} + +/// +/// D2D1_SVG_OVERFLOW +public enum SvgOverflow : uint +{ + /// + /// D2D1_SVG_OVERFLOW_VISIBLE + Visible = 0, + /// + /// D2D1_SVG_OVERFLOW_HIDDEN + Hidden = 1, +} + +/// +/// D2D1_SVG_LINE_CAP +public enum SvgLineCap : uint +{ + /// + /// D2D1_SVG_LINE_CAP_BUTT + Butt = 0, + /// + /// D2D1_SVG_LINE_CAP_SQUARE + Square = 1, + /// + /// D2D1_SVG_LINE_CAP_ROUND + Round = 2, +} + +/// +/// D2D1_SVG_LINE_JOIN +public enum SvgLineJoin : uint +{ + /// + /// D2D1_SVG_LINE_JOIN_BEVEL + Bevel = 1, + /// + /// D2D1_SVG_LINE_JOIN_MITER + Miter = 3, + /// + /// D2D1_SVG_LINE_JOIN_ROUND + Round = 2, +} + +/// +/// D2D1_SVG_ASPECT_ALIGN +public enum SvgAspectAlign : uint +{ + /// + /// D2D1_SVG_ASPECT_ALIGN_NONE + None = 0, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MIN + XMinYMin = 1, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MIN + XMidYMin = 2, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MIN + XMaxYMin = 3, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MID + XMinYMid = 4, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MID + XMidYMid = 5, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MID + XMaxYMid = 6, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MIN_Y_MAX + XMinYMax = 7, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MID_Y_MAX + XMidYMax = 8, + /// + /// D2D1_SVG_ASPECT_ALIGN_X_MAX_Y_MAX + XMaxYMax = 9, +} + +/// +/// D2D1_SVG_ASPECT_SCALING +public enum SvgAspectScaling : uint +{ + /// + /// D2D1_SVG_ASPECT_SCALING_MEET + Meet = 0, + /// + /// D2D1_SVG_ASPECT_SCALING_SLICE + Slice = 1, +} + +/// +/// D2D1_SVG_PATH_COMMAND +public enum SvgPathCommand : uint +{ + /// + /// D2D1_SVG_PATH_COMMAND_CLOSE_PATH + ClosePath = 0, + /// + /// D2D1_SVG_PATH_COMMAND_MOVE_ABSOLUTE + MoveAbsolute = 1, + /// + /// D2D1_SVG_PATH_COMMAND_MOVE_RELATIVE + MoveRelative = 2, + /// + /// D2D1_SVG_PATH_COMMAND_LINE_ABSOLUTE + LineAbsolute = 3, + /// + /// D2D1_SVG_PATH_COMMAND_LINE_RELATIVE + LineRelative = 4, + /// + /// D2D1_SVG_PATH_COMMAND_CUBIC_ABSOLUTE + CubicAbsolute = 5, + /// + /// D2D1_SVG_PATH_COMMAND_CUBIC_RELATIVE + CubicRelative = 6, + /// + /// D2D1_SVG_PATH_COMMAND_QUADRADIC_ABSOLUTE + QuadradicAbsolute = 7, + /// + /// D2D1_SVG_PATH_COMMAND_QUADRADIC_RELATIVE + QuadradicRelative = 8, + /// + /// D2D1_SVG_PATH_COMMAND_ARC_ABSOLUTE + ArcAbsolute = 9, + /// + /// D2D1_SVG_PATH_COMMAND_ARC_RELATIVE + ArcRelative = 10, + /// + /// D2D1_SVG_PATH_COMMAND_HORIZONTAL_ABSOLUTE + HorizontalAbsolute = 11, + /// + /// D2D1_SVG_PATH_COMMAND_HORIZONTAL_RELATIVE + HorizontalRelative = 12, + /// + /// D2D1_SVG_PATH_COMMAND_VERTICAL_ABSOLUTE + VerticalAbsolute = 13, + /// + /// D2D1_SVG_PATH_COMMAND_VERTICAL_RELATIVE + VerticalRelative = 14, + /// + /// D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_ABSOLUTE + CubicSmoothAbsolute = 15, + /// + /// D2D1_SVG_PATH_COMMAND_CUBIC_SMOOTH_RELATIVE + CubicSmoothRelative = 16, + /// + /// D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_ABSOLUTE + QuadradicSmoothAbsolute = 17, + /// + /// D2D1_SVG_PATH_COMMAND_QUADRADIC_SMOOTH_RELATIVE + QuadradicSmoothRelative = 18, +} + +/// +/// D2D1_SVG_UNIT_TYPE +public enum SvgUnitType : uint +{ + /// + /// D2D1_SVG_UNIT_TYPE_USER_SPACE_ON_USE + UserSpaceOnUse = 0, + /// + /// D2D1_SVG_UNIT_TYPE_OBJECT_BOUNDING_BOX + ObjectBoundingBox = 1, +} + +/// +/// D2D1_SVG_ATTRIBUTE_STRING_TYPE +public enum SvgAttributeStringType : uint +{ + /// + /// D2D1_SVG_ATTRIBUTE_STRING_TYPE_SVG + Svg = 0, + /// + /// D2D1_SVG_ATTRIBUTE_STRING_TYPE_ID + Id = 1, +} + +/// +/// D2D1_SVG_ATTRIBUTE_POD_TYPE +public enum SvgAttributePodType : uint +{ + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_FLOAT + Float = 0, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_COLOR + Color = 1, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_FILL_MODE + FillMode = 2, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_DISPLAY + Display = 3, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_OVERFLOW + Overflow = 4, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_CAP + LineCap = 5, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_LINE_JOIN + LineJoin = 6, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_VISIBILITY + Visibility = 7, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_MATRIX + Matrix = 8, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_UNIT_TYPE + UnitType = 9, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_EXTEND_MODE + ExtendMode = 10, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_PRESERVE_ASPECT_RATIO + PreserveAspectRatio = 11, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_VIEWBOX + Viewbox = 12, + /// + /// D2D1_SVG_ATTRIBUTE_POD_TYPE_LENGTH + Length = 13, +} + +/// +/// D2D1_INK_NIB_SHAPE +public enum InkNibShape : uint +{ + /// + /// D2D1_INK_NIB_SHAPE_ROUND + Round = 0, + /// + /// D2D1_INK_NIB_SHAPE_SQUARE + Square = 1, +} + +/// +/// D2D1_ORIENTATION +public enum Orientation : uint +{ + /// + /// D2D1_ORIENTATION_DEFAULT + Default = 1, + /// + /// D2D1_ORIENTATION_FLIP_HORIZONTAL + FlipHorizontal = 2, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE180 + RotateClockwise180 = 3, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL + RotateClockwise180FlipHorizontal = 4, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL + RotateClockwise90FlipHorizontal = 5, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE270 + RotateClockwise270 = 6, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL + RotateClockwise270FlipHorizontal = 7, + /// + /// D2D1_ORIENTATION_ROTATE_CLOCKWISE90 + RotateClockwise90 = 8, +} + +/// +/// D2D1_IMAGE_SOURCE_LOADING_OPTIONS +[Flags] +public enum ImageSourceLoadingOptions : uint +{ + /// + /// D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE + None = 0, + /// + /// D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE + ReleaseSource = 1, + /// + /// D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND + CacheOnDemand = 2, +} + +/// +/// D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS +[Flags] +public enum ImageSourceFromDxgiOptions : uint +{ + /// + /// D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE + None = 0, + /// + /// D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION + LowQualityPrimaryConversion = 1, +} + +/// +/// D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS +[Flags] +public enum TransformedImageSourceOptions : uint +{ + /// + /// D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE + None = 0, + /// + /// D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE + DisableDpiScale = 1, +} + +/// +/// D2D1_PATCH_EDGE_MODE +public enum PatchEdgeMode : uint +{ + /// + /// D2D1_PATCH_EDGE_MODE_ALIASED + Aliased = 0, + /// + /// D2D1_PATCH_EDGE_MODE_ANTIALIASED + Antialiased = 1, + /// + /// D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED + AliasedInflated = 2, +} + +/// +/// D2D1_SPRITE_OPTIONS +[Flags] +public enum SpriteOptions : uint +{ + /// + /// D2D1_SPRITE_OPTIONS_NONE + None = 0, + /// + /// D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE + ClampToSourceRectangle = 1, +} + +/// +/// D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION +public enum ColorBitmapGlyphSnapOption : uint +{ + /// + /// D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT + Default = 0, + /// + /// D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE + Disable = 1, +} + +/// +/// D2D1_GAMMA1 +public enum Gamma1 : uint +{ + /// + /// D2D1_GAMMA1_G22 + G22 = 0, + /// + /// D2D1_GAMMA1_G10 + G10 = 1, + /// + /// D2D1_GAMMA1_G2084 + G2084 = 2, +} + +/// +/// D2D1_COLOR_CONTEXT_TYPE +public enum ColorContextType : uint +{ + /// + /// D2D1_COLOR_CONTEXT_TYPE_ICC + Icc = 0, + /// + /// D2D1_COLOR_CONTEXT_TYPE_SIMPLE + Simple = 1, + /// + /// D2D1_COLOR_CONTEXT_TYPE_DXGI + DXGI = 2, +} + +#endregion Enums + +#region Structs +/// +/// D2D1_BITMAP_PROPERTIES +public partial struct BitmapProperties +{ + /// + public Common.PixelFormat pixelFormat; + + /// + public float dpiX; + + /// + public float dpiY; +} + +/// +/// D2D1_GRADIENT_STOP +public partial struct GradientStop +{ + /// + public float position; + + /// + public Common.ColorF color; +} + +/// +/// D2D1_BRUSH_PROPERTIES +public partial struct BrushProperties +{ + /// + public float opacity; + + /// + public Matrix3x2 transform; +} + +/// +/// D2D1_BITMAP_BRUSH_PROPERTIES +public partial struct BitmapBrushProperties +{ + /// + public ExtendMode extendModeX; + + /// + public ExtendMode extendModeY; + + /// + public BitmapInterpolationMode interpolationMode; +} + +/// +/// D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES +public partial struct LinearGradientBrushProperties +{ + /// + public System.Drawing.PointF startPoint; + + /// + public System.Drawing.PointF endPoint; +} + +/// +/// D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES +public partial struct RadialGradientBrushProperties +{ + /// + public System.Drawing.PointF center; + + /// + public System.Drawing.PointF gradientOriginOffset; + + /// + public float radiusX; + + /// + public float radiusY; +} + +/// +/// D2D1_TRIANGLE +public partial struct Triangle +{ + /// + public System.Drawing.PointF point1; + + /// + public System.Drawing.PointF point2; + + /// + public System.Drawing.PointF point3; +} + +/// +/// D2D1_ARC_SEGMENT +public partial struct ArcSegment +{ + /// + public System.Drawing.PointF point; + + /// + public System.Drawing.SizeF size; + + /// + public float rotationAngle; + + /// + public SweepDirection sweepDirection; + + /// + public ArcSize arcSize; +} + +/// +/// D2D1_QUADRATIC_BEZIER_SEGMENT +public partial struct QuadraticBezierSegment +{ + /// + public System.Drawing.PointF point1; + + /// + public System.Drawing.PointF point2; +} + +/// +/// D2D1_ELLIPSE +public partial struct Ellipse +{ + /// + public System.Drawing.PointF point; + + /// + public float radiusX; + + /// + public float radiusY; +} + +/// +/// D2D1_ROUNDED_RECT +public partial struct RoundedRect +{ + /// + public Common.RectF rect; + + /// + public float radiusX; + + /// + public float radiusY; +} + +/// +/// D2D1_STROKE_STYLE_PROPERTIES +public partial struct StrokeStyleProperties +{ + /// + public CapStyle startCap; + + /// + public CapStyle endCap; + + /// + public CapStyle dashCap; + + /// + public LineJoin lineJoin; + + /// + public float miterLimit; + + /// + public DashStyle dashStyle; + + /// + public float dashOffset; +} + +/// +/// D2D1_LAYER_PARAMETERS +public partial struct LayerParameters +{ + /// + public Common.RectF contentBounds; + + /// + public unsafe ID2D1Geometry* geometricMask; + + /// + public AntialiasMode maskAntialiasMode; + + /// + public Matrix3x2 maskTransform; + + /// + public float opacity; + + /// + public unsafe ID2D1Brush* opacityBrush; + + /// + public LayerOptions layerOptions; +} + +/// +/// D2D1_RENDER_TARGET_PROPERTIES +public partial struct RenderTargetProperties +{ + /// + public RenderTargetType type; + + /// + public Common.PixelFormat pixelFormat; + + /// + public float dpiX; + + /// + public float dpiY; + + /// + public RenderTargetUsage usage; + + /// + public FeatureLevel minLevel; +} + +/// +/// D2D1_HWND_RENDER_TARGET_PROPERTIES +public partial struct HwndRenderTargetProperties +{ + /// + public IntPtr hwnd; + + /// + public Common.SizeU pixelSize; + + /// + public PresentOptions presentOptions; +} + +/// +/// D2D1_DRAWING_STATE_DESCRIPTION +public partial struct DrawingStateDescription +{ + /// + public AntialiasMode antialiasMode; + + /// + public TextAntialiasMode textAntialiasMode; + + /// + public ulong tag1; + + /// + public ulong tag2; + + /// + public Matrix3x2 transform; +} + +/// +/// D2D1_FACTORY_OPTIONS +public partial struct FactoryOptions +{ + /// + public DebugLevel debugLevel; +} + +/// +/// D2D1_BITMAP_PROPERTIES1 +public partial struct BitmapProperties1 +{ + /// + public Common.PixelFormat pixelFormat; + + /// + public float dpiX; + + /// + public float dpiY; + + /// + public BitmapOptions bitmapOptions; + + /// + public unsafe ID2D1ColorContext* colorContext; +} + +/// +/// D2D1_MAPPED_RECT +public partial struct MappedRect +{ + /// + public uint pitch; + + /// + public unsafe byte* bits; +} + +/// +/// D2D1_RENDERING_CONTROLS +public partial struct RenderingControls +{ + /// + public BufferPrecision bufferPrecision; + + /// + public Common.SizeU tileSize; +} + +/// +/// D2D1_EFFECT_INPUT_DESCRIPTION +public partial struct EffectInputDescription +{ + /// + public unsafe ID2D1Effect* effect; + + /// + public uint inputIndex; + + /// + public Common.RectF inputRectangle; +} + +/// +/// D2D1_POINT_DESCRIPTION +public partial struct PointDescription +{ + /// + public System.Drawing.PointF point; + + /// + public System.Drawing.PointF unitTangentVector; + + /// + public uint endSegment; + + /// + public uint endFigure; + + /// + public float lengthToEndSegment; +} + +/// +/// D2D1_IMAGE_BRUSH_PROPERTIES +public partial struct ImageBrushProperties +{ + /// + public Common.RectF sourceRectangle; + + /// + public ExtendMode extendModeX; + + /// + public ExtendMode extendModeY; + + /// + public InterpolationMode interpolationMode; +} + +/// +/// D2D1_BITMAP_BRUSH_PROPERTIES1 +public partial struct BitmapBrushProperties1 +{ + /// + public ExtendMode extendModeX; + + /// + public ExtendMode extendModeY; + + /// + public InterpolationMode interpolationMode; +} + +/// +/// D2D1_STROKE_STYLE_PROPERTIES1 +public partial struct StrokeStyleProperties1 +{ + /// + public CapStyle startCap; + + /// + public CapStyle endCap; + + /// + public CapStyle dashCap; + + /// + public LineJoin lineJoin; + + /// + public float miterLimit; + + /// + public DashStyle dashStyle; + + /// + public float dashOffset; + + /// + public StrokeTransformType transformType; +} + +/// +/// D2D1_LAYER_PARAMETERS1 +public partial struct LayerParameters1 +{ + /// + public Common.RectF contentBounds; + + /// + public unsafe ID2D1Geometry* geometricMask; + + /// + public AntialiasMode maskAntialiasMode; + + /// + public Matrix3x2 maskTransform; + + /// + public float opacity; + + /// + public unsafe ID2D1Brush* opacityBrush; + + /// + public LayerOptions1 layerOptions; +} + +/// +/// D2D1_DRAWING_STATE_DESCRIPTION1 +public partial struct DrawingStateDescription1 +{ + /// + public AntialiasMode antialiasMode; + + /// + public TextAntialiasMode textAntialiasMode; + + /// + public ulong tag1; + + /// + public ulong tag2; + + /// + public Matrix3x2 transform; + + /// + public PrimitiveBlend primitiveBlend; + + /// + public UnitMode unitMode; +} + +/// +/// D2D1_PRINT_CONTROL_PROPERTIES +public partial struct PrintControlProperties +{ + /// + public PrintFontSubsetMode fontSubset; + + /// + public float rasterDPI; + + /// + public ColorSpace colorSpace; +} + +/// +/// D2D1_CREATION_PROPERTIES +public partial struct CreationProperties +{ + /// + public ThreadingMode threadingMode; + + /// + public DebugLevel debugLevel; + + /// + public DeviceContextOptions options; +} + +/// +/// D2D1_PROPERTY_BINDING +public partial struct PropertyBinding +{ + /// + public unsafe ushort* propertyName; + + /// + public unsafe delegate* unmanaged[Stdcall] setFunction; + + /// + public unsafe delegate* unmanaged[Stdcall] getFunction; +} + +/// +/// D2D1_RESOURCE_TEXTURE_PROPERTIES +public partial struct ResourceTextureProperties +{ + /// + public unsafe uint* extents; + + /// + public uint dimensions; + + /// + public BufferPrecision bufferPrecision; + + /// + public ChannelDepth channelDepth; + + /// + public Filter filter; + + /// + public unsafe ExtendMode* extendModes; +} + +/// +/// D2D1_INPUT_ELEMENT_DESC +public partial struct InputElementDescription +{ + /// + public unsafe sbyte* semanticName; + + /// + public uint semanticIndex; + + /// + public Graphics.Dxgi.Common.Format format; + + /// + public uint inputSlot; + + /// + public uint alignedByteOffset; +} + +/// +/// D2D1_VERTEX_BUFFER_PROPERTIES +public partial struct VertexBufferProperties +{ + /// + public uint inputCount; + + /// + public VertexUsage usage; + + /// + public unsafe byte* data; + + /// + public uint byteWidth; +} + +/// +/// D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES +public partial struct CustomVertexBufferProperties +{ + /// + public unsafe byte* shaderBufferWithInputSignature; + + /// + public uint shaderBufferSize; + + /// + public unsafe InputElementDescription* inputElements; + + /// + public uint elementCount; + + /// + public uint stride; +} + +/// +/// D2D1_VERTEX_RANGE +public partial struct VertexRange +{ + /// + public uint startVertex; + + /// + public uint vertexCount; +} + +/// +/// D2D1_BLEND_DESCRIPTION +public partial struct BlendDescription +{ + /// + public Blend sourceBlend; + + /// + public Blend destinationBlend; + + /// + public BlendOperation blendOperation; + + /// + public Blend sourceBlendAlpha; + + /// + public Blend destinationBlendAlpha; + + /// + public BlendOperation blendOperationAlpha; + + /// + public unsafe fixed float blendFactor[4]; +} + +/// +/// D2D1_INPUT_DESCRIPTION +public partial struct InputDescription +{ + /// + public Filter filter; + + /// + public uint levelOfDetailCount; +} + +/// +/// D2D1_FEATURE_DATA_DOUBLES +public partial struct FeatureDataDoubles +{ + /// + public Bool32 doublePrecisionFloatShaderOps; +} + +/// +/// D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS +public partial struct FeatureDataD3d10XHardwareOptions +{ + /// + public Bool32 computeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; +} + +/// +/// D2D1_SVG_LENGTH +public partial struct SvgLength +{ + /// + public float value; + + /// + public SvgLengthUnits units; +} + +/// +/// D2D1_SVG_PRESERVE_ASPECT_RATIO +public partial struct SvgPreserveAspectRatio +{ + /// + public Bool32 defer; + + /// + public SvgAspectAlign align; + + /// + public SvgAspectScaling meetOrSlice; +} + +/// +/// D2D1_SVG_VIEWBOX +public partial struct SvgViewbox +{ + /// + public float x; + + /// + public float y; + + /// + public float width; + + /// + public float height; +} + +/// +/// D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES +public partial struct TransformedImageSourceProperties +{ + /// + public Orientation orientation; + + /// + public float scaleX; + + /// + public float scaleY; + + /// + public InterpolationMode interpolationMode; + + /// + public TransformedImageSourceOptions options; +} + +/// +/// D2D1_INK_POINT +public partial struct InkPoint +{ + /// + public float x; + + /// + public float y; + + /// + public float radius; +} + +/// +/// D2D1_INK_BEZIER_SEGMENT +public partial struct InkBezierSegment +{ + /// + public InkPoint point1; + + /// + public InkPoint point2; + + /// + public InkPoint point3; +} + +/// +/// D2D1_INK_STYLE_PROPERTIES +public partial struct InkStyleProperties +{ + /// + public InkNibShape nibShape; + + /// + public Matrix3x2 nibTransform; +} + +/// +/// D2D1_GRADIENT_MESH_PATCH +public partial struct GradientMeshPatch +{ + /// + public System.Drawing.PointF point00; + + /// + public System.Drawing.PointF point01; + + /// + public System.Drawing.PointF point02; + + /// + public System.Drawing.PointF point03; + + /// + public System.Drawing.PointF point10; + + /// + public System.Drawing.PointF point11; + + /// + public System.Drawing.PointF point12; + + /// + public System.Drawing.PointF point13; + + /// + public System.Drawing.PointF point20; + + /// + public System.Drawing.PointF point21; + + /// + public System.Drawing.PointF point22; + + /// + public System.Drawing.PointF point23; + + /// + public System.Drawing.PointF point30; + + /// + public System.Drawing.PointF point31; + + /// + public System.Drawing.PointF point32; + + /// + public System.Drawing.PointF point33; + + /// + public Common.ColorF color00; + + /// + public Common.ColorF color03; + + /// + public Common.ColorF color30; + + /// + public Common.ColorF color33; + + /// + public PatchEdgeMode topEdgeMode; + + /// + public PatchEdgeMode leftEdgeMode; + + /// + public PatchEdgeMode bottomEdgeMode; + + /// + public PatchEdgeMode rightEdgeMode; +} + +/// +/// D2D1_SIMPLE_COLOR_PROFILE +public partial struct SimpleColorProfile +{ + /// + public System.Drawing.PointF redPrimary; + + /// + public System.Drawing.PointF greenPrimary; + + /// + public System.Drawing.PointF bluePrimary; + + /// + public System.Drawing.PointF whitePointXZ; + + /// + public Gamma1 gamma; +} + +#endregion Structs + +#region COM Types +/// +/// ID2D1Resource +[Guid("2cd90691-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1Resource : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1Resource +{ + public static ref readonly Guid IID_ID2D1Resource + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x91, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Resource)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Resource*)Unsafe.AsPointer(ref this), factory); + } +} + +/// +/// ID2D1Image +[Guid("65019f75-8da2-497c-b32c-dfa34e48ede6")] +[NativeTypeName("struct ID2D1Image : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Image +{ + public static ref readonly Guid IID_ID2D1Image + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x75, 0x9F, 0x01, 0x65, + 0xA2, 0x8D, + 0x7C, 0x49, + 0xB3, + 0x2C, + 0xDF, + 0xA3, + 0x4E, + 0x48, + 0xED, + 0xE6 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Image)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Image*)Unsafe.AsPointer(ref this), factory); + } +} + +/// +/// ID2D1Bitmap +[Guid("a2296057-ea42-4099-983b-539fb6505426")] +[NativeTypeName("struct ID2D1Bitmap : ID2D1Image")] +[NativeInheritance("ID2D1Image")] +public unsafe partial struct ID2D1Bitmap +{ + public static ref readonly Guid IID_ID2D1Bitmap + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x57, 0x60, 0x29, 0xA2, + 0x42, 0xEA, + 0x99, 0x40, + 0x98, + 0x3B, + 0x53, + 0x9F, + 0xB6, + 0x50, + 0x54, + 0x26 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Bitmap)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CopyFromBitmap(Common.Point2u* destPoint, ID2D1Bitmap* bitmap, Common.RectU* srcRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this), destPoint, bitmap, srcRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CopyFromRenderTarget(Common.Point2u* destPoint, ID2D1RenderTarget* renderTarget, Common.RectU* srcRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this), destPoint, renderTarget, srcRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CopyFromMemory(Common.RectU* dstRect, void* srcData, uint pitch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Bitmap*)Unsafe.AsPointer(ref this), dstRect, srcData, pitch); + } +} + +/// +/// ID2D1GradientStopCollection +[Guid("2cd906a7-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1GradientStopCollection : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1GradientStopCollection +{ + public static ref readonly Guid IID_ID2D1GradientStopCollection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA7, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GradientStopCollection)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GradientStopCollection*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public uint GetGradientStopCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GradientStopCollection*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetGradientStops(GradientStop* gradientStops, uint gradientStopsCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GradientStopCollection*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.Gamma GetColorInterpolationGamma() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1GradientStopCollection*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.ExtendMode GetExtendMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1GradientStopCollection*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1Brush +[Guid("2cd906a8-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1Brush : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Brush +{ + public static ref readonly Guid IID_ID2D1Brush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA8, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Brush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Brush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Brush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Brush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Brush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Brush*)Unsafe.AsPointer(ref this), transform); + } +} + +/// +/// ID2D1BitmapBrush +[Guid("2cd906aa-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1BitmapBrush : ID2D1Brush")] +[NativeInheritance("ID2D1Brush")] +public unsafe partial struct ID2D1BitmapBrush +{ + public static ref readonly Guid IID_ID2D1BitmapBrush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xAA, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BitmapBrush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetExtendModeX(ExtendMode extendModeX) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), extendModeX); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetExtendModeY(ExtendMode extendModeY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), extendModeY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void SetInterpolationMode(BitmapInterpolationMode interpolationMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), interpolationMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetBitmap(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public Graphics.Direct2D.ExtendMode GetExtendModeX() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public Graphics.Direct2D.ExtendMode GetExtendModeY() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public Graphics.Direct2D.BitmapInterpolationMode GetInterpolationMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void GetBitmap(ID2D1Bitmap** bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1BitmapBrush*)Unsafe.AsPointer(ref this), bitmap); + } +} + +/// +/// ID2D1SolidColorBrush +[Guid("2cd906a9-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1SolidColorBrush : ID2D1Brush")] +[NativeInheritance("ID2D1Brush")] +public unsafe partial struct ID2D1SolidColorBrush +{ + public static ref readonly Guid IID_ID2D1SolidColorBrush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA9, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SolidColorBrush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetColor(Common.ColorF* color) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Graphics.Direct2D.Common.ColorF GetColor() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SolidColorBrush*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1LinearGradientBrush +[Guid("2cd906ab-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1LinearGradientBrush : ID2D1Brush")] +[NativeInheritance("ID2D1Brush")] +public unsafe partial struct ID2D1LinearGradientBrush +{ + public static ref readonly Guid IID_ID2D1LinearGradientBrush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xAB, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1LinearGradientBrush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetStartPoint(System.Drawing.PointF* startPoint) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), startPoint); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetEndPoint(System.Drawing.PointF* endPoint) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), endPoint); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public System.Drawing.PointF GetStartPoint() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public System.Drawing.PointF GetEndPoint() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void GetGradientStopCollection(ID2D1GradientStopCollection** gradientStopCollection) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1LinearGradientBrush*)Unsafe.AsPointer(ref this), gradientStopCollection); + } +} + +/// +/// ID2D1RadialGradientBrush +[Guid("2cd906ac-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1RadialGradientBrush : ID2D1Brush")] +[NativeInheritance("ID2D1Brush")] +public unsafe partial struct ID2D1RadialGradientBrush +{ + public static ref readonly Guid IID_ID2D1RadialGradientBrush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xAC, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RadialGradientBrush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetCenter(System.Drawing.PointF* center) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), center); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetGradientOriginOffset(System.Drawing.PointF* gradientOriginOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), gradientOriginOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void SetRadiusX(float radiusX) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), radiusX); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetRadiusY(float radiusY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), radiusY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public System.Drawing.PointF GetCenter() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public System.Drawing.PointF GetGradientOriginOffset() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public float GetRadiusX() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public float GetRadiusY() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetGradientStopCollection(ID2D1GradientStopCollection** gradientStopCollection) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1RadialGradientBrush*)Unsafe.AsPointer(ref this), gradientStopCollection); + } +} + +/// +/// ID2D1StrokeStyle +[Guid("2cd9069d-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1StrokeStyle : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1StrokeStyle +{ + public static ref readonly Guid IID_ID2D1StrokeStyle + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x9D, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1StrokeStyle)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public Graphics.Direct2D.CapStyle GetStartCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.CapStyle GetEndCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.CapStyle GetDashCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public float GetMiterLimit() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public Graphics.Direct2D.LineJoin GetLineJoin() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public float GetDashOffset() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public Graphics.Direct2D.DashStyle GetDashStyle() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public uint GetDashesCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void GetDashes(float* dashes, uint dashesCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1StrokeStyle*)Unsafe.AsPointer(ref this), dashes, dashesCount); + } +} + +/// +/// ID2D1Geometry +[Guid("2cd906a1-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1Geometry : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Geometry +{ + public static ref readonly Guid IID_ID2D1Geometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA1, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Geometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Geometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } +} + +/// +/// ID2D1RectangleGeometry +[Guid("2cd906a2-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1RectangleGeometry : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1RectangleGeometry +{ + public static ref readonly Guid IID_ID2D1RectangleGeometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA2, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RectangleGeometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetRect(Common.RectF* rect) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1RectangleGeometry*)Unsafe.AsPointer(ref this), rect); + } +} + +/// +/// ID2D1RoundedRectangleGeometry +[Guid("2cd906a3-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1RoundedRectangleGeometry : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1RoundedRectangleGeometry +{ + public static ref readonly Guid IID_ID2D1RoundedRectangleGeometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA3, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RoundedRectangleGeometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetRoundedRect(RoundedRect* roundedRect) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1RoundedRectangleGeometry*)Unsafe.AsPointer(ref this), roundedRect); + } +} + +/// +/// ID2D1EllipseGeometry +[Guid("2cd906a4-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1EllipseGeometry : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1EllipseGeometry +{ + public static ref readonly Guid IID_ID2D1EllipseGeometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA4, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1EllipseGeometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetEllipse(Ellipse* ellipse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1EllipseGeometry*)Unsafe.AsPointer(ref this), ellipse); + } +} + +/// +/// ID2D1GeometryGroup +[Guid("2cd906a6-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1GeometryGroup : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1GeometryGroup +{ + public static ref readonly Guid IID_ID2D1GeometryGroup + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA6, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GeometryGroup)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public Graphics.Direct2D.Common.FillMode GetFillMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public uint GetSourceGeometryCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void GetSourceGeometries(ID2D1Geometry** geometries, uint geometriesCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1GeometryGroup*)Unsafe.AsPointer(ref this), geometries, geometriesCount); + } +} + +/// +/// ID2D1TransformedGeometry +[Guid("2cd906bb-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1TransformedGeometry : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1TransformedGeometry +{ + public static ref readonly Guid IID_ID2D1TransformedGeometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBB, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1TransformedGeometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetSourceGeometry(ID2D1Geometry** sourceGeometry) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), sourceGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1TransformedGeometry*)Unsafe.AsPointer(ref this), transform); + } +} + +/// +/// ID2D1GeometrySink +[Guid("2cd9069f-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1GeometrySink : ID2D1SimplifiedGeometrySink")] +[NativeInheritance("ID2D1SimplifiedGeometrySink")] +public unsafe partial struct ID2D1GeometrySink +{ + public static ref readonly Guid IID_ID2D1GeometrySink + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x9F, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GeometrySink)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public void SetFillMode(Common.FillMode fillMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), fillMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public void SetSegmentFlags(Common.PathSegment vertexFlags) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), vertexFlags); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public void BeginFigure(System.Drawing.PointF* startPoint, Common.FigureBegin figureBegin) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), startPoint, figureBegin); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void AddLines(System.Drawing.PointF** points, uint pointsCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), points, pointsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void AddBeziers(Common.BezierSegment* beziers, uint beziersCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), beziers, beziersCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void EndFigure(Common.FigureEnd figureEnd) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), figureEnd); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult Close() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void AddLine(System.Drawing.PointF* point) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), point); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void AddBezier(Common.BezierSegment* bezier) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), bezier); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void AddQuadraticBezier(QuadraticBezierSegment* bezier) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), bezier); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void AddQuadraticBeziers(QuadraticBezierSegment* beziers, uint beziersCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), beziers, beziersCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void AddArc(ArcSegment* arc) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1GeometrySink*)Unsafe.AsPointer(ref this), arc); + } +} + +/// +/// ID2D1TessellationSink +[Guid("2cd906c1-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1TessellationSink : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1TessellationSink +{ + public static ref readonly Guid IID_ID2D1TessellationSink + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC1, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1TessellationSink)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void AddTriangles(Triangle* triangles, uint trianglesCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1TessellationSink*)Unsafe.AsPointer(ref this), triangles, trianglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Close() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1TessellationSink*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1PathGeometry +[Guid("2cd906a5-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1PathGeometry : ID2D1Geometry")] +[NativeInheritance("ID2D1Geometry")] +public unsafe partial struct ID2D1PathGeometry +{ + public static ref readonly Guid IID_ID2D1PathGeometry + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA5, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1PathGeometry)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult Open(ID2D1GeometrySink** geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult Stream(ID2D1GeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult GetSegmentCount(uint* count) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), count); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult GetFigureCount(uint* count) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1PathGeometry*)Unsafe.AsPointer(ref this), count); + } +} + +/// +/// ID2D1Mesh +[Guid("2cd906c2-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1Mesh : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Mesh +{ + public static ref readonly Guid IID_ID2D1Mesh + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC2, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Mesh)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Mesh*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Open(ID2D1TessellationSink** tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Mesh*)Unsafe.AsPointer(ref this), tessellationSink); + } +} + +/// +/// ID2D1Layer +[Guid("2cd9069b-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1Layer : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Layer +{ + public static ref readonly Guid IID_ID2D1Layer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x9B, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Layer)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Layer*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Layer*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1DrawingStateBlock +[Guid("28506e39-ebf6-46a1-bb47-fd85565ab957")] +[NativeTypeName("struct ID2D1DrawingStateBlock : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1DrawingStateBlock +{ + public static ref readonly Guid IID_ID2D1DrawingStateBlock + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x39, 0x6E, 0x50, 0x28, + 0xF6, 0xEB, + 0xA1, 0x46, + 0xBB, + 0x47, + 0xFD, + 0x85, + 0x56, + 0x5A, + 0xB9, + 0x57 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DrawingStateBlock)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DrawingStateBlock*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetDescription(DrawingStateDescription* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DrawingStateBlock*)Unsafe.AsPointer(ref this), stateDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetDescription(DrawingStateDescription* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DrawingStateBlock*)Unsafe.AsPointer(ref this), stateDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DrawingStateBlock*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DrawingStateBlock*)Unsafe.AsPointer(ref this), textRenderingParams); + } +} + +/// +/// ID2D1RenderTarget +[Guid("2cd90694-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1RenderTarget : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1RenderTarget +{ + public static ref readonly Guid IID_ID2D1RenderTarget + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x94, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RenderTarget)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1RenderTarget*)Unsafe.AsPointer(ref this), renderTargetProperties); + } +} + +/// +/// ID2D1BitmapRenderTarget +[Guid("2cd90695-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1BitmapRenderTarget : ID2D1RenderTarget")] +[NativeInheritance("ID2D1RenderTarget")] +public unsafe partial struct ID2D1BitmapRenderTarget +{ + public static ref readonly Guid IID_ID2D1BitmapRenderTarget + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x95, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BitmapRenderTarget)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult GetBitmap(ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1BitmapRenderTarget*)Unsafe.AsPointer(ref this), bitmap); + } +} + +/// +/// ID2D1HwndRenderTarget +[Guid("2cd90698-12e2-11dc-9fed-001143a055f9")] +[NativeTypeName("struct ID2D1HwndRenderTarget : ID2D1RenderTarget")] +[NativeInheritance("ID2D1RenderTarget")] +public unsafe partial struct ID2D1HwndRenderTarget +{ + public static ref readonly Guid IID_ID2D1HwndRenderTarget + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x98, 0x06, 0xD9, 0x2C, + 0xE2, 0x12, + 0xDC, 0x11, + 0x9F, + 0xED, + 0x00, + 0x11, + 0x43, + 0xA0, + 0x55, + 0xF9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1HwndRenderTarget)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public Graphics.Direct2D.WindowState CheckWindowState() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public HResult Resize(Common.SizeU* pixelSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this), pixelSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public IntPtr GetHwnd() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1HwndRenderTarget*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1GdiInteropRenderTarget +[Guid("e0db51c3-6f77-4bae-b3d5-e47509b35838")] +[NativeTypeName("struct ID2D1GdiInteropRenderTarget : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1GdiInteropRenderTarget +{ + public static ref readonly Guid IID_ID2D1GdiInteropRenderTarget + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC3, 0x51, 0xDB, 0xE0, + 0x77, 0x6F, + 0xAE, 0x4B, + 0xB3, + 0xD5, + 0xE4, + 0x75, + 0x09, + 0xB3, + 0x58, + 0x38 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GdiInteropRenderTarget)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult GetDC(DcInitializeMode mode, IntPtr* hdc) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GdiInteropRenderTarget*)Unsafe.AsPointer(ref this), mode, hdc); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult ReleaseDC(RawRect* update) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GdiInteropRenderTarget*)Unsafe.AsPointer(ref this), update); + } +} + +/// +/// ID2D1DCRenderTarget +[Guid("1c51bc64-de61-46fd-9899-63a5d8f03950")] +[NativeTypeName("struct ID2D1DCRenderTarget : ID2D1RenderTarget")] +[NativeInheritance("ID2D1RenderTarget")] +public unsafe partial struct ID2D1DCRenderTarget +{ + public static ref readonly Guid IID_ID2D1DCRenderTarget + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x64, 0xBC, 0x51, 0x1C, + 0x61, 0xDE, + 0xFD, 0x46, + 0x98, + 0x99, + 0x63, + 0xA5, + 0xD8, + 0xF0, + 0x39, + 0x50 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DCRenderTarget)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult BindDC(IntPtr hDC, RawRect* pSubRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DCRenderTarget*)Unsafe.AsPointer(ref this), hDC, pSubRect); + } +} + +/// +/// ID2D1Factory +[Guid("06152247-6f50-465a-9245-118bfd3b6007")] +[NativeTypeName("struct ID2D1Factory : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1Factory +{ + public static ref readonly Guid IID_ID2D1Factory + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x47, 0x22, 0x15, 0x06, + 0x50, 0x6F, + 0x5A, 0x46, + 0x92, + 0x45, + 0x11, + 0x8B, + 0xFD, + 0x3B, + 0x60, + 0x07 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } +} + +/// +/// ID2D1GdiMetafileSink +[Guid("82237326-8111-4f7c-bcf4-b5c1175564fe")] +[NativeTypeName("struct ID2D1GdiMetafileSink : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1GdiMetafileSink +{ + public static ref readonly Guid IID_ID2D1GdiMetafileSink + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x26, 0x73, 0x23, 0x82, + 0x11, 0x81, + 0x7C, 0x4F, + 0xBC, + 0xF4, + 0xB5, + 0xC1, + 0x17, + 0x55, + 0x64, + 0xFE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GdiMetafileSink)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult ProcessRecord(uint recordType, void* recordData, uint recordDataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GdiMetafileSink*)Unsafe.AsPointer(ref this), recordType, recordData, recordDataSize); + } +} + +/// +/// ID2D1GdiMetafile +[Guid("2f543dc3-cfc1-4211-864f-cfd91c6f3395")] +[NativeTypeName("struct ID2D1GdiMetafile : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1GdiMetafile +{ + public static ref readonly Guid IID_ID2D1GdiMetafile + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC3, 0x3D, 0x54, 0x2F, + 0xC1, 0xCF, + 0x11, 0x42, + 0x86, + 0x4F, + 0xCF, + 0xD9, + 0x1C, + 0x6F, + 0x33, + 0x95 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GdiMetafile)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GdiMetafile*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Stream(ID2D1GdiMetafileSink* sink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GdiMetafile*)Unsafe.AsPointer(ref this), sink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetBounds(Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GdiMetafile*)Unsafe.AsPointer(ref this), bounds); + } +} + +/// +/// ID2D1CommandSink +[Guid("54d7898a-a061-40a7-bec7-e465bcba2c4f")] +[NativeTypeName("struct ID2D1CommandSink : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1CommandSink +{ + public static ref readonly Guid IID_ID2D1CommandSink + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x8A, 0x89, 0xD7, 0x54, + 0x61, 0xA0, + 0xA7, 0x40, + 0xBE, + 0xC7, + 0xE4, + 0x65, + 0xBC, + 0xBA, + 0x2C, + 0x4F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1CommandList +[Guid("b4f34a19-2383-4d76-94f6-ec343657c3dc")] +[NativeTypeName("struct ID2D1CommandList : ID2D1Image")] +[NativeInheritance("ID2D1Image")] +public unsafe partial struct ID2D1CommandList +{ + public static ref readonly Guid IID_ID2D1CommandList + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x19, 0x4A, 0xF3, 0xB4, + 0x83, 0x23, + 0x76, 0x4D, + 0x94, + 0xF6, + 0xEC, + 0x34, + 0x36, + 0x57, + 0xC3, + 0xDC + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandList)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandList*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Stream(ID2D1CommandSink* sink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandList*)Unsafe.AsPointer(ref this), sink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult Close() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandList*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1PrintControl +[Guid("2c1d867d-c290-41c8-ae7e-34a98702e9a5")] +[NativeTypeName("struct ID2D1PrintControl : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1PrintControl +{ + public static ref readonly Guid IID_ID2D1PrintControl + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x7D, 0x86, 0x1D, 0x2C, + 0x90, 0xC2, + 0xC8, 0x41, + 0xAE, + 0x7E, + 0x34, + 0xA9, + 0x87, + 0x02, + 0xE9, + 0xA5 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1PrintControl)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult AddPage(ID2D1CommandList* commandList, System.Drawing.SizeF* pageSize, Com.IStream* pagePrintTicketStream, ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1PrintControl*)Unsafe.AsPointer(ref this), commandList, pageSize, pagePrintTicketStream, tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Close() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1PrintControl*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1ImageBrush +[Guid("fe9e984d-3f95-407c-b5db-cb94d4e8f87c")] +[NativeTypeName("struct ID2D1ImageBrush : ID2D1Brush")] +[NativeInheritance("ID2D1Brush")] +public unsafe partial struct ID2D1ImageBrush +{ + public static ref readonly Guid IID_ID2D1ImageBrush + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4D, 0x98, 0x9E, 0xFE, + 0x95, 0x3F, + 0x7C, 0x40, + 0xB5, + 0xDB, + 0xCB, + 0x94, + 0xD4, + 0xE8, + 0xF8, + 0x7C + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ImageBrush)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetImage(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetExtendModeX(ExtendMode extendModeX) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), extendModeX); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void SetExtendModeY(ExtendMode extendModeY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), extendModeY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetInterpolationMode(InterpolationMode interpolationMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), interpolationMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void SetSourceRectangle(Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void GetImage(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public Graphics.Direct2D.ExtendMode GetExtendModeX() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public Graphics.Direct2D.ExtendMode GetExtendModeY() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public Graphics.Direct2D.InterpolationMode GetInterpolationMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetSourceRectangle(Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1ImageBrush*)Unsafe.AsPointer(ref this), sourceRectangle); + } +} + +/// +/// ID2D1BitmapBrush1 +[Guid("41343a53-e41a-49a2-91cd-21793bbb62e5")] +[NativeTypeName("struct ID2D1BitmapBrush1 : ID2D1BitmapBrush")] +[NativeInheritance("ID2D1BitmapBrush")] +public unsafe partial struct ID2D1BitmapBrush1 +{ + public static ref readonly Guid IID_ID2D1BitmapBrush1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x53, 0x3A, 0x34, 0x41, + 0x1A, 0xE4, + 0xA2, 0x49, + 0x91, + 0xCD, + 0x21, + 0x79, + 0x3B, + 0xBB, + 0x62, + 0xE5 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BitmapBrush1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void SetExtendModeX(ExtendMode extendModeX) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), extendModeX); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetExtendModeY(ExtendMode extendModeY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), extendModeY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetInterpolationMode(BitmapInterpolationMode interpolationMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), interpolationMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetBitmap(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.ExtendMode GetExtendModeX() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public Graphics.Direct2D.ExtendMode GetExtendModeY() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Graphics.Direct2D.BitmapInterpolationMode GetInterpolationMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void GetBitmap(ID2D1Bitmap** bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetOpacity(float opacity) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), opacity); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public float GetOpacity() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void SetInterpolationMode1(InterpolationMode interpolationMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this), interpolationMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public Graphics.Direct2D.InterpolationMode GetInterpolationMode1() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1BitmapBrush1*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1StrokeStyle1 +[Guid("10a72a66-e91c-43f4-993f-ddf4b82b0b4a")] +[NativeTypeName("struct ID2D1StrokeStyle1 : ID2D1StrokeStyle")] +[NativeInheritance("ID2D1StrokeStyle")] +public unsafe partial struct ID2D1StrokeStyle1 +{ + public static ref readonly Guid IID_ID2D1StrokeStyle1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x66, 0x2A, 0xA7, 0x10, + 0x1C, 0xE9, + 0xF4, 0x43, + 0x99, + 0x3F, + 0xDD, + 0xF4, + 0xB8, + 0x2B, + 0x0B, + 0x4A + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1StrokeStyle1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public Graphics.Direct2D.CapStyle GetStartCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public Graphics.Direct2D.CapStyle GetEndCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.CapStyle GetDashCap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public float GetMiterLimit() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.LineJoin GetLineJoin() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public float GetDashOffset() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Graphics.Direct2D.DashStyle GetDashStyle() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public uint GetDashesCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void GetDashes(float* dashes, uint dashesCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this), dashes, dashesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public Graphics.Direct2D.StrokeTransformType GetStrokeTransformType() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1StrokeStyle1*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1PathGeometry1 +[Guid("62baa2d2-ab54-41b7-b872-787e0106a421")] +[NativeTypeName("struct ID2D1PathGeometry1 : ID2D1PathGeometry")] +[NativeInheritance("ID2D1PathGeometry")] +public unsafe partial struct ID2D1PathGeometry1 +{ + public static ref readonly Guid IID_ID2D1PathGeometry1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD2, 0xA2, 0xBA, 0x62, + 0x54, 0xAB, + 0xB7, 0x41, + 0xB8, + 0x72, + 0x78, + 0x7E, + 0x01, + 0x06, + 0xA4, + 0x21 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1PathGeometry1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult Open(ID2D1GeometrySink** geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Stream(ID2D1GeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetSegmentCount(uint* count) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), count); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetFigureCount(uint* count) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), count); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult GetBounds(Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), worldTransform, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult GetWidenedBounds(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult StrokeContainsPoint(System.Drawing.PointF* point, float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), point, strokeWidth, strokeStyle, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult FillContainsPoint(System.Drawing.PointF* point, Matrix3x2* worldTransform, float flatteningTolerance, Bool32* contains) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), point, worldTransform, flatteningTolerance, contains); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CompareWithGeometry(ID2D1Geometry* inputGeometry, Matrix3x2* inputGeometryTransform, float flatteningTolerance, GeometryRelation* relation) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), inputGeometry, inputGeometryTransform, flatteningTolerance, relation); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult Simplify(GeometrySimplificationOption simplificationOption, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), simplificationOption, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult Tessellate(Matrix3x2* worldTransform, float flatteningTolerance, ID2D1TessellationSink* tessellationSink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, tessellationSink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CombineWithGeometry(ID2D1Geometry* inputGeometry, CombineMode combineMode, Matrix3x2* inputGeometryTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), inputGeometry, combineMode, inputGeometryTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Outline(Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult ComputeArea(Matrix3x2* worldTransform, float flatteningTolerance, float* area) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, area); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult ComputeLength(Matrix3x2* worldTransform, float flatteningTolerance, float* length) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), worldTransform, flatteningTolerance, length); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult ComputePointAtLength(float length, Matrix3x2* worldTransform, float flatteningTolerance, System.Drawing.PointF** point, System.Drawing.PointF** unitTangentVector) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), length, worldTransform, flatteningTolerance, point, unitTangentVector); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult Widen(float strokeWidth, ID2D1StrokeStyle* strokeStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), strokeWidth, strokeStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult ComputePointAndSegmentAtLength(float length, uint startSegment, Matrix3x2* worldTransform, float flatteningTolerance, PointDescription* pointDescription) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1PathGeometry1*)Unsafe.AsPointer(ref this), length, startSegment, worldTransform, flatteningTolerance, pointDescription); + } +} + +/// +/// ID2D1Properties +[Guid("483473d7-cd46-4f9d-9d3a-3112aa80159d")] +[NativeTypeName("struct ID2D1Properties : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1Properties +{ + public static ref readonly Guid IID_ID2D1Properties + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD7, 0x73, 0x34, 0x48, + 0x46, 0xCD, + 0x9D, 0x4F, + 0x9D, + 0x3A, + 0x31, + 0x12, + 0xAA, + 0x80, + 0x15, + 0x9D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Properties)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetPropertyCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Properties*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetPropertyName(uint index, ushort* name, uint nameCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index, name, nameCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public uint GetPropertyNameLength(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.PropertyType GetType(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetPropertyIndex(ushort* name) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Properties*)Unsafe.AsPointer(ref this), name); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetValueByName(ushort* name, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Properties*)Unsafe.AsPointer(ref this), name, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetValue(uint index, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult GetValueByName(ushort* name, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Properties*)Unsafe.AsPointer(ref this), name, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetValue(uint index, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public uint GetValueSize(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetSubProperties(uint index, ID2D1Properties** subProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Properties*)Unsafe.AsPointer(ref this), index, subProperties); + } +} + +/// +/// ID2D1Effect +[Guid("28211a43-7d89-476f-8181-2d6159b220ad")] +[NativeTypeName("struct ID2D1Effect : ID2D1Properties")] +[NativeInheritance("ID2D1Properties")] +public unsafe partial struct ID2D1Effect +{ + public static ref readonly Guid IID_ID2D1Effect + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x43, 0x1A, 0x21, 0x28, + 0x89, 0x7D, + 0x6F, 0x47, + 0x81, + 0x81, + 0x2D, + 0x61, + 0x59, + 0xB2, + 0x20, + 0xAD + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Effect)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetPropertyCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Effect*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetPropertyName(uint index, ushort* name, uint nameCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, name, nameCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public uint GetPropertyNameLength(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.PropertyType GetType(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetPropertyIndex(ushort* name) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetValueByName(ushort* name, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetValue(uint index, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult GetValueByName(ushort* name, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Effect*)Unsafe.AsPointer(ref this), name, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetValue(uint index, PropertyType type, byte* data, uint dataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, type, data, dataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public uint GetValueSize(uint index) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetSubProperties(uint index, ID2D1Properties** subProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, subProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void SetInput(uint index, ID2D1Image* input, Bool32 invalidate) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, input, invalidate); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult SetInputCount(uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Effect*)Unsafe.AsPointer(ref this), inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetInput(uint index, ID2D1Image** input) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Effect*)Unsafe.AsPointer(ref this), index, input); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Effect*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void GetOutput(ID2D1Image** outputImage) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Effect*)Unsafe.AsPointer(ref this), outputImage); + } +} + +/// +/// ID2D1Bitmap1 +[Guid("a898a84c-3873-4588-b08b-ebbf978df041")] +[NativeTypeName("struct ID2D1Bitmap1 : ID2D1Bitmap")] +[NativeInheritance("ID2D1Bitmap")] +public unsafe partial struct ID2D1Bitmap1 +{ + public static ref readonly Guid IID_ID2D1Bitmap1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4C, 0xA8, 0x98, 0xA8, + 0x73, 0x38, + 0x88, 0x45, + 0xB0, + 0x8B, + 0xEB, + 0xBF, + 0x97, + 0x8D, + 0xF0, + 0x41 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Bitmap1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CopyFromBitmap(Common.Point2u* destPoint, ID2D1Bitmap* bitmap, Common.RectU* srcRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), destPoint, bitmap, srcRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CopyFromRenderTarget(Common.Point2u* destPoint, ID2D1RenderTarget* renderTarget, Common.RectU* srcRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), destPoint, renderTarget, srcRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CopyFromMemory(Common.RectU* dstRect, void* srcData, uint pitch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), dstRect, srcData, pitch); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void GetColorContext(ID2D1ColorContext** colorContext) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public Graphics.Direct2D.BitmapOptions GetOptions() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetSurface(Graphics.Dxgi.IDXGISurface** dxgiSurface) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), dxgiSurface); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult Map(MapOptions options, MappedRect* mappedRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this), options, mappedRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult Unmap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Bitmap1*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1ColorContext +[Guid("1c4820bb-5771-4518-a581-2fe4dd0ec657")] +[NativeTypeName("struct ID2D1ColorContext : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1ColorContext +{ + public static ref readonly Guid IID_ID2D1ColorContext + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBB, 0x20, 0x48, 0x1C, + 0x71, 0x57, + 0x18, 0x45, + 0xA5, + 0x81, + 0x2F, + 0xE4, + 0xDD, + 0x0E, + 0xC6, + 0x57 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ColorContext)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ColorContext*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public Graphics.Direct2D.ColorSpace GetColorSpace() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ColorContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public uint GetProfileSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ColorContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetProfile(byte* profile, uint profileSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ColorContext*)Unsafe.AsPointer(ref this), profile, profileSize); + } +} + +/// +/// ID2D1GradientStopCollection1 +[Guid("ae1572f4-5dd0-4777-998b-9279472ae63b")] +[NativeTypeName("struct ID2D1GradientStopCollection1 : ID2D1GradientStopCollection")] +[NativeInheritance("ID2D1GradientStopCollection")] +public unsafe partial struct ID2D1GradientStopCollection1 +{ + public static ref readonly Guid IID_ID2D1GradientStopCollection1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xF4, 0x72, 0x15, 0xAE, + 0xD0, 0x5D, + 0x77, 0x47, + 0x99, + 0x8B, + 0x92, + 0x79, + 0x47, + 0x2A, + 0xE6, + 0x3B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GradientStopCollection1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetGradientStopCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetGradientStops(GradientStop* gradientStops, uint gradientStopsCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.Gamma GetColorInterpolationGamma() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.ExtendMode GetExtendMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void GetGradientStops1(GradientStop* gradientStops, uint gradientStopsCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Graphics.Direct2D.ColorSpace GetPreInterpolationSpace() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public Graphics.Direct2D.ColorSpace GetPostInterpolationSpace() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public Graphics.Direct2D.BufferPrecision GetBufferPrecision() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public Graphics.Direct2D.ColorInterpolationMode GetColorInterpolationMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1GradientStopCollection1*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1DrawingStateBlock1 +[Guid("689f1f85-c72e-4e33-8f19-85754efd5ace")] +[NativeTypeName("struct ID2D1DrawingStateBlock1 : ID2D1DrawingStateBlock")] +[NativeInheritance("ID2D1DrawingStateBlock")] +public unsafe partial struct ID2D1DrawingStateBlock1 +{ + public static ref readonly Guid IID_ID2D1DrawingStateBlock1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x85, 0x1F, 0x9F, 0x68, + 0x2E, 0xC7, + 0x33, 0x4E, + 0x8F, + 0x19, + 0x85, + 0x75, + 0x4E, + 0xFD, + 0x5A, + 0xCE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DrawingStateBlock1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetDescription(DrawingStateDescription* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), stateDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetDescription(DrawingStateDescription* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), stateDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void GetDescription(DrawingStateDescription1* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), stateDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetDescription(DrawingStateDescription1* stateDescription) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DrawingStateBlock1*)Unsafe.AsPointer(ref this), stateDescription); + } +} + +/// +/// ID2D1DeviceContext +[Guid("e8f7fe7a-191c-466d-ad95-975678bda998")] +[NativeTypeName("struct ID2D1DeviceContext : ID2D1RenderTarget")] +[NativeInheritance("ID2D1RenderTarget")] +public unsafe partial struct ID2D1DeviceContext +{ + public static ref readonly Guid IID_ID2D1DeviceContext + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x7A, 0xFE, 0xF7, 0xE8, + 0x1C, 0x19, + 0x6D, 0x46, + 0xAD, + 0x95, + 0x97, + 0x56, + 0x78, + 0xBD, + 0xA9, + 0x98 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } +} + +/// +/// ID2D1Device +[Guid("47dd575d-ac05-4cdd-8049-9b02cd16f44c")] +[NativeTypeName("struct ID2D1Device : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Device +{ + public static ref readonly Guid IID_ID2D1Device + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x5D, 0x57, 0xDD, 0x47, + 0x05, 0xAC, + 0xDD, 0x4C, + 0x80, + 0x49, + 0x9B, + 0x02, + 0xCD, + 0x16, + 0xF4, + 0x4C + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } +} + +/// +/// ID2D1Factory1 +[Guid("bb12d362-daee-4b9a-aa1d-14ba401cfa1f")] +[NativeTypeName("struct ID2D1Factory1 : ID2D1Factory")] +[NativeInheritance("ID2D1Factory")] +public unsafe partial struct ID2D1Factory1 +{ + public static ref readonly Guid IID_ID2D1Factory1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x62, 0xD3, 0x12, 0xBB, + 0xEE, 0xDA, + 0x9A, 0x4B, + 0xAA, + 0x1D, + 0x14, + 0xBA, + 0x40, + 0x1C, + 0xFA, + 0x1F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[22]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[23]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory1*)Unsafe.AsPointer(ref this), effectId, properties); + } +} + +/// +/// ID2D1Multithread +[Guid("31e6e7bc-e0ff-4d46-8c64-a0a8c41c15d3")] +[NativeTypeName("struct ID2D1Multithread : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1Multithread +{ + public static ref readonly Guid IID_ID2D1Multithread + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBC, 0xE7, 0xE6, 0x31, + 0xFF, 0xE0, + 0x46, 0x4D, + 0x8C, + 0x64, + 0xA0, + 0xA8, + 0xC4, + 0x1C, + 0x15, + 0xD3 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Multithread)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public Bool32 GetMultithreadProtected() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Multithread*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void Enter() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Multithread*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void Leave() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Multithread*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1VertexBuffer +[Guid("9b8b1336-00a5-4668-92b7-ced5d8bf9b7b")] +[NativeTypeName("struct ID2D1VertexBuffer : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1VertexBuffer +{ + public static ref readonly Guid IID_ID2D1VertexBuffer + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x36, 0x13, 0x8B, 0x9B, + 0xA5, 0x00, + 0x68, 0x46, + 0x92, + 0xB7, + 0xCE, + 0xD5, + 0xD8, + 0xBF, + 0x9B, + 0x7B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1VertexBuffer)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult Map(byte** data, uint bufferSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1VertexBuffer*)Unsafe.AsPointer(ref this), data, bufferSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Unmap() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1VertexBuffer*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1ResourceTexture +[Guid("688d15c3-02b0-438d-b13a-d1b44c32c39a")] +[NativeTypeName("struct ID2D1ResourceTexture : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1ResourceTexture +{ + public static ref readonly Guid IID_ID2D1ResourceTexture + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xC3, 0x15, 0x8D, 0x68, + 0xB0, 0x02, + 0x8D, 0x43, + 0xB1, + 0x3A, + 0xD1, + 0xB4, + 0x4C, + 0x32, + 0xC3, + 0x9A + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ResourceTexture)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult Update(uint* minimumExtents, uint* maximimumExtents, uint* strides, uint dimensions, byte* data, uint dataCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ResourceTexture*)Unsafe.AsPointer(ref this), minimumExtents, maximimumExtents, strides, dimensions, data, dataCount); + } +} + +/// +/// ID2D1RenderInfo +[Guid("519ae1bd-d19a-420d-b849-364f594776b7")] +[NativeTypeName("struct ID2D1RenderInfo : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1RenderInfo +{ + public static ref readonly Guid IID_ID2D1RenderInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBD, 0xE1, 0x9A, 0x51, + 0x9A, 0xD1, + 0x0D, 0x42, + 0xB8, + 0x49, + 0x36, + 0x4F, + 0x59, + 0x47, + 0x76, + 0xB7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1RenderInfo)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetInputDescription(uint inputIndex, InputDescription* inputDescription) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1RenderInfo*)Unsafe.AsPointer(ref this), inputIndex, inputDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1RenderInfo*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1RenderInfo*)Unsafe.AsPointer(ref this), isCached); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetInstructionCountHint(uint instructionCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1RenderInfo*)Unsafe.AsPointer(ref this), instructionCount); + } +} + +/// +/// ID2D1DrawInfo +[Guid("693ce632-7f2f-45de-93fe-18d88b37aa21")] +[NativeTypeName("struct ID2D1DrawInfo : ID2D1RenderInfo")] +[NativeInheritance("ID2D1RenderInfo")] +public unsafe partial struct ID2D1DrawInfo +{ + public static ref readonly Guid IID_ID2D1DrawInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x32, 0xE6, 0x3C, 0x69, + 0x2F, 0x7F, + 0xDE, 0x45, + 0x93, + 0xFE, + 0x18, + 0xD8, + 0x8B, + 0x37, + 0xAA, + 0x21 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DrawInfo)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetInputDescription(uint inputIndex, InputDescription* inputDescription) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), inputIndex, inputDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), isCached); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetInstructionCountHint(uint instructionCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), instructionCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetPixelShaderConstantBuffer(byte* buffer, uint bufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), buffer, bufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetResourceTexture(uint textureIndex, ID2D1ResourceTexture* resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), textureIndex, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetVertexShaderConstantBuffer(byte* buffer, uint bufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), buffer, bufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetPixelShader(Guid* shaderId, PixelOptions pixelOptions) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), shaderId, pixelOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetVertexProcessing(ID2D1VertexBuffer* vertexBuffer, VertexOptions vertexOptions, BlendDescription* blendDescription, VertexRange* vertexRange, Guid* vertexShader) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DrawInfo*)Unsafe.AsPointer(ref this), vertexBuffer, vertexOptions, blendDescription, vertexRange, vertexShader); + } +} + +/// +/// ID2D1ComputeInfo +[Guid("5598b14b-9fd7-48b7-9bdb-8f0964eb38bc")] +[NativeTypeName("struct ID2D1ComputeInfo : ID2D1RenderInfo")] +[NativeInheritance("ID2D1RenderInfo")] +public unsafe partial struct ID2D1ComputeInfo +{ + public static ref readonly Guid IID_ID2D1ComputeInfo + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4B, 0xB1, 0x98, 0x55, + 0xD7, 0x9F, + 0xB7, 0x48, + 0x9B, + 0xDB, + 0x8F, + 0x09, + 0x64, + 0xEB, + 0x38, + 0xBC + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ComputeInfo)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetInputDescription(uint inputIndex, InputDescription* inputDescription) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), inputIndex, inputDescription); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), isCached); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetInstructionCountHint(uint instructionCount) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), instructionCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetComputeShaderConstantBuffer(byte* buffer, uint bufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), buffer, bufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetComputeShader(Guid* shaderId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), shaderId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetResourceTexture(uint textureIndex, ID2D1ResourceTexture* resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1ComputeInfo*)Unsafe.AsPointer(ref this), textureIndex, resourceTexture); + } +} + +/// +/// ID2D1TransformNode +[Guid("b2efe1e7-729f-4102-949f-505fa21bf666")] +[NativeTypeName("struct ID2D1TransformNode : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1TransformNode +{ + public static ref readonly Guid IID_ID2D1TransformNode + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE7, 0xE1, 0xEF, 0xB2, + 0x9F, 0x72, + 0x02, 0x41, + 0x94, + 0x9F, + 0x50, + 0x5F, + 0xA2, + 0x1B, + 0xF6, + 0x66 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1TransformNode)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1TransformNode*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1TransformGraph +[Guid("13d29038-c3e6-4034-9081-13b53a417992")] +[NativeTypeName("struct ID2D1TransformGraph : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1TransformGraph +{ + public static ref readonly Guid IID_ID2D1TransformGraph + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x38, 0x90, 0xD2, 0x13, + 0xE6, 0xC3, + 0x34, 0x40, + 0x90, + 0x81, + 0x13, + 0xB5, + 0x3A, + 0x41, + 0x79, + 0x92 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1TransformGraph)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetSingleTransformNode(ID2D1TransformNode* node) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), node); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult AddNode(ID2D1TransformNode* node) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), node); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult RemoveNode(ID2D1TransformNode* node) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), node); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetOutputNode(ID2D1TransformNode* node) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), node); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult ConnectNode(ID2D1TransformNode* fromNode, ID2D1TransformNode* toNode, uint toNodeInputIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), fromNode, toNode, toNodeInputIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult ConnectToEffectInput(uint toEffectInputIndex, ID2D1TransformNode* node, uint toNodeInputIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), toEffectInputIndex, node, toNodeInputIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void Clear() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetPassthroughGraph(uint effectInputIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1TransformGraph*)Unsafe.AsPointer(ref this), effectInputIndex); + } +} + +/// +/// ID2D1Transform +[Guid("ef1a287d-342a-4f76-8fdb-da0d6ea9f92b")] +[NativeTypeName("struct ID2D1Transform : ID2D1TransformNode")] +[NativeInheritance("ID2D1TransformNode")] +public unsafe partial struct ID2D1Transform +{ + public static ref readonly Guid IID_ID2D1Transform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x7D, 0x28, 0x1A, 0xEF, + 0x2A, 0x34, + 0x76, 0x4F, + 0x8F, + 0xDB, + 0xDA, + 0x0D, + 0x6E, + 0xA9, + 0xF9, + 0x2B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Transform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Transform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult MapOutputRectToInputRects(RawRect* outputRect, RawRect* inputRects, uint inputRectsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Transform*)Unsafe.AsPointer(ref this), outputRect, inputRects, inputRectsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult MapInputRectsToOutputRect(RawRect* inputRects, RawRect* inputOpaqueSubRects, uint inputRectCount, RawRect* outputRect, RawRect* outputOpaqueSubRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Transform*)Unsafe.AsPointer(ref this), inputRects, inputOpaqueSubRects, inputRectCount, outputRect, outputOpaqueSubRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult MapInvalidRect(uint inputIndex, RawRect* invalidInputRect, RawRect* invalidOutputRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Transform*)Unsafe.AsPointer(ref this), inputIndex, invalidInputRect, invalidOutputRect); + } +} + +/// +/// ID2D1DrawTransform +[Guid("36bfdcb6-9739-435d-a30d-a653beff6a6f")] +[NativeTypeName("struct ID2D1DrawTransform : ID2D1Transform")] +[NativeInheritance("ID2D1Transform")] +public unsafe partial struct ID2D1DrawTransform +{ + public static ref readonly Guid IID_ID2D1DrawTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xB6, 0xDC, 0xBF, 0x36, + 0x39, 0x97, + 0x5D, 0x43, + 0xA3, + 0x0D, + 0xA6, + 0x53, + 0xBE, + 0xFF, + 0x6A, + 0x6F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DrawTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult MapOutputRectToInputRects(RawRect* outputRect, RawRect* inputRects, uint inputRectsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DrawTransform*)Unsafe.AsPointer(ref this), outputRect, inputRects, inputRectsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult MapInputRectsToOutputRect(RawRect* inputRects, RawRect* inputOpaqueSubRects, uint inputRectCount, RawRect* outputRect, RawRect* outputOpaqueSubRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DrawTransform*)Unsafe.AsPointer(ref this), inputRects, inputOpaqueSubRects, inputRectCount, outputRect, outputOpaqueSubRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult MapInvalidRect(uint inputIndex, RawRect* invalidInputRect, RawRect* invalidOutputRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DrawTransform*)Unsafe.AsPointer(ref this), inputIndex, invalidInputRect, invalidOutputRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DrawTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetDrawInfo(ID2D1DrawInfo* drawInfo) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DrawTransform*)Unsafe.AsPointer(ref this), drawInfo); + } +} + +/// +/// ID2D1ComputeTransform +[Guid("0d85573c-01e3-4f7d-bfd9-0d60608bf3c3")] +[NativeTypeName("struct ID2D1ComputeTransform : ID2D1Transform")] +[NativeInheritance("ID2D1Transform")] +public unsafe partial struct ID2D1ComputeTransform +{ + public static ref readonly Guid IID_ID2D1ComputeTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x3C, 0x57, 0x85, 0x0D, + 0xE3, 0x01, + 0x7D, 0x4F, + 0xBF, + 0xD9, + 0x0D, + 0x60, + 0x60, + 0x8B, + 0xF3, + 0xC3 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ComputeTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult MapOutputRectToInputRects(RawRect* outputRect, RawRect* inputRects, uint inputRectsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this), outputRect, inputRects, inputRectsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult MapInputRectsToOutputRect(RawRect* inputRects, RawRect* inputOpaqueSubRects, uint inputRectCount, RawRect* outputRect, RawRect* outputOpaqueSubRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this), inputRects, inputOpaqueSubRects, inputRectCount, outputRect, outputOpaqueSubRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult MapInvalidRect(uint inputIndex, RawRect* invalidInputRect, RawRect* invalidOutputRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this), inputIndex, invalidInputRect, invalidOutputRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetComputeInfo(ID2D1ComputeInfo* computeInfo) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this), computeInfo); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CalculateThreadgroups(RawRect* outputRect, uint* dimensionX, uint* dimensionY, uint* dimensionZ) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1ComputeTransform*)Unsafe.AsPointer(ref this), outputRect, dimensionX, dimensionY, dimensionZ); + } +} + +/// +/// ID2D1AnalysisTransform +[Guid("0359dc30-95e6-4568-9055-27720d130e93")] +[NativeTypeName("struct ID2D1AnalysisTransform : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1AnalysisTransform +{ + public static ref readonly Guid IID_ID2D1AnalysisTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x30, 0xDC, 0x59, 0x03, + 0xE6, 0x95, + 0x68, 0x45, + 0x90, + 0x55, + 0x27, + 0x72, + 0x0D, + 0x13, + 0x0E, + 0x93 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1AnalysisTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult ProcessAnalysisResults(byte* analysisData, uint analysisDataCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1AnalysisTransform*)Unsafe.AsPointer(ref this), analysisData, analysisDataCount); + } +} + +/// +/// ID2D1SourceTransform +[Guid("db1800dd-0c34-4cf9-be90-31cc0a5653e1")] +[NativeTypeName("struct ID2D1SourceTransform : ID2D1Transform")] +[NativeInheritance("ID2D1Transform")] +public unsafe partial struct ID2D1SourceTransform +{ + public static ref readonly Guid IID_ID2D1SourceTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xDD, 0x00, 0x18, 0xDB, + 0x34, 0x0C, + 0xF9, 0x4C, + 0xBE, + 0x90, + 0x31, + 0xCC, + 0x0A, + 0x56, + 0x53, + 0xE1 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SourceTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult MapOutputRectToInputRects(RawRect* outputRect, RawRect* inputRects, uint inputRectsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this), outputRect, inputRects, inputRectsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult MapInputRectsToOutputRect(RawRect* inputRects, RawRect* inputOpaqueSubRects, uint inputRectCount, RawRect* outputRect, RawRect* outputOpaqueSubRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this), inputRects, inputOpaqueSubRects, inputRectCount, outputRect, outputOpaqueSubRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult MapInvalidRect(uint inputIndex, RawRect* invalidInputRect, RawRect* invalidOutputRect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this), inputIndex, invalidInputRect, invalidOutputRect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetRenderInfo(ID2D1RenderInfo* renderInfo) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this), renderInfo); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult Draw(ID2D1Bitmap1* target, RawRect* drawRect, Common.Point2u* targetOrigin) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SourceTransform*)Unsafe.AsPointer(ref this), target, drawRect, targetOrigin); + } +} + +/// +/// ID2D1ConcreteTransform +[Guid("1a799d8a-69f7-4e4c-9fed-437ccc6684cc")] +[NativeTypeName("struct ID2D1ConcreteTransform : ID2D1TransformNode")] +[NativeInheritance("ID2D1TransformNode")] +public unsafe partial struct ID2D1ConcreteTransform +{ + public static ref readonly Guid IID_ID2D1ConcreteTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x8A, 0x9D, 0x79, 0x1A, + 0xF7, 0x69, + 0x4C, 0x4E, + 0x9F, + 0xED, + 0x43, + 0x7C, + 0xCC, + 0x66, + 0x84, + 0xCC + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ConcreteTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ConcreteTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ConcreteTransform*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ConcreteTransform*)Unsafe.AsPointer(ref this), isCached); + } +} + +/// +/// ID2D1BlendTransform +[Guid("63ac0b32-ba44-450f-8806-7f4ca1ff2f1b")] +[NativeTypeName("struct ID2D1BlendTransform : ID2D1ConcreteTransform")] +[NativeInheritance("ID2D1ConcreteTransform")] +public unsafe partial struct ID2D1BlendTransform +{ + public static ref readonly Guid IID_ID2D1BlendTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x32, 0x0B, 0xAC, 0x63, + 0x44, 0xBA, + 0x0F, 0x45, + 0x88, + 0x06, + 0x7F, + 0x4C, + 0xA1, + 0xFF, + 0x2F, + 0x1B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BlendTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BlendTransform*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BlendTransform*)Unsafe.AsPointer(ref this), isCached); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BlendTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetDescription(BlendDescription* description) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1BlendTransform*)Unsafe.AsPointer(ref this), description); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetDescription(BlendDescription* description) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1BlendTransform*)Unsafe.AsPointer(ref this), description); + } +} + +/// +/// ID2D1BorderTransform +[Guid("4998735c-3a19-473c-9781-656847e3a347")] +[NativeTypeName("struct ID2D1BorderTransform : ID2D1ConcreteTransform")] +[NativeInheritance("ID2D1ConcreteTransform")] +public unsafe partial struct ID2D1BorderTransform +{ + public static ref readonly Guid IID_ID2D1BorderTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x5C, 0x73, 0x98, 0x49, + 0x19, 0x3A, + 0x3C, 0x47, + 0x97, + 0x81, + 0x65, + 0x68, + 0x47, + 0xE3, + 0xA3, + 0x47 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BorderTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetOutputBuffer(BufferPrecision bufferPrecision, ChannelDepth channelDepth) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this), bufferPrecision, channelDepth); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetCached(Bool32 isCached) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this), isCached); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetExtendModeX(ExtendMode extendMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this), extendMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void SetExtendModeY(ExtendMode extendMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this), extendMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public Graphics.Direct2D.ExtendMode GetExtendModeX() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Graphics.Direct2D.ExtendMode GetExtendModeY() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1BorderTransform*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1OffsetTransform +[Guid("3fe6adea-7643-4f53-bd14-a0ce63f24042")] +[NativeTypeName("struct ID2D1OffsetTransform : ID2D1TransformNode")] +[NativeInheritance("ID2D1TransformNode")] +public unsafe partial struct ID2D1OffsetTransform +{ + public static ref readonly Guid IID_ID2D1OffsetTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xEA, 0xAD, 0xE6, 0x3F, + 0x43, 0x76, + 0x53, 0x4F, + 0xBD, + 0x14, + 0xA0, + 0xCE, + 0x63, + 0xF2, + 0x40, + 0x42 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1OffsetTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1OffsetTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetOffset(System.Drawing.Point* offset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1OffsetTransform*)Unsafe.AsPointer(ref this), offset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public System.Drawing.Point GetOffset() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1OffsetTransform*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1BoundsAdjustmentTransform +[Guid("90f732e2-5092-4606-a819-8651970baccd")] +[NativeTypeName("struct ID2D1BoundsAdjustmentTransform : ID2D1TransformNode")] +[NativeInheritance("ID2D1TransformNode")] +public unsafe partial struct ID2D1BoundsAdjustmentTransform +{ + public static ref readonly Guid IID_ID2D1BoundsAdjustmentTransform + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE2, 0x32, 0xF7, 0x90, + 0x92, 0x50, + 0x06, 0x46, + 0xA8, + 0x19, + 0x86, + 0x51, + 0x97, + 0x0B, + 0xAC, + 0xCD + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1BoundsAdjustmentTransform)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public uint GetInputCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1BoundsAdjustmentTransform*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetOutputBounds(RawRect* outputBounds) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1BoundsAdjustmentTransform*)Unsafe.AsPointer(ref this), outputBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetOutputBounds(RawRect* outputBounds) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1BoundsAdjustmentTransform*)Unsafe.AsPointer(ref this), outputBounds); + } +} + +/// +/// ID2D1EffectImpl +[Guid("a248fd3f-3e6c-4e63-9f03-7f68ecc91db9")] +[NativeTypeName("struct ID2D1EffectImpl : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1EffectImpl +{ + public static ref readonly Guid IID_ID2D1EffectImpl + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x3F, 0xFD, 0x48, 0xA2, + 0x6C, 0x3E, + 0x63, 0x4E, + 0x9F, + 0x03, + 0x7F, + 0x68, + 0xEC, + 0xC9, + 0x1D, + 0xB9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1EffectImpl)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult Initialize(ID2D1EffectContext* effectContext, ID2D1TransformGraph* transformGraph) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1EffectImpl*)Unsafe.AsPointer(ref this), effectContext, transformGraph); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult PrepareForRender(ChangeType changeType) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1EffectImpl*)Unsafe.AsPointer(ref this), changeType); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult SetGraph(ID2D1TransformGraph* transformGraph) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1EffectImpl*)Unsafe.AsPointer(ref this), transformGraph); + } +} + +/// +/// ID2D1EffectContext +[Guid("3d9f916b-27dc-4ad7-b4f1-64945340f563")] +[NativeTypeName("struct ID2D1EffectContext : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct ID2D1EffectContext +{ + public static ref readonly Guid IID_ID2D1EffectContext + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x6B, 0x91, 0x9F, 0x3D, + 0xDC, 0x27, + 0xD7, 0x4A, + 0xB4, + 0xF1, + 0x64, + 0x94, + 0x53, + 0x40, + 0xF5, + 0x63 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1EffectContext)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetMaximumSupportedFeatureLevel(Graphics.Direct3D.FeatureLevel* featureLevels, uint featureLevelsCount, Graphics.Direct3D.FeatureLevel* maximumSupportedFeatureLevel) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), featureLevels, featureLevelsCount, maximumSupportedFeatureLevel); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateTransformNodeFromEffect(ID2D1Effect* effect, ID2D1TransformNode** transformNode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), effect, transformNode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateBlendTransform(uint numInputs, BlendDescription* blendDescription, ID2D1BlendTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), numInputs, blendDescription, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateBorderTransform(ExtendMode extendModeX, ExtendMode extendModeY, ID2D1BorderTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), extendModeX, extendModeY, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateOffsetTransform(System.Drawing.Point* offset, ID2D1OffsetTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), offset, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateBoundsAdjustmentTransform(RawRect* outputRectangle, ID2D1BoundsAdjustmentTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), outputRectangle, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult LoadPixelShader(Guid* shaderId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), shaderId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult LoadVertexShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult LoadComputeShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public Bool32 IsShaderLoaded(Guid* shaderId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), shaderId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateResourceTexture(Guid* resourceId, ResourceTextureProperties* resourceTextureProperties, byte* data, uint* strides, uint dataSize, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), resourceId, resourceTextureProperties, data, strides, dataSize, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult FindResourceTexture(Guid* resourceId, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), resourceId, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateVertexBuffer(VertexBufferProperties* vertexBufferProperties, Guid* resourceId, CustomVertexBufferProperties* customVertexBufferProperties, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), vertexBufferProperties, resourceId, customVertexBufferProperties, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult FindVertexBuffer(Guid* resourceId, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), resourceId, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CheckFeatureSupport(Feature feature, void* featureSupportData, uint featureSupportDataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), feature, featureSupportData, featureSupportDataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1EffectContext*)Unsafe.AsPointer(ref this), bufferPrecision); + } +} + +/// +/// ID2D1GeometryRealization +[Guid("a16907d7-bc02-4801-99e8-8cf7f485f774")] +[NativeTypeName("struct ID2D1GeometryRealization : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1GeometryRealization +{ + public static ref readonly Guid IID_ID2D1GeometryRealization + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD7, 0x07, 0x69, 0xA1, + 0x02, 0xBC, + 0x01, 0x48, + 0x99, + 0xE8, + 0x8C, + 0xF7, + 0xF4, + 0x85, + 0xF7, + 0x74 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GeometryRealization)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GeometryRealization*)Unsafe.AsPointer(ref this), factory); + } +} + +/// +/// ID2D1DeviceContext1 +[Guid("d37f57e4-6908-459f-a199-e72f24f79987")] +[NativeTypeName("struct ID2D1DeviceContext1 : ID2D1DeviceContext")] +[NativeInheritance("ID2D1DeviceContext")] +public unsafe partial struct ID2D1DeviceContext1 +{ + public static ref readonly Guid IID_ID2D1DeviceContext1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE4, 0x57, 0x7F, 0xD3, + 0x08, 0x69, + 0x9F, 0x45, + 0xA1, + 0x99, + 0xE7, + 0x2F, + 0x24, + 0xF7, + 0x99, + 0x87 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext1*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } +} + +/// +/// ID2D1Device1 +[Guid("d21768e1-23a4-4823-a14b-7c3eba85d658")] +[NativeTypeName("struct ID2D1Device1 : ID2D1Device")] +[NativeInheritance("ID2D1Device")] +public unsafe partial struct ID2D1Device1 +{ + public static ref readonly Guid IID_ID2D1Device1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE1, 0x68, 0x17, 0xD2, + 0xA4, 0x23, + 0x23, 0x48, + 0xA1, + 0x4B, + 0x7C, + 0x3E, + 0xBA, + 0x85, + 0xD6, + 0x58 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device1*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device1*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device1*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device1*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device1*)Unsafe.AsPointer(ref this), options, deviceContext1); + } +} + +/// +/// ID2D1Factory2 +[Guid("94f81a73-9212-4376-9c58-b16a3a0d3992")] +[NativeTypeName("struct ID2D1Factory2 : ID2D1Factory1")] +[NativeInheritance("ID2D1Factory1")] +public unsafe partial struct ID2D1Factory2 +{ + public static ref readonly Guid IID_ID2D1Factory2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x73, 0x1A, 0xF8, 0x94, + 0x12, 0x92, + 0x76, 0x43, + 0x9C, + 0x58, + 0xB1, + 0x6A, + 0x3A, + 0x0D, + 0x39, + 0x92 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[8]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[9]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory2*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } +} + +/// +/// ID2D1CommandSink1 +[Guid("9eb767fd-4269-4467-b8c2-eb30cb305743")] +[NativeTypeName("struct ID2D1CommandSink1 : ID2D1CommandSink")] +[NativeInheritance("ID2D1CommandSink")] +public unsafe partial struct ID2D1CommandSink1 +{ + public static ref readonly Guid IID_ID2D1CommandSink1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xFD, 0x67, 0xB7, 0x9E, + 0x69, 0x42, + 0x67, 0x44, + 0xB8, + 0xC2, + 0xEB, + 0x30, + 0xCB, + 0x30, + 0x57, + 0x43 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult SetPrimitiveBlend1(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1CommandSink1*)Unsafe.AsPointer(ref this), primitiveBlend); + } +} + +/// +/// ID2D1SvgAttribute +[Guid("c9cdb0dd-f8c9-4e70-b7c2-301c80292c5e")] +[NativeTypeName("struct ID2D1SvgAttribute : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1SvgAttribute +{ + public static ref readonly Guid IID_ID2D1SvgAttribute + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xDD, 0xB0, 0xCD, 0xC9, + 0xC9, 0xF8, + 0x70, 0x4E, + 0xB7, + 0xC2, + 0x30, + 0x1C, + 0x80, + 0x29, + 0x2C, + 0x5E + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgAttribute)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgAttribute*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetElement(ID2D1SvgElement** element) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgAttribute*)Unsafe.AsPointer(ref this), element); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult Clone(ID2D1SvgAttribute** attribute) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgAttribute*)Unsafe.AsPointer(ref this), attribute); + } +} + +/// +/// ID2D1SvgPaint +[Guid("d59bab0a-68a2-455b-a5dc-9eb2854e2490")] +[NativeTypeName("struct ID2D1SvgPaint : ID2D1SvgAttribute")] +[NativeInheritance("ID2D1SvgAttribute")] +public unsafe partial struct ID2D1SvgPaint +{ + public static ref readonly Guid IID_ID2D1SvgPaint + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x0A, 0xAB, 0x9B, 0xD5, + 0xA2, 0x68, + 0x5B, 0x45, + 0xA5, + 0xDC, + 0x9E, + 0xB2, + 0x85, + 0x4E, + 0x24, + 0x90 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgPaint)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetElement(ID2D1SvgElement** element) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), element); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Clone(ID2D1SvgAttribute** attribute) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), attribute); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetPaintType(SvgPaintType paintType) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), paintType); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.SvgPaintType GetPaintType() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetColor(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void GetColor(Common.ColorF* color) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetId(ushort* id) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), id); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetId(ushort* id, uint idCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this), id, idCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public uint GetIdLength() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1SvgPaint*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1SvgStrokeDashArray +[Guid("f1c0ca52-92a3-4f00-b4ce-f35691efd9d9")] +[NativeTypeName("struct ID2D1SvgStrokeDashArray : ID2D1SvgAttribute")] +[NativeInheritance("ID2D1SvgAttribute")] +public unsafe partial struct ID2D1SvgStrokeDashArray +{ + public static ref readonly Guid IID_ID2D1SvgStrokeDashArray + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x52, 0xCA, 0xC0, 0xF1, + 0xA3, 0x92, + 0x00, 0x4F, + 0xB4, + 0xCE, + 0xF3, + 0x56, + 0x91, + 0xEF, + 0xD9, + 0xD9 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgStrokeDashArray)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetElement(ID2D1SvgElement** element) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), element); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Clone(ID2D1SvgAttribute** attribute) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), attribute); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult RemoveDashesAtEnd(uint dashesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), dashesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult UpdateDashes(SvgLength* dashes, uint dashesCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), dashes, dashesCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult UpdateDashes(float* dashes, uint dashesCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), dashes, dashesCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult GetDashes(SvgLength* dashes, uint dashesCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), dashes, dashesCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult GetDashes(float* dashes, uint dashesCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this), dashes, dashesCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public uint GetDashesCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1SvgStrokeDashArray*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1SvgPointCollection +[Guid("9dbe4c0d-3572-4dd9-9825-5530813bb712")] +[NativeTypeName("struct ID2D1SvgPointCollection : ID2D1SvgAttribute")] +[NativeInheritance("ID2D1SvgAttribute")] +public unsafe partial struct ID2D1SvgPointCollection +{ + public static ref readonly Guid IID_ID2D1SvgPointCollection + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x0D, 0x4C, 0xBE, 0x9D, + 0x72, 0x35, + 0xD9, 0x4D, + 0x98, + 0x25, + 0x55, + 0x30, + 0x81, + 0x3B, + 0xB7, + 0x12 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgPointCollection)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetElement(ID2D1SvgElement** element) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), element); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Clone(ID2D1SvgAttribute** attribute) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), attribute); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult RemovePointsAtEnd(uint pointsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), pointsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult UpdatePoints(System.Drawing.PointF** points, uint pointsCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), points, pointsCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult GetPoints(System.Drawing.PointF** points, uint pointsCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this), points, pointsCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public uint GetPointsCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgPointCollection*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1SvgPathData +[Guid("c095e4f4-bb98-43d6-9745-4d1b84ec9888")] +[NativeTypeName("struct ID2D1SvgPathData : ID2D1SvgAttribute")] +[NativeInheritance("ID2D1SvgAttribute")] +public unsafe partial struct ID2D1SvgPathData +{ + public static ref readonly Guid IID_ID2D1SvgPathData + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xF4, 0xE4, 0x95, 0xC0, + 0x98, 0xBB, + 0xD6, 0x43, + 0x97, + 0x45, + 0x4D, + 0x1B, + 0x84, + 0xEC, + 0x98, + 0x88 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgPathData)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetElement(ID2D1SvgElement** element) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), element); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult Clone(ID2D1SvgAttribute** attribute) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), attribute); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult RemoveSegmentDataAtEnd(uint dataCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), dataCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult UpdateSegmentData(float* data, uint dataCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), data, dataCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult GetSegmentData(float* data, uint dataCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), data, dataCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public uint GetSegmentDataCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult RemoveCommandsAtEnd(uint commandsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), commandsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult UpdateCommands(SvgPathCommand* commands, uint commandsCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), commands, commandsCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult GetCommands(SvgPathCommand* commands, uint commandsCount, uint startIndex) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), commands, commandsCount, startIndex); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public uint GetCommandsCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreatePathGeometry(Common.FillMode fillMode, ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1SvgPathData*)Unsafe.AsPointer(ref this), fillMode, pathGeometry); + } +} + +/// +/// ID2D1SvgElement +[Guid("ac7b67a6-183e-49c1-a823-0ebe40b0db29")] +[NativeTypeName("struct ID2D1SvgElement : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1SvgElement +{ + public static ref readonly Guid IID_ID2D1SvgElement + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA6, 0x67, 0x7B, 0xAC, + 0x3E, 0x18, + 0xC1, 0x49, + 0xA8, + 0x23, + 0x0E, + 0xBE, + 0x40, + 0xB0, + 0xDB, + 0x29 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgElement)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetDocument(ID2D1SvgDocument** document) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), document); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetTagName(ushort* name, uint nameCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, nameCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public uint GetTagNameLength() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Bool32 IsTextContent() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void GetParent(ID2D1SvgElement** parent) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), parent); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public Bool32 HasChildren() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void GetFirstChild(ID2D1SvgElement** child) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), child); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void GetLastChild(ID2D1SvgElement** child) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), child); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult GetPreviousChild(ID2D1SvgElement* referenceChild, ID2D1SvgElement** previousChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), referenceChild, previousChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetNextChild(ID2D1SvgElement* referenceChild, ID2D1SvgElement** nextChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), referenceChild, nextChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult InsertChildBefore(ID2D1SvgElement* newChild, ID2D1SvgElement* referenceChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), newChild, referenceChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult AppendChild(ID2D1SvgElement* newChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), newChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult ReplaceChild(ID2D1SvgElement* newChild, ID2D1SvgElement* oldChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), newChild, oldChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult RemoveChild(ID2D1SvgElement* oldChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), oldChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateChild(ushort* tagName, ID2D1SvgElement** newChild) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), tagName, newChild); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public Bool32 IsAttributeSpecified(ushort* name, Bool32* inherited) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, inherited); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public uint GetSpecifiedAttributeCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult GetSpecifiedAttributeName(uint index, ushort* name, uint nameCount, Bool32* inherited) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), index, name, nameCount, inherited); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult GetSpecifiedAttributeNameLength(uint index, uint* nameLength, Bool32* inherited) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), index, nameLength, inherited); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult RemoveAttribute(ushort* name) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult SetTextValue(ushort* name, uint nameCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, nameCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult GetTextValue(ushort* name, uint nameCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, nameCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public uint GetTextValueLength() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult SetAttributeValue(ushort* name, ID2D1SvgAttribute* value) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, value); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult SetAttributeValue(ushort* name, SvgAttributePodType type, void* value, uint valueSizeInBytes) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, type, value, valueSizeInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult SetAttributeValue(ushort* name, SvgAttributeStringType type, ushort* value) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, type, value); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult GetAttributeValue(ushort* name, Guid* riid, void** value) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, riid, value); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult GetAttributeValue(ushort* name, SvgAttributePodType type, void* value, uint valueSizeInBytes) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, type, value, valueSizeInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult GetAttributeValue(ushort* name, SvgAttributeStringType type, ushort* value, uint valueCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, type, value, valueCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult GetAttributeValueLength(ushort* name, SvgAttributeStringType type, uint* valueLength) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1SvgElement*)Unsafe.AsPointer(ref this), name, type, valueLength); + } +} + +/// +/// ID2D1SvgDocument +[Guid("86b88e4d-afa4-4d7b-88e4-68a51c4a0aec")] +[NativeTypeName("struct ID2D1SvgDocument : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1SvgDocument +{ + public static ref readonly Guid IID_ID2D1SvgDocument + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x4D, 0x8E, 0xB8, 0x86, + 0xA4, 0xAF, + 0x7B, 0x4D, + 0x88, + 0xE4, + 0x68, + 0xA5, + 0x1C, + 0x4A, + 0x0A, + 0xEC + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgDocument)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetViewportSize(System.Drawing.SizeF* viewportSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), viewportSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public System.Drawing.SizeF GetViewportSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetRoot(ID2D1SvgElement* root) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), root); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void GetRoot(ID2D1SvgElement** root) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), root); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult FindElementById(ushort* id, ID2D1SvgElement** svgElement) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), id, svgElement); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult Serialize(Com.IStream* outputXmlStream, ID2D1SvgElement* subtree) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), outputXmlStream, subtree); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult Deserialize(Com.IStream* inputXmlStream, ID2D1SvgElement** subtree) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), inputXmlStream, subtree); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreatePaint(SvgPaintType paintType, Common.ColorF* color, ushort* id, ID2D1SvgPaint** paint) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), paintType, color, id, paint); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateStrokeDashArray(SvgLength* dashes, uint dashesCount, ID2D1SvgStrokeDashArray** strokeDashArray) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), dashes, dashesCount, strokeDashArray); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreatePointCollection(System.Drawing.PointF** points, uint pointsCount, ID2D1SvgPointCollection** pointCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), points, pointsCount, pointCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreatePathData(float* segmentData, uint segmentDataCount, SvgPathCommand* commands, uint commandsCount, ID2D1SvgPathData** pathData) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1SvgDocument*)Unsafe.AsPointer(ref this), segmentData, segmentDataCount, commands, commandsCount, pathData); + } +} + +/// +/// ID2D1InkStyle +[Guid("bae8b344-23fc-4071-8cb5-d05d6f073848")] +[NativeTypeName("struct ID2D1InkStyle : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1InkStyle +{ + public static ref readonly Guid IID_ID2D1InkStyle + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x44, 0xB3, 0xE8, 0xBA, + 0xFC, 0x23, + 0x71, 0x40, + 0x8C, + 0xB5, + 0xD0, + 0x5D, + 0x6F, + 0x07, + 0x38, + 0x48 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1InkStyle)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1InkStyle*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetNibTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1InkStyle*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetNibTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1InkStyle*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void SetNibShape(InkNibShape nibShape) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1InkStyle*)Unsafe.AsPointer(ref this), nibShape); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.InkNibShape GetNibShape() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1InkStyle*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1Ink +[Guid("b499923b-7029-478f-a8b3-432c7c5f5312")] +[NativeTypeName("struct ID2D1Ink : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1Ink +{ + public static ref readonly Guid IID_ID2D1Ink + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x3B, 0x92, 0x99, 0xB4, + 0x29, 0x70, + 0x8F, 0x47, + 0xA8, + 0xB3, + 0x43, + 0x2C, + 0x7C, + 0x5F, + 0x53, + 0x12 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Ink)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Ink*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetStartPoint(InkPoint* startPoint) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startPoint); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public Graphics.Direct2D.InkPoint GetStartPoint() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Ink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult AddSegments(InkBezierSegment* segments, uint segmentsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segments, segmentsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult RemoveSegmentsAtEnd(uint segmentsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segmentsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startSegment, segments, segmentsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetSegmentAtEnd(InkBezierSegment* segment) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Ink*)Unsafe.AsPointer(ref this), segment); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public uint GetSegmentCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Ink*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetSegments(uint startSegment, InkBezierSegment* segments, uint segmentsCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Ink*)Unsafe.AsPointer(ref this), startSegment, segments, segmentsCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult StreamAsGeometry(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, float flatteningTolerance, Common.ID2D1SimplifiedGeometrySink* geometrySink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Ink*)Unsafe.AsPointer(ref this), inkStyle, worldTransform, flatteningTolerance, geometrySink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetBounds(ID2D1InkStyle* inkStyle, Matrix3x2* worldTransform, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Ink*)Unsafe.AsPointer(ref this), inkStyle, worldTransform, bounds); + } +} + +/// +/// ID2D1GradientMesh +[Guid("f292e401-c050-4cde-83d7-04962d3b23c2")] +[NativeTypeName("struct ID2D1GradientMesh : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1GradientMesh +{ + public static ref readonly Guid IID_ID2D1GradientMesh + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x01, 0xE4, 0x92, 0xF2, + 0x50, 0xC0, + 0xDE, 0x4C, + 0x83, + 0xD7, + 0x04, + 0x96, + 0x2D, + 0x3B, + 0x23, + 0xC2 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GradientMesh)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GradientMesh*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public uint GetPatchCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GradientMesh*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetPatches(uint startIndex, GradientMeshPatch* patches, uint patchesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GradientMesh*)Unsafe.AsPointer(ref this), startIndex, patches, patchesCount); + } +} + +/// +/// ID2D1ImageSource +[Guid("c9b664e5-74a1-4378-9ac2-eefc37a3f4d8")] +[NativeTypeName("struct ID2D1ImageSource : ID2D1Image")] +[NativeInheritance("ID2D1Image")] +public unsafe partial struct ID2D1ImageSource +{ + public static ref readonly Guid IID_ID2D1ImageSource + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE5, 0x64, 0xB6, 0xC9, + 0xA1, 0x74, + 0x78, 0x43, + 0x9A, + 0xC2, + 0xEE, + 0xFC, + 0x37, + 0xA3, + 0xF4, + 0xD8 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ImageSource)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ImageSource*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult OfferResources() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ImageSource*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult TryReclaimResources(Bool32* resourcesDiscarded) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ImageSource*)Unsafe.AsPointer(ref this), resourcesDiscarded); + } +} + +/// +/// ID2D1ImageSourceFromWic +[Guid("77395441-1c8f-4555-8683-f50dab0fe792")] +[NativeTypeName("struct ID2D1ImageSourceFromWic : ID2D1ImageSource")] +[NativeInheritance("ID2D1ImageSource")] +public unsafe partial struct ID2D1ImageSourceFromWic +{ + public static ref readonly Guid IID_ID2D1ImageSourceFromWic + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x41, 0x54, 0x39, 0x77, + 0x8F, 0x1C, + 0x55, 0x45, + 0x86, + 0x83, + 0xF5, + 0x0D, + 0xAB, + 0x0F, + 0xE7, + 0x92 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ImageSourceFromWic)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult OfferResources() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult TryReclaimResources(Bool32* resourcesDiscarded) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this), resourcesDiscarded); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult EnsureCached(Common.RectU* rectangleToFill) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this), rectangleToFill); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult TrimCache(Common.RectU* rectangleToPreserve) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this), rectangleToPreserve); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void GetSource(Graphics.Imaging.IWICBitmapSource** wicBitmapSource) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1ImageSourceFromWic*)Unsafe.AsPointer(ref this), wicBitmapSource); + } +} + +/// +/// ID2D1TransformedImageSource +[Guid("7f1f79e5-2796-416c-8f55-700f911445e5")] +[NativeTypeName("struct ID2D1TransformedImageSource : ID2D1Image")] +[NativeInheritance("ID2D1Image")] +public unsafe partial struct ID2D1TransformedImageSource +{ + public static ref readonly Guid IID_ID2D1TransformedImageSource + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE5, 0x79, 0x1F, 0x7F, + 0x96, 0x27, + 0x6C, 0x41, + 0x8F, + 0x55, + 0x70, + 0x0F, + 0x91, + 0x14, + 0x45, + 0xE5 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1TransformedImageSource)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1TransformedImageSource*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetSource(ID2D1ImageSource** imageSource) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1TransformedImageSource*)Unsafe.AsPointer(ref this), imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetProperties(TransformedImageSourceProperties* properties) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1TransformedImageSource*)Unsafe.AsPointer(ref this), properties); + } +} + +/// +/// ID2D1LookupTable3D +[Guid("53dd9855-a3b0-4d5b-82e1-26e25c5e5797")] +[NativeTypeName("struct ID2D1LookupTable3D : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1LookupTable3D +{ + public static ref readonly Guid IID_ID2D1LookupTable3D + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x55, 0x98, 0xDD, 0x53, + 0xB0, 0xA3, + 0x5B, 0x4D, + 0x82, + 0xE1, + 0x26, + 0xE2, + 0x5C, + 0x5E, + 0x57, + 0x97 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1LookupTable3D)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1LookupTable3D*)Unsafe.AsPointer(ref this), factory); + } +} + +/// +/// ID2D1DeviceContext2 +[Guid("394ea6a3-0c34-4321-950b-6ca20f0be6c7")] +[NativeTypeName("struct ID2D1DeviceContext2 : ID2D1DeviceContext1")] +[NativeInheritance("ID2D1DeviceContext1")] +public unsafe partial struct ID2D1DeviceContext2 +{ + public static ref readonly Guid IID_ID2D1DeviceContext2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA3, 0xA6, 0x4E, 0x39, + 0x34, 0x0C, + 0x21, 0x43, + 0x95, + 0x0B, + 0x6C, + 0xA2, + 0x0F, + 0x0B, + 0xE6, + 0xC7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(95)] + public HResult CreateInk(InkPoint* startPoint, ID2D1Ink** ink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[95]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), startPoint, ink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(96)] + public HResult CreateInkStyle(InkStyleProperties* inkStyleProperties, ID2D1InkStyle** inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[96]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), inkStyleProperties, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(97)] + public HResult CreateGradientMesh(GradientMeshPatch* patches, uint patchesCount, ID2D1GradientMesh** gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[97]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), patches, patchesCount, gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(98)] + public HResult CreateImageSourceFromWic(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, ImageSourceLoadingOptions loadingOptions, Common.AlphaMode alphaMode, ID2D1ImageSourceFromWic** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[98]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), wicBitmapSource, loadingOptions, alphaMode, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(99)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[99]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(100)] + public HResult CreateImageSourceFromDxgi(Graphics.Dxgi.IDXGISurface** surfaces, uint surfaceCount, Graphics.Dxgi.Common.ColorSpaceType colorSpace, ImageSourceFromDxgiOptions options, ID2D1ImageSource** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[100]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), surfaces, surfaceCount, colorSpace, options, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(101)] + public HResult GetGradientMeshWorldBounds(ID2D1GradientMesh* gradientMesh, Common.RectF* pBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[101]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), gradientMesh, pBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(102)] + public void DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[102]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(103)] + public void DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[103]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(104)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[104]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(105)] + public HResult CreateTransformedImageSource(ID2D1ImageSource* imageSource, TransformedImageSourceProperties* properties, ID2D1TransformedImageSource** transformedImageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[105]))((ID2D1DeviceContext2*)Unsafe.AsPointer(ref this), imageSource, properties, transformedImageSource); + } +} + +/// +/// ID2D1Device2 +[Guid("a44472e1-8dfb-4e60-8492-6e2861c9ca8b")] +[NativeTypeName("struct ID2D1Device2 : ID2D1Device1")] +[NativeInheritance("ID2D1Device1")] +public unsafe partial struct ID2D1Device2 +{ + public static ref readonly Guid IID_ID2D1Device2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE1, 0x72, 0x44, 0xA4, + 0xFB, 0x8D, + 0x60, 0x4E, + 0x84, + 0x92, + 0x6E, + 0x28, + 0x61, + 0xC9, + 0xCA, + 0x8B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device2*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device2*)Unsafe.AsPointer(ref this), options, deviceContext1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device2*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device2*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device2*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device2*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext2** deviceContext2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Device2*)Unsafe.AsPointer(ref this), options, deviceContext2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void FlushDeviceContexts(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Device2*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetDxgiDevice(Graphics.Dxgi.IDXGIDevice** dxgiDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Device2*)Unsafe.AsPointer(ref this), dxgiDevice); + } +} + +/// +/// ID2D1Factory3 +[Guid("0869759f-4f00-413f-b03e-2bda45404d0f")] +[NativeTypeName("struct ID2D1Factory3 : ID2D1Factory2")] +[NativeInheritance("ID2D1Factory2")] +public unsafe partial struct ID2D1Factory3 +{ + public static ref readonly Guid IID_ID2D1Factory3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x9F, 0x75, 0x69, 0x08, + 0x00, 0x4F, + 0x3F, 0x41, + 0xB0, + 0x3E, + 0x2B, + 0xDA, + 0x45, + 0x40, + 0x4D, + 0x0F + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory3)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[9]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[10]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device2** d2dDevice2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1Factory3*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice2); + } +} + +/// +/// ID2D1CommandSink2 +[Guid("3bab440e-417e-47df-a2e2-bc0be6a00916")] +[NativeTypeName("struct ID2D1CommandSink2 : ID2D1CommandSink1")] +[NativeInheritance("ID2D1CommandSink1")] +public unsafe partial struct ID2D1CommandSink2 +{ + public static ref readonly Guid IID_ID2D1CommandSink2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x0E, 0x44, 0xAB, 0x3B, + 0x7E, 0x41, + 0xDF, 0x47, + 0xA2, + 0xE2, + 0xBC, + 0x0B, + 0xE6, + 0xA0, + 0x09, + 0x16 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetPrimitiveBlend1(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1CommandSink2*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } +} + +/// +/// ID2D1GdiMetafile1 +[Guid("2e69f9e8-dd3f-4bf9-95ba-c04f49d788df")] +[NativeTypeName("struct ID2D1GdiMetafile1 : ID2D1GdiMetafile")] +[NativeInheritance("ID2D1GdiMetafile")] +public unsafe partial struct ID2D1GdiMetafile1 +{ + public static ref readonly Guid IID_ID2D1GdiMetafile1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xE8, 0xF9, 0x69, 0x2E, + 0x3F, 0xDD, + 0xF9, 0x4B, + 0x95, + 0xBA, + 0xC0, + 0x4F, + 0x49, + 0xD7, + 0x88, + 0xDF + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GdiMetafile1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult Stream(ID2D1GdiMetafileSink* sink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GdiMetafile1*)Unsafe.AsPointer(ref this), sink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult GetBounds(Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GdiMetafile1*)Unsafe.AsPointer(ref this), bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1GdiMetafile1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetDpi(float* dpiX, float* dpiY) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1GdiMetafile1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult GetSourceBounds(Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1GdiMetafile1*)Unsafe.AsPointer(ref this), bounds); + } +} + +/// +/// ID2D1GdiMetafileSink1 +[Guid("fd0ecb6b-91e6-411e-8655-395e760f91b4")] +[NativeTypeName("struct ID2D1GdiMetafileSink1 : ID2D1GdiMetafileSink")] +[NativeInheritance("ID2D1GdiMetafileSink")] +public unsafe partial struct ID2D1GdiMetafileSink1 +{ + public static ref readonly Guid IID_ID2D1GdiMetafileSink1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x6B, 0xCB, 0x0E, 0xFD, + 0xE6, 0x91, + 0x1E, 0x41, + 0x86, + 0x55, + 0x39, + 0x5E, + 0x76, + 0x0F, + 0x91, + 0xB4 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1GdiMetafileSink1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult ProcessRecord(uint recordType, void* recordData, uint recordDataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1GdiMetafileSink1*)Unsafe.AsPointer(ref this), recordType, recordData, recordDataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult ProcessRecord(uint recordType, void* recordData, uint recordDataSize, uint flags) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1GdiMetafileSink1*)Unsafe.AsPointer(ref this), recordType, recordData, recordDataSize, flags); + } +} + +/// +/// ID2D1SpriteBatch +[Guid("4dc583bf-3a10-438a-8722-e9765224f1f1")] +[NativeTypeName("struct ID2D1SpriteBatch : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1SpriteBatch +{ + public static ref readonly Guid IID_ID2D1SpriteBatch + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xBF, 0x83, 0xC5, 0x4D, + 0x10, 0x3A, + 0x8A, 0x43, + 0x87, + 0x22, + 0xE9, + 0x76, + 0x52, + 0x24, + 0xF1, + 0xF1 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SpriteBatch)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult AddSprites(uint spriteCount, Common.RectF* destinationRectangles, Common.RectU* sourceRectangles, Common.ColorF* colors, Matrix3x2* transforms, uint destinationRectanglesStride, uint sourceRectanglesStride, uint colorsStride, uint transformsStride) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this), spriteCount, destinationRectangles, sourceRectangles, colors, transforms, destinationRectanglesStride, sourceRectanglesStride, colorsStride, transformsStride); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult SetSprites(uint startIndex, uint spriteCount, Common.RectF* destinationRectangles, Common.RectU* sourceRectangles, Common.ColorF* colors, Matrix3x2* transforms, uint destinationRectanglesStride, uint sourceRectanglesStride, uint colorsStride, uint transformsStride) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this), startIndex, spriteCount, destinationRectangles, sourceRectangles, colors, transforms, destinationRectanglesStride, sourceRectanglesStride, colorsStride, transformsStride); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetSprites(uint startIndex, uint spriteCount, Common.RectF* destinationRectangles, Common.RectU* sourceRectangles, Common.ColorF* colors, Matrix3x2** transforms) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this), startIndex, spriteCount, destinationRectangles, sourceRectangles, colors, transforms); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetSpriteCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void Clear() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SpriteBatch*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1DeviceContext3 +[Guid("235a7496-8351-414c-bcd4-6672ab2d8e00")] +[NativeTypeName("struct ID2D1DeviceContext3 : ID2D1DeviceContext2")] +[NativeInheritance("ID2D1DeviceContext2")] +public unsafe partial struct ID2D1DeviceContext3 +{ + public static ref readonly Guid IID_ID2D1DeviceContext3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x96, 0x74, 0x5A, 0x23, + 0x51, 0x83, + 0x4C, 0x41, + 0xBC, + 0xD4, + 0x66, + 0x72, + 0xAB, + 0x2D, + 0x8E, + 0x00 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext3)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateInk(InkPoint* startPoint, ID2D1Ink** ink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), startPoint, ink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateInkStyle(InkStyleProperties* inkStyleProperties, ID2D1InkStyle** inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), inkStyleProperties, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateGradientMesh(GradientMeshPatch* patches, uint patchesCount, ID2D1GradientMesh** gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), patches, patchesCount, gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateImageSourceFromWic(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, ImageSourceLoadingOptions loadingOptions, Common.AlphaMode alphaMode, ID2D1ImageSourceFromWic** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), wicBitmapSource, loadingOptions, alphaMode, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateImageSourceFromDxgi(Graphics.Dxgi.IDXGISurface** surfaces, uint surfaceCount, Graphics.Dxgi.Common.ColorSpaceType colorSpace, ImageSourceFromDxgiOptions options, ID2D1ImageSource** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), surfaces, surfaceCount, colorSpace, options, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult GetGradientMeshWorldBounds(ID2D1GradientMesh* gradientMesh, Common.RectF* pBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), gradientMesh, pBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateTransformedImageSource(ID2D1ImageSource* imageSource, TransformedImageSourceProperties* properties, ID2D1TransformedImageSource** transformedImageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), imageSource, properties, transformedImageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(95)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[95]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(96)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[96]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(97)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[97]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(98)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[98]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(99)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[99]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(100)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[100]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(101)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[101]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(102)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[102]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(103)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[103]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(104)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[104]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(105)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[105]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(106)] + public HResult CreateSpriteBatch(ID2D1SpriteBatch** spriteBatch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[106]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), spriteBatch); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(107)] + public void DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[107]))((ID2D1DeviceContext3*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } +} + +/// +/// ID2D1Device3 +[Guid("852f2087-802c-4037-ab60-ff2e7ee6fc01")] +[NativeTypeName("struct ID2D1Device3 : ID2D1Device2")] +[NativeInheritance("ID2D1Device2")] +public unsafe partial struct ID2D1Device3 +{ + public static ref readonly Guid IID_ID2D1Device3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x87, 0x20, 0x2F, 0x85, + 0x2C, 0x80, + 0x37, 0x40, + 0xAB, + 0x60, + 0xFF, + 0x2E, + 0x7E, + 0xE6, + 0xFC, + 0x01 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device3)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext2** deviceContext2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device3*)Unsafe.AsPointer(ref this), options, deviceContext2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void FlushDeviceContexts(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device3*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetDxgiDevice(Graphics.Dxgi.IDXGIDevice** dxgiDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device3*)Unsafe.AsPointer(ref this), dxgiDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device3*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device3*)Unsafe.AsPointer(ref this), options, deviceContext1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device3*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device3*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Device3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Device3*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Device3*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext3** deviceContext3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Device3*)Unsafe.AsPointer(ref this), options, deviceContext3); + } +} + +/// +/// ID2D1Factory4 +[Guid("bd4ec2d2-0662-4bee-ba8e-6f29f032e096")] +[NativeTypeName("struct ID2D1Factory4 : ID2D1Factory3")] +[NativeInheritance("ID2D1Factory3")] +public unsafe partial struct ID2D1Factory4 +{ + public static ref readonly Guid IID_ID2D1Factory4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD2, 0xC2, 0x4E, 0xBD, + 0x62, 0x06, + 0xEE, 0x4B, + 0xBA, + 0x8E, + 0x6F, + 0x29, + 0xF0, + 0x32, + 0xE0, + 0x96 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory4)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device2** d2dDevice2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[10]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[11]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device3** d2dDevice3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1Factory4*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice3); + } +} + +/// +/// ID2D1CommandSink3 +[Guid("18079135-4cf3-4868-bc8e-06067e6d242d")] +[NativeTypeName("struct ID2D1CommandSink3 : ID2D1CommandSink2")] +[NativeInheritance("ID2D1CommandSink2")] +public unsafe partial struct ID2D1CommandSink3 +{ + public static ref readonly Guid IID_ID2D1CommandSink3 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x35, 0x91, 0x07, 0x18, + 0xF3, 0x4C, + 0x68, 0x48, + 0xBC, + 0x8E, + 0x06, + 0x06, + 0x7E, + 0x6D, + 0x24, + 0x2D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink3)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetPrimitiveBlend1(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1CommandSink3*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } +} + +/// +/// ID2D1SvgGlyphStyle +[Guid("af671749-d241-4db8-8e41-dcc2e5c1a438")] +[NativeTypeName("struct ID2D1SvgGlyphStyle : ID2D1Resource")] +[NativeInheritance("ID2D1Resource")] +public unsafe partial struct ID2D1SvgGlyphStyle +{ + public static ref readonly Guid IID_ID2D1SvgGlyphStyle + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x49, 0x17, 0x67, 0xAF, + 0x41, 0xD2, + 0xB8, 0x4D, + 0x8E, + 0x41, + 0xDC, + 0xC2, + 0xE5, + 0xC1, + 0xA4, + 0x38 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1SvgGlyphStyle)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult SetFill(ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this), brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void GetFill(ID2D1Brush** brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this), brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult SetStroke(ID2D1Brush* brush, float strokeWidth, float* dashes, uint dashesCount, float dashOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this), brush, strokeWidth, dashes, dashesCount, dashOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public uint GetStrokeDashesCount() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void GetStroke(ID2D1Brush** brush, float* strokeWidth, float* dashes, uint dashesCount, float* dashOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1SvgGlyphStyle*)Unsafe.AsPointer(ref this), brush, strokeWidth, dashes, dashesCount, dashOffset); + } +} + +/// +/// ID2D1DeviceContext4 +[Guid("8c427831-3d90-4476-b647-c4fae349e4db")] +[NativeTypeName("struct ID2D1DeviceContext4 : ID2D1DeviceContext3")] +[NativeInheritance("ID2D1DeviceContext3")] +public unsafe partial struct ID2D1DeviceContext4 +{ + public static ref readonly Guid IID_ID2D1DeviceContext4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x31, 0x78, 0x42, 0x8C, + 0x90, 0x3D, + 0x76, 0x44, + 0xB6, + 0x47, + 0xC4, + 0xFA, + 0xE3, + 0x49, + 0xE4, + 0xDB + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext4)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateSpriteBatch(ID2D1SpriteBatch** spriteBatch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), spriteBatch); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateInk(InkPoint* startPoint, ID2D1Ink** ink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), startPoint, ink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateInkStyle(InkStyleProperties* inkStyleProperties, ID2D1InkStyle** inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), inkStyleProperties, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateGradientMesh(GradientMeshPatch* patches, uint patchesCount, ID2D1GradientMesh** gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), patches, patchesCount, gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateImageSourceFromWic(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, ImageSourceLoadingOptions loadingOptions, Common.AlphaMode alphaMode, ID2D1ImageSourceFromWic** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), wicBitmapSource, loadingOptions, alphaMode, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateImageSourceFromDxgi(Graphics.Dxgi.IDXGISurface** surfaces, uint surfaceCount, Graphics.Dxgi.Common.ColorSpaceType colorSpace, ImageSourceFromDxgiOptions options, ID2D1ImageSource** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), surfaces, surfaceCount, colorSpace, options, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult GetGradientMeshWorldBounds(ID2D1GradientMesh* gradientMesh, Common.RectF* pBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), gradientMesh, pBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateTransformedImageSource(ID2D1ImageSource* imageSource, TransformedImageSourceProperties* properties, ID2D1TransformedImageSource** transformedImageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), imageSource, properties, transformedImageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(95)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[95]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(96)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[96]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(97)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[97]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(98)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[98]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(99)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[99]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(100)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[100]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(101)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[101]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(102)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[102]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(103)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[103]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(104)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[104]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(105)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[105]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(106)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[106]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(107)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[107]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(108)] + public HResult CreateSvgGlyphStyle(ID2D1SvgGlyphStyle** svgGlyphStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[108]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), svgGlyphStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(109)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[109]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(110)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[110]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(111)] + public void DrawColorBitmapGlyphRun(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, ColorBitmapGlyphSnapOption bitmapSnapOption) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[111]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), glyphImageFormat, baselineOrigin, glyphRun, measuringMode, bitmapSnapOption); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(112)] + public void DrawSvgGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[112]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(113)] + public HResult GetColorBitmapGlyphImage(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, float dpiX, float dpiY, Matrix3x2** glyphTransform, ID2D1Image** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[113]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), glyphImageFormat, glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, dpiX, dpiY, glyphTransform, glyphImage); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(114)] + public HResult GetSvgGlyphImage(System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Matrix3x2** glyphTransform, ID2D1CommandList** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[114]))((ID2D1DeviceContext4*)Unsafe.AsPointer(ref this), glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, glyphTransform, glyphImage); + } +} + +/// +/// ID2D1Device4 +[Guid("d7bdb159-5683-4a46-bc9c-72dc720b858b")] +[NativeTypeName("struct ID2D1Device4 : ID2D1Device3")] +[NativeInheritance("ID2D1Device3")] +public unsafe partial struct ID2D1Device4 +{ + public static ref readonly Guid IID_ID2D1Device4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x59, 0xB1, 0xBD, 0xD7, + 0x83, 0x56, + 0x46, 0x4A, + 0xBC, + 0x9C, + 0x72, + 0xDC, + 0x72, + 0x0B, + 0x85, + 0x8B + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device4)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext3** deviceContext3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device4*)Unsafe.AsPointer(ref this), options, deviceContext3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext2** deviceContext2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device4*)Unsafe.AsPointer(ref this), options, deviceContext2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void FlushDeviceContexts(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device4*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetDxgiDevice(Graphics.Dxgi.IDXGIDevice** dxgiDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device4*)Unsafe.AsPointer(ref this), dxgiDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device4*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device4*)Unsafe.AsPointer(ref this), options, deviceContext1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device4*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Device4*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Device4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Device4*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Device4*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext4** deviceContext4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Device4*)Unsafe.AsPointer(ref this), options, deviceContext4); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void SetMaximumColorGlyphCacheMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Device4*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public ulong GetMaximumColorGlyphCacheMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Device4*)Unsafe.AsPointer(ref this)); + } +} + +/// +/// ID2D1Factory5 +[Guid("c4349994-838e-4b0f-8cab-44997d9eeacc")] +[NativeTypeName("struct ID2D1Factory5 : ID2D1Factory4")] +[NativeInheritance("ID2D1Factory4")] +public unsafe partial struct ID2D1Factory5 +{ + public static ref readonly Guid IID_ID2D1Factory5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x94, 0x99, 0x34, 0xC4, + 0x8E, 0x83, + 0x0F, 0x4B, + 0x8C, + 0xAB, + 0x44, + 0x99, + 0x7D, + 0x9E, + 0xEA, + 0xCC + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory5)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device3** d2dDevice3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device2** d2dDevice2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[11]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[12]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device4** d2dDevice4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1Factory5*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice4); + } +} + +/// +/// ID2D1CommandSink4 +[Guid("c78a6519-40d6-4218-b2de-beeeb744bb3e")] +[NativeTypeName("struct ID2D1CommandSink4 : ID2D1CommandSink3")] +[NativeInheritance("ID2D1CommandSink3")] +public unsafe partial struct ID2D1CommandSink4 +{ + public static ref readonly Guid IID_ID2D1CommandSink4 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x19, 0x65, 0x8A, 0xC7, + 0xD6, 0x40, + 0x18, 0x42, + 0xB2, + 0xDE, + 0xBE, + 0xEE, + 0xB7, + 0x44, + 0xBB, + 0x3E + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink4)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult SetPrimitiveBlend1(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult SetPrimitiveBlend2(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1CommandSink4*)Unsafe.AsPointer(ref this), primitiveBlend); + } +} + +/// +/// ID2D1ColorContext1 +[Guid("1ab42875-c57f-4be9-bd85-9cd78d6f55ee")] +[NativeTypeName("struct ID2D1ColorContext1 : ID2D1ColorContext")] +[NativeInheritance("ID2D1ColorContext")] +public unsafe partial struct ID2D1ColorContext1 +{ + public static ref readonly Guid IID_ID2D1ColorContext1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x75, 0x28, 0xB4, 0x1A, + 0x7F, 0xC5, + 0xE9, 0x4B, + 0xBD, + 0x85, + 0x9C, + 0xD7, + 0x8D, + 0x6F, + 0x55, + 0xEE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1ColorContext1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public Graphics.Direct2D.ColorSpace GetColorSpace() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public uint GetProfileSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetProfile(byte* profile, uint profileSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this), profile, profileSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public Graphics.Direct2D.ColorContextType GetColorContextType() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public Graphics.Dxgi.Common.ColorSpaceType GetDXGIColorSpace() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult GetSimpleColorProfile(SimpleColorProfile* simpleProfile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1ColorContext1*)Unsafe.AsPointer(ref this), simpleProfile); + } +} + +/// +/// ID2D1DeviceContext5 +[Guid("7836d248-68cc-4df6-b9e8-de991bf62eb7")] +[NativeTypeName("struct ID2D1DeviceContext5 : ID2D1DeviceContext4")] +[NativeInheritance("ID2D1DeviceContext4")] +public unsafe partial struct ID2D1DeviceContext5 +{ + public static ref readonly Guid IID_ID2D1DeviceContext5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x48, 0xD2, 0x36, 0x78, + 0xCC, 0x68, + 0xF6, 0x4D, + 0xB9, + 0xE8, + 0xDE, + 0x99, + 0x1B, + 0xF6, + 0x2E, + 0xB7 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext5)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateSvgGlyphStyle(ID2D1SvgGlyphStyle** svgGlyphStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), svgGlyphStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public void DrawColorBitmapGlyphRun(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, ColorBitmapGlyphSnapOption bitmapSnapOption) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), glyphImageFormat, baselineOrigin, glyphRun, measuringMode, bitmapSnapOption); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public void DrawSvgGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult GetColorBitmapGlyphImage(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, float dpiX, float dpiY, Matrix3x2** glyphTransform, ID2D1Image** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), glyphImageFormat, glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, dpiX, dpiY, glyphTransform, glyphImage); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult GetSvgGlyphImage(System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Matrix3x2** glyphTransform, ID2D1CommandList** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, glyphTransform, glyphImage); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateSpriteBatch(ID2D1SpriteBatch** spriteBatch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), spriteBatch); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateInk(InkPoint* startPoint, ID2D1Ink** ink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), startPoint, ink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateInkStyle(InkStyleProperties* inkStyleProperties, ID2D1InkStyle** inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), inkStyleProperties, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateGradientMesh(GradientMeshPatch* patches, uint patchesCount, ID2D1GradientMesh** gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), patches, patchesCount, gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateImageSourceFromWic(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, ImageSourceLoadingOptions loadingOptions, Common.AlphaMode alphaMode, ID2D1ImageSourceFromWic** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), wicBitmapSource, loadingOptions, alphaMode, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateImageSourceFromDxgi(Graphics.Dxgi.IDXGISurface** surfaces, uint surfaceCount, Graphics.Dxgi.Common.ColorSpaceType colorSpace, ImageSourceFromDxgiOptions options, ID2D1ImageSource** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), surfaces, surfaceCount, colorSpace, options, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult GetGradientMeshWorldBounds(ID2D1GradientMesh* gradientMesh, Common.RectF* pBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), gradientMesh, pBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public void DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateTransformedImageSource(ID2D1ImageSource* imageSource, TransformedImageSourceProperties* properties, ID2D1TransformedImageSource** transformedImageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), imageSource, properties, transformedImageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(95)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[95]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(96)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[96]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(97)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[97]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(98)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[98]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(99)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[99]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(100)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[100]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(101)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[101]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(102)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[102]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(103)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[103]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(104)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[104]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(105)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[105]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(106)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[106]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(107)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[107]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(108)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[108]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(109)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[109]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(110)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[110]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(111)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[111]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(112)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[112]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(113)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[113]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(114)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[114]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(115)] + public HResult CreateSvgDocument(Com.IStream* inputXmlStream, System.Drawing.SizeF* viewportSize, ID2D1SvgDocument** svgDocument) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[115]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), inputXmlStream, viewportSize, svgDocument); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(116)] + public void DrawSvgDocument(ID2D1SvgDocument* svgDocument) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[116]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), svgDocument); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(117)] + public HResult CreateColorContextFromDxgiColorSpace(Graphics.Dxgi.Common.ColorSpaceType colorSpace, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[117]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), colorSpace, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(118)] + public HResult CreateColorContextFromSimpleColorProfile(SimpleColorProfile* simpleProfile, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[118]))((ID2D1DeviceContext5*)Unsafe.AsPointer(ref this), simpleProfile, colorContext); + } +} + +/// +/// ID2D1Device5 +[Guid("d55ba0a4-6405-4694-aef5-08ee1a4358b4")] +[NativeTypeName("struct ID2D1Device5 : ID2D1Device4")] +[NativeInheritance("ID2D1Device4")] +public unsafe partial struct ID2D1Device5 +{ + public static ref readonly Guid IID_ID2D1Device5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA4, 0xA0, 0x5B, 0xD5, + 0x05, 0x64, + 0x94, 0x46, + 0xAE, + 0xF5, + 0x08, + 0xEE, + 0x1A, + 0x43, + 0x58, + 0xB4 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device5)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext4** deviceContext4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext4); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void SetMaximumColorGlyphCacheMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device5*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public ulong GetMaximumColorGlyphCacheMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext3** deviceContext3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext2** deviceContext2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void FlushDeviceContexts(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device5*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult GetDxgiDevice(Graphics.Dxgi.IDXGIDevice** dxgiDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device5*)Unsafe.AsPointer(ref this), dxgiDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Device5*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Device5*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Device5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Device5*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Device5*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext5** deviceContext5) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Device5*)Unsafe.AsPointer(ref this), options, deviceContext5); + } +} + +/// +/// ID2D1Factory6 +[Guid("f9976f46-f642-44c1-97ca-da32ea2a2635")] +[NativeTypeName("struct ID2D1Factory6 : ID2D1Factory5")] +[NativeInheritance("ID2D1Factory5")] +public unsafe partial struct ID2D1Factory6 +{ + public static ref readonly Guid IID_ID2D1Factory6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x46, 0x6F, 0x97, 0xF9, + 0x42, 0xF6, + 0xC1, 0x44, + 0x97, + 0xCA, + 0xDA, + 0x32, + 0xEA, + 0x2A, + 0x26, + 0x35 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory6)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device4** d2dDevice4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice4); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device3** d2dDevice3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device2** d2dDevice2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[12]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[13]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device5** d2dDevice5) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1Factory6*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice5); + } +} + +/// +/// ID2D1CommandSink5 +[Guid("7047dd26-b1e7-44a7-959a-8349e2144fa8")] +[NativeTypeName("struct ID2D1CommandSink5 : ID2D1CommandSink4")] +[NativeInheritance("ID2D1CommandSink4")] +public unsafe partial struct ID2D1CommandSink5 +{ + public static ref readonly Guid IID_ID2D1CommandSink5 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x26, 0xDD, 0x47, 0x70, + 0xE7, 0xB1, + 0xA7, 0x44, + 0x95, + 0x9A, + 0x83, + 0x49, + 0xE2, + 0x14, + 0x4F, + 0xA8 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1CommandSink5)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult SetPrimitiveBlend2(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult SetPrimitiveBlend1(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult BeginDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult EndDraw() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult SetAntialiasMode(AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult SetTags(ulong tag1, ulong tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult SetTransform(Matrix3x2* transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult SetUnitMode(UnitMode unitMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult Clear(Common.ColorF* color) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), color); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult PushLayer(LayerParameters1* layerParameters1, ID2D1Layer* layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), layerParameters1, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult PopAxisAlignedClip() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult PopLayer() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HResult BlendImage(ID2D1Image* image, Common.BlendMode blendMode, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1CommandSink5*)Unsafe.AsPointer(ref this), image, blendMode, targetOffset, imageRectangle, interpolationMode); + } +} + +/// +/// ID2D1DeviceContext6 +[Guid("985f7e37-4ed0-4a19-98a3-15b0edfde306")] +[NativeTypeName("struct ID2D1DeviceContext6 : ID2D1DeviceContext5")] +[NativeInheritance("ID2D1DeviceContext5")] +public unsafe partial struct ID2D1DeviceContext6 +{ + public static ref readonly Guid IID_ID2D1DeviceContext6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x37, 0x7E, 0x5F, 0x98, + 0xD0, 0x4E, + 0x19, 0x4A, + 0x98, + 0xA3, + 0x15, + 0xB0, + 0xED, + 0xFD, + 0xE3, + 0x06 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1DeviceContext6)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateSvgDocument(Com.IStream* inputXmlStream, System.Drawing.SizeF* viewportSize, ID2D1SvgDocument** svgDocument) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), inputXmlStream, viewportSize, svgDocument); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void DrawSvgDocument(ID2D1SvgDocument* svgDocument) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), svgDocument); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateColorContextFromDxgiColorSpace(Graphics.Dxgi.Common.ColorSpaceType colorSpace, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), colorSpace, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateColorContextFromSimpleColorProfile(SimpleColorProfile* simpleProfile, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), simpleProfile, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateSvgGlyphStyle(ID2D1SvgGlyphStyle** svgGlyphStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), svgGlyphStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public void DrawColorBitmapGlyphRun(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, ColorBitmapGlyphSnapOption bitmapSnapOption) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), glyphImageFormat, baselineOrigin, glyphRun, measuringMode, bitmapSnapOption); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public void DrawSvgGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult GetColorBitmapGlyphImage(Graphics.DirectWrite.GlyphImageFormats glyphImageFormat, System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, float dpiX, float dpiY, Matrix3x2** glyphTransform, ID2D1Image** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), glyphImageFormat, glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, dpiX, dpiY, glyphTransform, glyphImage); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult GetSvgGlyphImage(System.Drawing.PointF* glyphOrigin, Graphics.DirectWrite.IDWriteFontFace* fontFace, float fontEmSize, ushort glyphIndex, Bool32 isSideways, Matrix3x2* worldTransform, ID2D1Brush* defaultFillBrush, ID2D1SvgGlyphStyle* svgGlyphStyle, uint colorPaletteIndex, Matrix3x2** glyphTransform, ID2D1CommandList** glyphImage) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), glyphOrigin, fontFace, fontEmSize, glyphIndex, isSideways, worldTransform, defaultFillBrush, svgGlyphStyle, colorPaletteIndex, glyphTransform, glyphImage); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateSpriteBatch(ID2D1SpriteBatch** spriteBatch) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), spriteBatch); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void DrawSpriteBatch(ID2D1SpriteBatch* spriteBatch, uint startIndex, uint spriteCount, ID2D1Bitmap* bitmap, BitmapInterpolationMode interpolationMode, SpriteOptions spriteOptions) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), spriteBatch, startIndex, spriteCount, bitmap, interpolationMode, spriteOptions); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateInk(InkPoint* startPoint, ID2D1Ink** ink) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), startPoint, ink); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateInkStyle(InkStyleProperties* inkStyleProperties, ID2D1InkStyle** inkStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), inkStyleProperties, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateGradientMesh(GradientMeshPatch* patches, uint patchesCount, ID2D1GradientMesh** gradientMesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), patches, patchesCount, gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateImageSourceFromWic(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, ImageSourceLoadingOptions loadingOptions, Common.AlphaMode alphaMode, ID2D1ImageSourceFromWic** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), wicBitmapSource, loadingOptions, alphaMode, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateImageSourceFromDxgi(Graphics.Dxgi.IDXGISurface** surfaces, uint surfaceCount, Graphics.Dxgi.Common.ColorSpaceType colorSpace, ImageSourceFromDxgiOptions options, ID2D1ImageSource** imageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), surfaces, surfaceCount, colorSpace, options, imageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult GetGradientMeshWorldBounds(ID2D1GradientMesh* gradientMesh, Common.RectF* pBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), gradientMesh, pBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public void DrawInk(ID2D1Ink* ink, ID2D1Brush* brush, ID2D1InkStyle* inkStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), ink, brush, inkStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public void DrawGradientMesh(ID2D1GradientMesh* gradientMesh) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), gradientMesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), gdiMetafile, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateTransformedImageSource(ID2D1ImageSource* imageSource, TransformedImageSourceProperties* properties, ID2D1TransformedImageSource** transformedImageSource) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), imageSource, properties, transformedImageSource); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateFilledGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateStrokedGeometryRealization(ID2D1Geometry* geometry, float flatteningTolerance, float strokeWidth, ID2D1StrokeStyle* strokeStyle, ID2D1GeometryRealization** geometryRealization) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), geometry, flatteningTolerance, strokeWidth, strokeStyle, geometryRealization); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public void DrawGeometryRealization(ID2D1GeometryRealization* geometryRealization, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), geometryRealization, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult CreateBitmap(Common.SizeU* size, void* sourceData, uint pitch, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), size, sourceData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(33)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(34)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(35)] + public HResult CreateBitmapFromDxgiSurface(Graphics.Dxgi.IDXGISurface* surface, BitmapProperties1* bitmapProperties, ID2D1Bitmap1** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), surface, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(36)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(37)] + public HResult CreateGradientStopCollection(GradientStop* straightAlphaGradientStops, uint straightAlphaGradientStopsCount, ColorSpace preInterpolationSpace, ColorSpace postInterpolationSpace, BufferPrecision bufferPrecision, ExtendMode extendMode, ColorInterpolationMode colorInterpolationMode, ID2D1GradientStopCollection1** gradientStopCollection1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), straightAlphaGradientStops, straightAlphaGradientStopsCount, preInterpolationSpace, postInterpolationSpace, bufferPrecision, extendMode, colorInterpolationMode, gradientStopCollection1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(38)] + public HResult CreateImageBrush(ID2D1Image* image, ImageBrushProperties* imageBrushProperties, BrushProperties* brushProperties, ID2D1ImageBrush** imageBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image, imageBrushProperties, brushProperties, imageBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(39)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties1* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush1** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(40)] + public HResult CreateCommandList(ID2D1CommandList** commandList) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), commandList); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(41)] + public Bool32 IsDxgiFormatSupported(Graphics.Dxgi.Common.Format format) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), format); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(42)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(43)] + public HResult GetImageLocalBounds(ID2D1Image* image, Common.RectF* localBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image, localBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(44)] + public HResult GetImageWorldBounds(ID2D1Image* image, Common.RectF* worldBounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image, worldBounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(45)] + public HResult GetGlyphRunWorldBounds(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.MeasuringMode measuringMode, Common.RectF* bounds) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, measuringMode, bounds); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(46)] + public void GetDevice(ID2D1Device** device) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), device); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(47)] + public void SetTarget(ID2D1Image* image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(48)] + public void GetTarget(ID2D1Image** image) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[48]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(49)] + public void SetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[49]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(50)] + public void GetRenderingControls(RenderingControls* renderingControls) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[50]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), renderingControls); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(51)] + public void SetPrimitiveBlend(PrimitiveBlend primitiveBlend) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[51]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), primitiveBlend); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(52)] + public Graphics.Direct2D.PrimitiveBlend GetPrimitiveBlend() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[52]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(53)] + public void SetUnitMode(UnitMode unitMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[53]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), unitMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(54)] + public Graphics.Direct2D.UnitMode GetUnitMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[54]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(55)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, Graphics.DirectWrite.GlyphRunDescription* glyphRunDescription, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[55]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(56)] + public void DrawImage(ID2D1Image* image, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode, Common.CompositeMode compositeMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[56]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image, targetOffset, imageRectangle, interpolationMode, compositeMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(57)] + public void DrawGdiMetafile(ID2D1GdiMetafile* gdiMetafile, System.Drawing.PointF* targetOffset) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[57]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), gdiMetafile, targetOffset); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(58)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, InterpolationMode interpolationMode, Common.RectF* sourceRectangle, Matrix4x4* perspectiveTransform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[58]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle, perspectiveTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(59)] + public void PushLayer(LayerParameters1* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[59]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(60)] + public HResult InvalidateEffectInputRectangle(ID2D1Effect* effect, uint input, Common.RectF* inputRectangle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[60]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), effect, input, inputRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(61)] + public HResult GetEffectInvalidRectangleCount(ID2D1Effect* effect, uint* rectangleCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[61]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), effect, rectangleCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(62)] + public HResult GetEffectInvalidRectangles(ID2D1Effect* effect, Common.RectF* rectangles, uint rectanglesCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[62]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), effect, rectangles, rectanglesCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(63)] + public HResult GetEffectRequiredInputRectangles(ID2D1Effect* renderEffect, Common.RectF* renderImageRectangle, EffectInputDescription* inputDescriptions, Common.RectF* requiredInputRects, uint inputCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[63]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), renderEffect, renderImageRectangle, inputDescriptions, requiredInputRects, inputCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(64)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[64]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), opacityMask, brush, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(65)] + public HResult CreateBitmap(Common.SizeU* size, void* srcData, uint pitch, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[65]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), size, srcData, pitch, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(66)] + public HResult CreateBitmapFromWicBitmap(Graphics.Imaging.IWICBitmapSource* wicBitmapSource, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[66]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), wicBitmapSource, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(67)] + public HResult CreateSharedBitmap(Guid* riid, void* data, BitmapProperties* bitmapProperties, ID2D1Bitmap** bitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[67]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), riid, data, bitmapProperties, bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(68)] + public HResult CreateBitmapBrush(ID2D1Bitmap* bitmap, BitmapBrushProperties* bitmapBrushProperties, BrushProperties* brushProperties, ID2D1BitmapBrush** bitmapBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[68]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), bitmap, bitmapBrushProperties, brushProperties, bitmapBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(69)] + public HResult CreateSolidColorBrush(Common.ColorF* color, BrushProperties* brushProperties, ID2D1SolidColorBrush** solidColorBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[69]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), color, brushProperties, solidColorBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(70)] + public HResult CreateGradientStopCollection(GradientStop* gradientStops, uint gradientStopsCount, Gamma colorInterpolationGamma, ExtendMode extendMode, ID2D1GradientStopCollection** gradientStopCollection) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[70]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), gradientStops, gradientStopsCount, colorInterpolationGamma, extendMode, gradientStopCollection); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(71)] + public HResult CreateLinearGradientBrush(LinearGradientBrushProperties* linearGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1LinearGradientBrush** linearGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[71]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), linearGradientBrushProperties, brushProperties, gradientStopCollection, linearGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(72)] + public HResult CreateRadialGradientBrush(RadialGradientBrushProperties* radialGradientBrushProperties, BrushProperties* brushProperties, ID2D1GradientStopCollection* gradientStopCollection, ID2D1RadialGradientBrush** radialGradientBrush) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[72]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), radialGradientBrushProperties, brushProperties, gradientStopCollection, radialGradientBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(73)] + public HResult CreateCompatibleRenderTarget(System.Drawing.SizeF* desiredSize, Common.SizeU* desiredPixelSize, Common.PixelFormat* desiredFormat, CompatibleRenderTargetOptions options, ID2D1BitmapRenderTarget** bitmapRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[73]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), desiredSize, desiredPixelSize, desiredFormat, options, bitmapRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(74)] + public HResult CreateLayer(System.Drawing.SizeF* size, ID2D1Layer** layer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[74]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), size, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(75)] + public HResult CreateMesh(ID2D1Mesh** mesh) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[75]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), mesh); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(76)] + public void DrawLine(System.Drawing.PointF* point0, System.Drawing.PointF* point1, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[76]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), point0, point1, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(77)] + public void DrawRectangle(Common.RectF* rect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[77]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), rect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(78)] + public void FillRectangle(Common.RectF* rect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[78]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), rect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(79)] + public void DrawRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[79]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), roundedRect, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(80)] + public void FillRoundedRectangle(RoundedRect* roundedRect, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[80]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), roundedRect, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(81)] + public void DrawEllipse(Ellipse* ellipse, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[81]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), ellipse, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(82)] + public void FillEllipse(Ellipse* ellipse, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[82]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), ellipse, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(83)] + public void DrawGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, float strokeWidth, ID2D1StrokeStyle* strokeStyle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[83]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), geometry, brush, strokeWidth, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(84)] + public void FillGeometry(ID2D1Geometry* geometry, ID2D1Brush* brush, ID2D1Brush* opacityBrush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[84]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), geometry, brush, opacityBrush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(85)] + public void FillMesh(ID2D1Mesh* mesh, ID2D1Brush* brush) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[85]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), mesh, brush); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(86)] + public void FillOpacityMask(ID2D1Bitmap* opacityMask, ID2D1Brush* brush, OpacityMaskContent content, Common.RectF* destinationRectangle, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[86]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), opacityMask, brush, content, destinationRectangle, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(87)] + public void DrawBitmap(ID2D1Bitmap* bitmap, Common.RectF* destinationRectangle, float opacity, BitmapInterpolationMode interpolationMode, Common.RectF* sourceRectangle) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[87]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), bitmap, destinationRectangle, opacity, interpolationMode, sourceRectangle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(88)] + public void DrawText(ushort* @string, uint stringLength, Graphics.DirectWrite.IDWriteTextFormat* textFormat, Common.RectF* layoutRect, ID2D1Brush* defaultFillBrush, DrawTextOptions options, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[88]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutRect, defaultFillBrush, options, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(89)] + public void DrawTextLayout(System.Drawing.PointF* origin, Graphics.DirectWrite.IDWriteTextLayout* textLayout, ID2D1Brush* defaultFillBrush, DrawTextOptions options) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[89]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), origin, textLayout, defaultFillBrush, options); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(90)] + public void DrawGlyphRun(System.Drawing.PointF* baselineOrigin, Graphics.DirectWrite.GlyphRun* glyphRun, ID2D1Brush* foregroundBrush, Graphics.DirectWrite.MeasuringMode measuringMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[90]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, foregroundBrush, measuringMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(91)] + public void SetTransform(Matrix3x2* transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[91]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(92)] + public void GetTransform(Matrix3x2** transform) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[92]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(93)] + public void SetAntialiasMode(AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[93]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(94)] + public Graphics.Direct2D.AntialiasMode GetAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[94]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(95)] + public void SetTextAntialiasMode(TextAntialiasMode textAntialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[95]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), textAntialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(96)] + public Graphics.Direct2D.TextAntialiasMode GetTextAntialiasMode() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[96]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(97)] + public void SetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[97]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(98)] + public void GetTextRenderingParams(Graphics.DirectWrite.IDWriteRenderingParams** textRenderingParams) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[98]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), textRenderingParams); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(99)] + public void SetTags(ulong tag1, ulong tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[99]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(100)] + public void GetTags(ulong* tag1, ulong* tag2) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[100]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(101)] + public void PushLayer(LayerParameters* layerParameters, ID2D1Layer* layer) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[101]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), layerParameters, layer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(102)] + public void PopLayer() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[102]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(103)] + public HResult Flush(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[103]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(104)] + public void SaveDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[104]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(105)] + public void RestoreDrawingState(ID2D1DrawingStateBlock* drawingStateBlock) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[105]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(106)] + public void PushAxisAlignedClip(Common.RectF* clipRect, AntialiasMode antialiasMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[106]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), clipRect, antialiasMode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(107)] + public void PopAxisAlignedClip() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[107]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(108)] + public void Clear(Common.ColorF* clearColor) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[108]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), clearColor); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(109)] + public void BeginDraw() + { + ((delegate* unmanaged[Stdcall])(lpVtbl[109]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(110)] + public HResult EndDraw(ulong* tag1, ulong* tag2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[110]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), tag1, tag2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(111)] + public Graphics.Direct2D.Common.PixelFormat GetPixelFormat() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[111]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(112)] + public void SetDpi(float dpiX, float dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[112]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(113)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[113]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(114)] + public System.Drawing.SizeF GetSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[114]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(115)] + public Graphics.Direct2D.Common.SizeU GetPixelSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[115]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(116)] + public uint GetMaximumBitmapSize() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[116]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(117)] + public Bool32 IsSupported(RenderTargetProperties* renderTargetProperties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[117]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), renderTargetProperties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(118)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[118]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(119)] + public void BlendImage(ID2D1Image* image, Common.BlendMode blendMode, System.Drawing.PointF* targetOffset, Common.RectF* imageRectangle, InterpolationMode interpolationMode) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[119]))((ID2D1DeviceContext6*)Unsafe.AsPointer(ref this), image, blendMode, targetOffset, imageRectangle, interpolationMode); + } +} + +/// +/// ID2D1Device6 +[Guid("7bfef914-2d75-4bad-be87-e18ddb077b6d")] +[NativeTypeName("struct ID2D1Device6 : ID2D1Device5")] +[NativeInheritance("ID2D1Device5")] +public unsafe partial struct ID2D1Device6 +{ + public static ref readonly Guid IID_ID2D1Device6 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x14, 0xF9, 0xFE, 0x7B, + 0x75, 0x2D, + 0xAD, 0x4B, + 0xBE, + 0x87, + 0xE1, + 0x8D, + 0xDB, + 0x07, + 0x7B, + 0x6D + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Device6)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext5** deviceContext5) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext5); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext4** deviceContext4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext4); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public void SetMaximumColorGlyphCacheMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Device6*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public ulong GetMaximumColorGlyphCacheMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Device6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext3** deviceContext3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext2** deviceContext2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public void FlushDeviceContexts(ID2D1Bitmap* bitmap) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Device6*)Unsafe.AsPointer(ref this), bitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult GetDxgiDevice(Graphics.Dxgi.IDXGIDevice** dxgiDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Device6*)Unsafe.AsPointer(ref this), dxgiDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public Graphics.Direct2D.RenderingPriority GetRenderingPriority() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Device6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public void SetRenderingPriority(RenderingPriority renderingPriority) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Device6*)Unsafe.AsPointer(ref this), renderingPriority); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext1** deviceContext1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext** deviceContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public void SetMaximumTextureMemory(ulong maximumInBytes) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Device6*)Unsafe.AsPointer(ref this), maximumInBytes); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public ulong GetMaximumTextureMemory() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Device6*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public void ClearResources(uint millisecondsSinceUse) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Device6*)Unsafe.AsPointer(ref this), millisecondsSinceUse); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public void GetFactory(ID2D1Factory** factory) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Device6*)Unsafe.AsPointer(ref this), factory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateDeviceContext(DeviceContextOptions options, ID2D1DeviceContext6** deviceContext6) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Device6*)Unsafe.AsPointer(ref this), options, deviceContext6); + } +} + +/// +/// ID2D1Factory7 +[Guid("bdc2bdd3-b96c-4de6-bdf7-99d4745454de")] +[NativeTypeName("struct ID2D1Factory7 : ID2D1Factory6")] +[NativeInheritance("ID2D1Factory6")] +public unsafe partial struct ID2D1Factory7 +{ + public static ref readonly Guid IID_ID2D1Factory7 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xD3, 0xBD, 0xC2, 0xBD, + 0x6C, 0xB9, + 0xE6, 0x4D, + 0xBD, + 0xF7, + 0x99, + 0xD4, + 0x74, + 0x54, + 0x54, + 0xDE + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1Factory7)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device5** d2dDevice5) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice5); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device4** d2dDevice4) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice4); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device3** d2dDevice3) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice3); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device2** d2dDevice2) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice2); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device1** d2dDevice1) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice1); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device** d2dDevice) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateStrokeStyle(StrokeStyleProperties1* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle1** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreatePathGeometry(ID2D1PathGeometry1** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateDrawingStateBlock(DrawingStateDescription1* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock1** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateGdiMetafile(Com.IStream* metafileStream, ID2D1GdiMetafile** metafile) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), metafileStream, metafile); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult RegisterEffectFromStream(Guid* classId, Com.IStream* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[13]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult RegisterEffectFromString(Guid* classId, ushort* propertyXml, PropertyBinding* bindings, uint bindingsCount, delegate* unmanaged[Stdcall] effectFactory) + { + return ((delegate* unmanaged[Stdcall], int>)(lpVtbl[14]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), classId, propertyXml, bindings, bindingsCount, effectFactory); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult UnregisterEffect(Guid* classId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), classId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult GetRegisteredEffects(Guid* effects, uint effectsCount, uint* effectsReturned, uint* effectsRegistered) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), effects, effectsCount, effectsReturned, effectsRegistered); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult GetEffectProperties(Guid* effectId, ID2D1Properties** properties) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), effectId, properties); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult ReloadSystemMetrics() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1Factory7*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public void GetDesktopDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateRectangleGeometry(Common.RectF* rectangle, ID2D1RectangleGeometry** rectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), rectangle, rectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateRoundedRectangleGeometry(RoundedRect* roundedRectangle, ID2D1RoundedRectangleGeometry** roundedRectangleGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), roundedRectangle, roundedRectangleGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateEllipseGeometry(Ellipse* ellipse, ID2D1EllipseGeometry** ellipseGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), ellipse, ellipseGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateGeometryGroup(Common.FillMode fillMode, ID2D1Geometry** geometries, uint geometriesCount, ID2D1GeometryGroup** geometryGroup) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), fillMode, geometries, geometriesCount, geometryGroup); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateTransformedGeometry(ID2D1Geometry* sourceGeometry, Matrix3x2* transform, ID2D1TransformedGeometry** transformedGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), sourceGeometry, transform, transformedGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreatePathGeometry(ID2D1PathGeometry** pathGeometry) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), pathGeometry); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateStrokeStyle(StrokeStyleProperties* strokeStyleProperties, float* dashes, uint dashesCount, ID2D1StrokeStyle** strokeStyle) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), strokeStyleProperties, dashes, dashesCount, strokeStyle); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(27)] + public HResult CreateDrawingStateBlock(DrawingStateDescription* drawingStateDescription, Graphics.DirectWrite.IDWriteRenderingParams* textRenderingParams, ID2D1DrawingStateBlock** drawingStateBlock) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), drawingStateDescription, textRenderingParams, drawingStateBlock); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(28)] + public HResult CreateWicBitmapRenderTarget(Graphics.Imaging.IWICBitmap* target, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), target, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(29)] + public HResult CreateHwndRenderTarget(RenderTargetProperties* renderTargetProperties, HwndRenderTargetProperties* hwndRenderTargetProperties, ID2D1HwndRenderTarget** hwndRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), renderTargetProperties, hwndRenderTargetProperties, hwndRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(30)] + public HResult CreateDxgiSurfaceRenderTarget(Graphics.Dxgi.IDXGISurface* dxgiSurface, RenderTargetProperties* renderTargetProperties, ID2D1RenderTarget** renderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiSurface, renderTargetProperties, renderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(31)] + public HResult CreateDCRenderTarget(RenderTargetProperties* renderTargetProperties, ID2D1DCRenderTarget** dcRenderTarget) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), renderTargetProperties, dcRenderTarget); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(32)] + public HResult CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, ID2D1Device6** d2dDevice6) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((ID2D1Factory7*)Unsafe.AsPointer(ref this), dxgiDevice, d2dDevice6); + } +} + +/// +/// ID2D1EffectContext1 +[Guid("84ab595a-fc81-4546-bacd-e8ef4d8abe7a")] +[NativeTypeName("struct ID2D1EffectContext1 : ID2D1EffectContext")] +[NativeInheritance("ID2D1EffectContext")] +public unsafe partial struct ID2D1EffectContext1 +{ + public static ref readonly Guid IID_ID2D1EffectContext1 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x5A, 0x59, 0xAB, 0x84, + 0x81, 0xFC, + 0x46, 0x45, + 0xBA, + 0xCD, + 0xE8, + 0xEF, + 0x4D, + 0x8A, + 0xBE, + 0x7A + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1EffectContext1)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult GetMaximumSupportedFeatureLevel(Graphics.Direct3D.FeatureLevel* featureLevels, uint featureLevelsCount, Graphics.Direct3D.FeatureLevel* maximumSupportedFeatureLevel) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), featureLevels, featureLevelsCount, maximumSupportedFeatureLevel); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreateTransformNodeFromEffect(ID2D1Effect* effect, ID2D1TransformNode** transformNode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), effect, transformNode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateBlendTransform(uint numInputs, BlendDescription* blendDescription, ID2D1BlendTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), numInputs, blendDescription, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateBorderTransform(ExtendMode extendModeX, ExtendMode extendModeY, ID2D1BorderTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), extendModeX, extendModeY, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateOffsetTransform(System.Drawing.Point* offset, ID2D1OffsetTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), offset, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateBoundsAdjustmentTransform(RawRect* outputRectangle, ID2D1BoundsAdjustmentTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), outputRectangle, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult LoadPixelShader(Guid* shaderId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), shaderId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult LoadVertexShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult LoadComputeShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public Bool32 IsShaderLoaded(Guid* shaderId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), shaderId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateResourceTexture(Guid* resourceId, ResourceTextureProperties* resourceTextureProperties, byte* data, uint* strides, uint dataSize, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), resourceId, resourceTextureProperties, data, strides, dataSize, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult FindResourceTexture(Guid* resourceId, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), resourceId, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateVertexBuffer(VertexBufferProperties* vertexBufferProperties, Guid* resourceId, CustomVertexBufferProperties* customVertexBufferProperties, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), vertexBufferProperties, resourceId, customVertexBufferProperties, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult FindVertexBuffer(Guid* resourceId, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), resourceId, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CheckFeatureSupport(Feature feature, void* featureSupportData, uint featureSupportDataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), feature, featureSupportData, featureSupportDataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1EffectContext1*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } +} + +/// +/// ID2D1EffectContext2 +[Guid("577ad2a0-9fc7-4dda-8b18-dab810140052")] +[NativeTypeName("struct ID2D1EffectContext2 : ID2D1EffectContext1")] +[NativeInheritance("ID2D1EffectContext1")] +public unsafe partial struct ID2D1EffectContext2 +{ + public static ref readonly Guid IID_ID2D1EffectContext2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xA0, 0xD2, 0x7A, 0x57, + 0xC7, 0x9F, + 0xDA, 0x4D, + 0x8B, + 0x18, + 0xDA, + 0xB8, + 0x10, + 0x14, + 0x00, + 0x52 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_ID2D1EffectContext2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateLookupTable3D(BufferPrecision precision, uint* extents, byte* data, uint dataCount, uint* strides, ID2D1LookupTable3D** lookupTable) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), precision, extents, data, dataCount, strides, lookupTable); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public void GetDpi(float* dpiX, float* dpiY) + { + ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), dpiX, dpiY); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateEffect(Guid* effectId, ID2D1Effect** effect) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), effectId, effect); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult GetMaximumSupportedFeatureLevel(Graphics.Direct3D.FeatureLevel* featureLevels, uint featureLevelsCount, Graphics.Direct3D.FeatureLevel* maximumSupportedFeatureLevel) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), featureLevels, featureLevelsCount, maximumSupportedFeatureLevel); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateTransformNodeFromEffect(ID2D1Effect* effect, ID2D1TransformNode** transformNode) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), effect, transformNode); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateBlendTransform(uint numInputs, BlendDescription* blendDescription, ID2D1BlendTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), numInputs, blendDescription, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateBorderTransform(ExtendMode extendModeX, ExtendMode extendModeY, ID2D1BorderTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), extendModeX, extendModeY, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateOffsetTransform(System.Drawing.Point* offset, ID2D1OffsetTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), offset, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateBoundsAdjustmentTransform(RawRect* outputRectangle, ID2D1BoundsAdjustmentTransform** transform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), outputRectangle, transform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult LoadPixelShader(Guid* shaderId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), shaderId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult LoadVertexShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult LoadComputeShader(Guid* resourceId, byte* shaderBuffer, uint shaderBufferCount) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), resourceId, shaderBuffer, shaderBufferCount); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public Bool32 IsShaderLoaded(Guid* shaderId) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), shaderId); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateResourceTexture(Guid* resourceId, ResourceTextureProperties* resourceTextureProperties, byte* data, uint* strides, uint dataSize, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), resourceId, resourceTextureProperties, data, strides, dataSize, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult FindResourceTexture(Guid* resourceId, ID2D1ResourceTexture** resourceTexture) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), resourceId, resourceTexture); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateVertexBuffer(VertexBufferProperties* vertexBufferProperties, Guid* resourceId, CustomVertexBufferProperties* customVertexBufferProperties, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), vertexBufferProperties, resourceId, customVertexBufferProperties, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult FindVertexBuffer(Guid* resourceId, ID2D1VertexBuffer** buffer) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), resourceId, buffer); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateColorContext(ColorSpace space, byte* profile, uint profileSize, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), space, profile, profileSize, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateColorContextFromFilename(ushort* filename, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), filename, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateColorContextFromWicColorContext(Graphics.Imaging.IWICColorContext* wicColorContext, ID2D1ColorContext** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), wicColorContext, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CheckFeatureSupport(Feature feature, void* featureSupportData, uint featureSupportDataSize) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), feature, featureSupportData, featureSupportDataSize); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public Bool32 IsBufferPrecisionSupported(BufferPrecision bufferPrecision) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), bufferPrecision); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateColorContextFromDxgiColorSpace(Graphics.Dxgi.Common.ColorSpaceType colorSpace, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), colorSpace, colorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(26)] + public HResult CreateColorContextFromSimpleColorProfile(SimpleColorProfile* simpleProfile, ID2D1ColorContext1** colorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((ID2D1EffectContext2*)Unsafe.AsPointer(ref this), simpleProfile, colorContext); + } +} + +#endregion Com Types + +#region Functions +public static unsafe partial class Apis +{ + [DllImport("d2d1", ExactSpelling = true)] + public static extern HResult D2D1CreateFactory(FactoryType factoryType, Guid* riid, FactoryOptions* pFactoryOptions, void** ppIFactory); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern void D2D1MakeRotateMatrix(float angle, System.Drawing.PointF* center, Matrix3x2* matrix); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern void D2D1MakeSkewMatrix(float angleX, float angleY, System.Drawing.PointF* center, Matrix3x2* matrix); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern Bool32 D2D1IsMatrixInvertible(Matrix3x2* matrix); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern Bool32 D2D1InvertMatrix(Matrix3x2* matrix); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern HResult D2D1CreateDevice(Graphics.Dxgi.IDXGIDevice* dxgiDevice, CreationProperties* creationProperties, ID2D1Device* d2dDevice); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern HResult D2D1CreateDeviceContext(Graphics.Dxgi.IDXGISurface* dxgiSurface, CreationProperties* creationProperties, ID2D1DeviceContext* d2dDeviceContext); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern Graphics.Direct2D.Common.ColorF D2D1ConvertColorSpace(ColorSpace sourceColorSpace, ColorSpace destinationColorSpace, Common.ColorF* color); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern void D2D1SinCos(float angle, float* s, float* c); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern float D2D1Tan(float angle); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern float D2D1Vec3Length(float x, float y, float z); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern float D2D1ComputeMaximumScaleFactor(Matrix3x2* matrix); + + [DllImport("d2d1", ExactSpelling = true)] + public static extern void D2D1GetGradientMeshInteriorPointsFromCoonsPatch(System.Drawing.PointF* pPoint0, System.Drawing.PointF* pPoint1, System.Drawing.PointF* pPoint2, System.Drawing.PointF* pPoint3, System.Drawing.PointF* pPoint4, System.Drawing.PointF* pPoint5, System.Drawing.PointF* pPoint6, System.Drawing.PointF* pPoint7, System.Drawing.PointF* pPoint8, System.Drawing.PointF* pPoint9, System.Drawing.PointF* pPoint10, System.Drawing.PointF* pPoint11, System.Drawing.PointF* pTensorPoint11, System.Drawing.PointF* pTensorPoint12, System.Drawing.PointF* pTensorPoint21, System.Drawing.PointF* pTensorPoint22); + +} +#endregion Functions diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs index 3240fae..0f815d6 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct3D11.cs @@ -10864,7 +10864,7 @@ public partial struct VideoProcessorStream public unsafe ID3D11VideoProcessorInputView* ppPastSurfaces; /// - public ID3D11VideoProcessorInputView pInputSurface; + public unsafe ID3D11VideoProcessorInputView* pInputSurface; /// public unsafe ID3D11VideoProcessorInputView* ppFutureSurfaces; @@ -10873,7 +10873,7 @@ public partial struct VideoProcessorStream public unsafe ID3D11VideoProcessorInputView* ppPastSurfacesRight; /// - public ID3D11VideoProcessorInputView pInputSurfaceRight; + public unsafe ID3D11VideoProcessorInputView* pInputSurfaceRight; /// public unsafe ID3D11VideoProcessorInputView* ppFutureSurfacesRight; @@ -11650,7 +11650,7 @@ public partial struct VideoDecoderBufferDescription1 public partial struct VideoDecoderBeginFrameCryptoSession { /// - public ID3D11CryptoSession pCryptoSession; + public unsafe ID3D11CryptoSession* pCryptoSession; /// public uint BlobSize; diff --git a/src/Vortice.Win32/Generated/Graphics/Direct3D12.cs b/src/Vortice.Win32/Generated/Graphics/Direct3D12.cs index 70ab54e..f0cf6bd 100644 --- a/src/Vortice.Win32/Generated/Graphics/Direct3D12.cs +++ b/src/Vortice.Win32/Generated/Graphics/Direct3D12.cs @@ -7294,7 +7294,7 @@ public partial struct CachedPipelineState public partial struct GraphicsPipelineStateDescription { /// - public ID3D12RootSignature pRootSignature; + public unsafe ID3D12RootSignature* pRootSignature; /// public ShaderBytecode VS; @@ -7391,7 +7391,7 @@ public partial struct GraphicsPipelineStateDescription public partial struct ComputePipelineStateDescription { /// - public ID3D12RootSignature pRootSignature; + public unsafe ID3D12RootSignature* pRootSignature; /// public ShaderBytecode CS; @@ -8221,7 +8221,7 @@ public partial struct PackedMipInfo public partial struct ResourceTransitionBarrier { /// - public ID3D12Resource pResource; + public unsafe ID3D12Resource* pResource; /// public uint Subresource; @@ -8238,10 +8238,10 @@ public partial struct ResourceTransitionBarrier public partial struct ResourceAliasingBarrier { /// - public ID3D12Resource pResourceBefore; + public unsafe ID3D12Resource* pResourceBefore; /// - public ID3D12Resource pResourceAfter; + public unsafe ID3D12Resource* pResourceAfter; } /// @@ -8249,7 +8249,7 @@ public partial struct ResourceAliasingBarrier public partial struct ResourceUavBarrier { /// - public ID3D12Resource pResource; + public unsafe ID3D12Resource* pResource; } /// @@ -8361,7 +8361,7 @@ public partial struct PlacedSubresourceFootprint public partial struct TextureCopyLocation { /// - public ID3D12Resource pResource; + public unsafe ID3D12Resource* pResource; /// public TextureCopyType Type; @@ -10433,7 +10433,7 @@ public partial struct StateObjectConfig public partial struct GlobalRootSignature { /// - public ID3D12RootSignature pGlobalRootSignature; + public unsafe ID3D12RootSignature* pGlobalRootSignature; } /// @@ -10441,7 +10441,7 @@ public partial struct GlobalRootSignature public partial struct LocalRootSignature { /// - public ID3D12RootSignature pLocalRootSignature; + public unsafe ID3D12RootSignature* pLocalRootSignature; } /// @@ -10485,7 +10485,7 @@ public partial struct DxilLibraryDescription public partial struct ExistingCollectionDescription { /// - public ID3D12StateObject pExistingCollection; + public unsafe ID3D12StateObject* pExistingCollection; /// public uint NumExports; @@ -10966,10 +10966,10 @@ public partial struct AutoBreadcrumbNode public unsafe ushort* pCommandQueueDebugNameW; /// - public ID3D12GraphicsCommandList pCommandList; + public unsafe ID3D12GraphicsCommandList* pCommandList; /// - public ID3D12CommandQueue pCommandQueue; + public unsafe ID3D12CommandQueue* pCommandQueue; /// public uint BreadcrumbCount; @@ -11012,10 +11012,10 @@ public partial struct AutoBreadcrumbNode1 public unsafe ushort* pCommandQueueDebugNameW; /// - public ID3D12GraphicsCommandList pCommandList; + public unsafe ID3D12GraphicsCommandList* pCommandList; /// - public ID3D12CommandQueue pCommandQueue; + public unsafe ID3D12CommandQueue* pCommandQueue; /// public uint BreadcrumbCount; @@ -11384,10 +11384,10 @@ public partial struct RenderPassEndingAccessResolveSubresourceParameters public partial struct RenderPassEndingAccessResolveParameters { /// - public ID3D12Resource pSrcResource; + public unsafe ID3D12Resource* pSrcResource; /// - public ID3D12Resource pDstResource; + public unsafe ID3D12Resource* pDstResource; /// public uint SubresourceCount; diff --git a/src/Vortice.Win32/Generated/Graphics/DirectWrite.cs b/src/Vortice.Win32/Generated/Graphics/DirectWrite.cs index e358e65..d378c46 100644 --- a/src/Vortice.Win32/Generated/Graphics/DirectWrite.cs +++ b/src/Vortice.Win32/Generated/Graphics/DirectWrite.cs @@ -2562,7 +2562,7 @@ public partial struct ShapingGlyphProperties public partial struct GlyphRun { /// - public IDWriteFontFace fontFace; + public unsafe IDWriteFontFace* fontFace; /// public float fontEmSize; diff --git a/src/Vortice.Win32/Generated/Graphics/Imaging.D2D.cs b/src/Vortice.Win32/Generated/Graphics/Imaging.D2D.cs new file mode 100644 index 0000000..8b65176 --- /dev/null +++ b/src/Vortice.Win32/Generated/Graphics/Imaging.D2D.cs @@ -0,0 +1,358 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ + +using System; +using System.Numerics; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Diagnostics.CodeAnalysis; + +#if !NET6_0_OR_GREATER +using MemoryMarshal = Win32.MemoryMarshal; +#endif + +namespace Win32.Graphics.Imaging.D2D; + +public static partial class Apis +{ +} + +#region COM Types +/// +/// IWICImageEncoder +[Guid("04c75bf8-3ce1-473b-acc5-3cc4f5e94999")] +[NativeTypeName("struct IWICImageEncoder : IUnknown")] +[NativeInheritance("IUnknown")] +public unsafe partial struct IWICImageEncoder +{ + public static ref readonly Guid IID_IWICImageEncoder + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0xF8, 0x5B, 0xC7, 0x04, + 0xE1, 0x3C, + 0x3B, 0x47, + 0xAC, + 0xC5, + 0x3C, + 0xC4, + 0xF5, + 0xE9, + 0x49, + 0x99 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IWICImageEncoder)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + [return: NativeTypeName("ULONG")] + public uint AddRef() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + [return: NativeTypeName("ULONG")] + public uint Release() + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult WriteFrame(Graphics.Direct2D.ID2D1Image* pImage, Graphics.Imaging.IWICBitmapFrameEncode* pFrameEncode, Graphics.Imaging.WICImageParameters* pImageParameters) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IWICImageEncoder*)Unsafe.AsPointer(ref this), pImage, pFrameEncode, pImageParameters); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult WriteFrameThumbnail(Graphics.Direct2D.ID2D1Image* pImage, Graphics.Imaging.IWICBitmapFrameEncode* pFrameEncode, Graphics.Imaging.WICImageParameters* pImageParameters) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IWICImageEncoder*)Unsafe.AsPointer(ref this), pImage, pFrameEncode, pImageParameters); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult WriteThumbnail(Graphics.Direct2D.ID2D1Image* pImage, Graphics.Imaging.IWICBitmapEncoder* pEncoder, Graphics.Imaging.WICImageParameters* pImageParameters) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IWICImageEncoder*)Unsafe.AsPointer(ref this), pImage, pEncoder, pImageParameters); + } +} + +/// +/// IWICImagingFactory2 +[Guid("7b816b45-1996-4476-b132-de9e247c8af0")] +[NativeTypeName("struct IWICImagingFactory2 : IWICImagingFactory")] +[NativeInheritance("IWICImagingFactory")] +public unsafe partial struct IWICImagingFactory2 +{ + public static ref readonly Guid IID_IWICImagingFactory2 + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + ReadOnlySpan data = new byte[] { + 0x45, 0x6B, 0x81, 0x7B, + 0x96, 0x19, + 0x76, 0x44, + 0xB1, + 0x32, + 0xDE, + 0x9E, + 0x24, + 0x7C, + 0x8A, + 0xF0 + }; + + Debug.Assert(data.Length == Unsafe.SizeOf()); + return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); + } + } + + public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IWICImagingFactory2)); + + public void** lpVtbl; + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(0)] + public HResult CreateDecoderFromFilename(ushort* wzFilename, Guid* pguidVendor, uint dwDesiredAccess, Graphics.Imaging.WICDecodeOptions metadataOptions, Graphics.Imaging.IWICBitmapDecoder** ppIDecoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), wzFilename, pguidVendor, dwDesiredAccess, metadataOptions, ppIDecoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(1)] + public HResult CreateDecoderFromStream(Com.IStream* pIStream, Guid* pguidVendor, Graphics.Imaging.WICDecodeOptions metadataOptions, Graphics.Imaging.IWICBitmapDecoder** ppIDecoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIStream, pguidVendor, metadataOptions, ppIDecoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(2)] + public HResult CreateDecoderFromFileHandle(nuint hFile, Guid* pguidVendor, Graphics.Imaging.WICDecodeOptions metadataOptions, Graphics.Imaging.IWICBitmapDecoder** ppIDecoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), hFile, pguidVendor, metadataOptions, ppIDecoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(3)] + public HResult CreateComponentInfo(Guid* clsidComponent, Graphics.Imaging.IWICComponentInfo** ppIInfo) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), clsidComponent, ppIInfo); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(4)] + public HResult CreateDecoder(Guid* guidContainerFormat, Guid* pguidVendor, Graphics.Imaging.IWICBitmapDecoder** ppIDecoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), guidContainerFormat, pguidVendor, ppIDecoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(5)] + public HResult CreateEncoder(Guid* guidContainerFormat, Guid* pguidVendor, Graphics.Imaging.IWICBitmapEncoder** ppIEncoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), guidContainerFormat, pguidVendor, ppIEncoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(6)] + public HResult CreatePalette(Graphics.Imaging.IWICPalette** ppIPalette) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIPalette); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(7)] + public HResult CreateFormatConverter(Graphics.Imaging.IWICFormatConverter** ppIFormatConverter) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIFormatConverter); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(8)] + public HResult CreateBitmapScaler(Graphics.Imaging.IWICBitmapScaler** ppIBitmapScaler) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIBitmapScaler); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(9)] + public HResult CreateBitmapClipper(Graphics.Imaging.IWICBitmapClipper** ppIBitmapClipper) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIBitmapClipper); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(10)] + public HResult CreateBitmapFlipRotator(Graphics.Imaging.IWICBitmapFlipRotator** ppIBitmapFlipRotator) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIBitmapFlipRotator); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(11)] + public HResult CreateStream(Graphics.Imaging.IWICStream** ppIWICStream) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIWICStream); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(12)] + public HResult CreateColorContext(Graphics.Imaging.IWICColorContext** ppIWICColorContext) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIWICColorContext); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(13)] + public HResult CreateColorTransformer(Graphics.Imaging.IWICColorTransform** ppIWICColorTransform) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), ppIWICColorTransform); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(14)] + public HResult CreateBitmap(uint uiWidth, uint uiHeight, Guid* pixelFormat, Graphics.Imaging.WICBitmapCreateCacheOption option, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), uiWidth, uiHeight, pixelFormat, option, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(15)] + public HResult CreateBitmapFromSource(Graphics.Imaging.IWICBitmapSource* pIBitmapSource, Graphics.Imaging.WICBitmapCreateCacheOption option, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIBitmapSource, option, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(16)] + public HResult CreateBitmapFromSourceRect(Graphics.Imaging.IWICBitmapSource* pIBitmapSource, uint x, uint y, uint width, uint height, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIBitmapSource, x, y, width, height, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(17)] + public HResult CreateBitmapFromMemory(uint uiWidth, uint uiHeight, Guid* pixelFormat, uint cbStride, uint cbBufferSize, byte* pbBuffer, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), uiWidth, uiHeight, pixelFormat, cbStride, cbBufferSize, pbBuffer, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(18)] + public HResult CreateBitmapFromHBITMAP(IntPtr hBitmap, IntPtr hPalette, Graphics.Imaging.WICBitmapAlphaChannelOption options, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), hBitmap, hPalette, options, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(19)] + public HResult CreateBitmapFromHICON(IntPtr hIcon, Graphics.Imaging.IWICBitmap** ppIBitmap) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), hIcon, ppIBitmap); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(20)] + public HResult CreateComponentEnumerator(uint componentTypes, uint options, Com.IEnumUnknown** ppIEnumUnknown) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), componentTypes, options, ppIEnumUnknown); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(21)] + public HResult CreateFastMetadataEncoderFromDecoder(Graphics.Imaging.IWICBitmapDecoder* pIDecoder, Graphics.Imaging.IWICFastMetadataEncoder** ppIFastEncoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIDecoder, ppIFastEncoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(22)] + public HResult CreateFastMetadataEncoderFromFrameDecode(Graphics.Imaging.IWICBitmapFrameDecode* pIFrameDecoder, Graphics.Imaging.IWICFastMetadataEncoder** ppIFastEncoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIFrameDecoder, ppIFastEncoder); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(23)] + public HResult CreateQueryWriter(Guid* guidMetadataFormat, Guid* pguidVendor, Graphics.Imaging.IWICMetadataQueryWriter** ppIQueryWriter) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), guidMetadataFormat, pguidVendor, ppIQueryWriter); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(24)] + public HResult CreateQueryWriterFromReader(Graphics.Imaging.IWICMetadataQueryReader* pIQueryReader, Guid* pguidVendor, Graphics.Imaging.IWICMetadataQueryWriter** ppIQueryWriter) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pIQueryReader, pguidVendor, ppIQueryWriter); + } + + /// + [MethodImpl(MethodImplOptions.AggressiveInlining)] + [VtblIndex(25)] + public HResult CreateImageEncoder(Graphics.Direct2D.ID2D1Device* pD2DDevice, IWICImageEncoder** ppWICImageEncoder) + { + return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((IWICImagingFactory2*)Unsafe.AsPointer(ref this), pD2DDevice, ppWICImageEncoder); + } +} + +#endregion Com Types + diff --git a/src/Vortice.Win32/Graphics/Imaging/Apis.cs b/src/Vortice.Win32/Graphics/Imaging/Apis.cs index e19abc8..7fa8823 100644 --- a/src/Vortice.Win32/Graphics/Imaging/Apis.cs +++ b/src/Vortice.Win32/Graphics/Imaging/Apis.cs @@ -2,6 +2,7 @@ // Licensed under the MIT License (MIT). See LICENSE in the repository root for more information. using System.Runtime.CompilerServices; +using Win32.Graphics.Imaging.D2D; using static Win32.Apis; namespace Win32.Graphics.Imaging; @@ -17,4 +18,14 @@ public static unsafe partial class Apis __uuidof(), (void**)factory); } + + public static HResult CreateWICImagingFactory(IWICImagingFactory2** factory) + { + return CoCreateInstance( + (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in CLSID_WICImagingFactory2)), + null, + CLSCTX_INPROC_SERVER, + __uuidof(), + (void**)factory); + } } diff --git a/src/Vortice.Win32/Vortice.Win32.csproj b/src/Vortice.Win32/Vortice.Win32.csproj index f0d0cdb..ee07c80 100644 --- a/src/Vortice.Win32/Vortice.Win32.csproj +++ b/src/Vortice.Win32/Vortice.Win32.csproj @@ -3,7 +3,7 @@ netstandard2.0;net6.0; Windows API low level bindings. - 1.4.1 + 1.5.0 true diff --git a/src/samples/01-ClearScreen/Program.cs b/src/samples/01-ClearScreen/Program.cs index 9500194..a329f82 100644 --- a/src/samples/01-ClearScreen/Program.cs +++ b/src/samples/01-ClearScreen/Program.cs @@ -15,9 +15,15 @@ using static Win32.Graphics.Direct3D11.Apis; using static Win32.Graphics.Dxgi.Apis; using static Win32.Graphics.Imaging.Apis; using static Win32.Graphics.DirectWrite.Apis; +using static Win32.Graphics.Direct2D.Apis; using InfoQueueFilter = Win32.Graphics.Direct3D11.InfoQueueFilter; using MessageId = Win32.Graphics.Direct3D11.MessageId; +using Win32.Graphics.Direct2D; using Win32.Graphics.DirectWrite; +using FactoryType = Win32.Graphics.Direct2D.FactoryType; +using DWriteFactoryType = Win32.Graphics.DirectWrite.FactoryType; +using FeatureLevel = Win32.Graphics.Direct3D.FeatureLevel; +using Win32.Graphics.Imaging.D2D; namespace ClearScreen; @@ -54,11 +60,11 @@ public static unsafe class Program string assetsPath = Path.Combine(AppContext.BaseDirectory, "Assets", "Textures"); string textureFile = Path.Combine(assetsPath, "10points.png"); - using ComPtr wicImagingFactory = default; - + using ComPtr wicImagingFactory = default; CreateWICImagingFactory(wicImagingFactory.GetAddressOf()).ThrowIfFailed(); - using ComPtr decoder = wicImagingFactory.Get()->CreateDecoderFromFilename(textureFile); + using ComPtr decoder = + ((IWICImagingFactory*)wicImagingFactory.Get())->CreateDecoderFromFilename(textureFile); using ComPtr wicBitmapFrameDecode = default; @@ -76,8 +82,15 @@ public static unsafe class Program private static void TestD2D1AndDWrite() { + using ComPtr d2d1Factory2 = default; + + D2D1CreateFactory(FactoryType.MultiThreaded, + __uuidof(), + default, + d2d1Factory2.GetVoidAddressOf()).ThrowIfFailed(); + using ComPtr dwriteFactory = default; - DWriteCreateFactory(FactoryType.Shared, __uuidof(), dwriteFactory.GetIUnknownAddressOf()).ThrowIfFailed(); + DWriteCreateFactory(DWriteFactoryType.Shared, __uuidof(), dwriteFactory.GetIUnknownAddressOf()).ThrowIfFailed(); using ComPtr textFormat = dwriteFactory.Get()->CreateTextFormat(