// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace Win32.Graphics.DirectWrite; /// /// IDWriteFactory5 [Guid("958db99a-be2a-4f09-af7d-65189803d1d3")] [NativeTypeName("struct IDWriteFactory5 : IDWriteFactory4")] [NativeInheritance("IDWriteFactory4")] public unsafe partial struct IDWriteFactory5 : IDWriteFactory5.Interface, INativeGuid { public static ref readonly Guid IID_IDWriteFactory5 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan data = new byte[] { 0x9A, 0xB9, 0x8D, 0x95, 0x2A, 0xBE, 0x09, 0x4F, 0xAF, 0x7D, 0x65, 0x18, 0x98, 0x03, 0xD1, 0xD3 }; Debug.Assert(data.Length == Unsafe.SizeOf()); return ref Unsafe.As(ref MemoryMarshal.GetReference(data)); } } #if NET6_0_OR_GREATER static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDWriteFactory5)); #else public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDWriteFactory5)); #endif public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IDWriteFactory5*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IDWriteFactory5*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult GetSystemFontCollection(IDWriteFontCollection** fontCollection, Bool32 checkForUpdates) { return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontCollection, checkForUpdates); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult CreateCustomFontCollection(IDWriteFontCollectionLoader* collectionLoader, void* collectionKey, uint collectionKeySize, IDWriteFontCollection** fontCollection) { return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), collectionLoader, collectionKey, collectionKeySize, fontCollection); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult RegisterFontCollectionLoader(IDWriteFontCollectionLoader* fontCollectionLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontCollectionLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult UnregisterFontCollectionLoader(IDWriteFontCollectionLoader* fontCollectionLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontCollectionLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult CreateFontFileReference(ushort* filePath, ulong* lastWriteTime, IDWriteFontFile** fontFile) { return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), filePath, lastWriteTime, fontFile); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult CreateCustomFontFileReference(void* fontFileReferenceKey, uint fontFileReferenceKeySize, IDWriteFontFileLoader* fontFileLoader, IDWriteFontFile** fontFile) { return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFileReferenceKey, fontFileReferenceKeySize, fontFileLoader, fontFile); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult CreateFontFace(FontFaceType fontFaceType, uint numberOfFiles, IDWriteFontFile** fontFiles, uint faceIndex, FontSimulations fontFaceSimulationFlags, IDWriteFontFace** fontFace) { return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFaceType, numberOfFiles, fontFiles, faceIndex, fontFaceSimulationFlags, fontFace); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult CreateRenderingParams(IDWriteRenderingParams** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult CreateMonitorRenderingParams(IntPtr monitor, IDWriteRenderingParams** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), monitor, renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult CreateCustomRenderingParams(float gamma, float enhancedContrast, float clearTypeLevel, PixelGeometry pixelGeometry, RenderingMode renderingMode, IDWriteRenderingParams** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), gamma, enhancedContrast, clearTypeLevel, pixelGeometry, renderingMode, renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult RegisterFontFileLoader(IDWriteFontFileLoader* fontFileLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFileLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult UnregisterFontFileLoader(IDWriteFontFileLoader* fontFileLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFileLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult CreateTextFormat(ushort* fontFamilyName, IDWriteFontCollection* fontCollection, FontWeight fontWeight, FontStyle fontStyle, FontStretch fontStretch, float fontSize, ushort* localeName, IDWriteTextFormat** textFormat) { return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFamilyName, fontCollection, fontWeight, fontStyle, fontStretch, fontSize, localeName, textFormat); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult CreateTypography(IDWriteTypography** typography) { return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), typography); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetGdiInterop(IDWriteGdiInterop** gdiInterop) { return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), gdiInterop); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult CreateTextLayout(ushort* @string, uint stringLength, IDWriteTextFormat* textFormat, float maxWidth, float maxHeight, IDWriteTextLayout** textLayout) { return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, maxWidth, maxHeight, textLayout); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult CreateGdiCompatibleTextLayout(ushort* @string, uint stringLength, IDWriteTextFormat* textFormat, float layoutWidth, float layoutHeight, float pixelsPerDip, Matrix3x2* transform, Bool32 useGdiNatural, IDWriteTextLayout** textLayout) { return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), @string, stringLength, textFormat, layoutWidth, layoutHeight, pixelsPerDip, transform, useGdiNatural, textLayout); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public HResult CreateEllipsisTrimmingSign(IDWriteTextFormat* textFormat, IDWriteInlineObject** trimmingSign) { return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), textFormat, trimmingSign); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult CreateTextAnalyzer(IDWriteTextAnalyzer** textAnalyzer) { return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), textAnalyzer); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult CreateNumberSubstitution(NumberSubstitutionMethod substitutionMethod, ushort* localeName, Bool32 ignoreUserOverride, IDWriteNumberSubstitution** numberSubstitution) { return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), substitutionMethod, localeName, ignoreUserOverride, numberSubstitution); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public HResult CreateGlyphRunAnalysis(GlyphRun* glyphRun, float pixelsPerDip, Matrix3x2* transform, RenderingMode renderingMode, MeasuringMode measuringMode, float baselineOriginX, float baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis) { return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), glyphRun, pixelsPerDip, transform, renderingMode, measuringMode, baselineOriginX, baselineOriginY, glyphRunAnalysis); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult GetEudcFontCollection(IDWriteFontCollection** fontCollection, Bool32 checkForUpdates) { return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontCollection, checkForUpdates); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult CreateCustomRenderingParams(float gamma, float enhancedContrast, float enhancedContrastGrayscale, float clearTypeLevel, PixelGeometry pixelGeometry, RenderingMode renderingMode, IDWriteRenderingParams1** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), gamma, enhancedContrast, enhancedContrastGrayscale, clearTypeLevel, pixelGeometry, renderingMode, renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult GetSystemFontFallback(IDWriteFontFallback** fontFallback) { return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFallback); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult CreateFontFallbackBuilder(IDWriteFontFallbackBuilder** fontFallbackBuilder) { return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFallbackBuilder); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult TranslateColorGlyphRun(float baselineOriginX, float baselineOriginY, GlyphRun* glyphRun, GlyphRunDescription* glyphRunDescription, MeasuringMode measuringMode, Matrix3x2* worldToDeviceTransform, uint colorPaletteIndex, IDWriteColorGlyphRunEnumerator** colorLayers) { return ((delegate* unmanaged[Stdcall])(lpVtbl[28]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), baselineOriginX, baselineOriginY, glyphRun, glyphRunDescription, measuringMode, worldToDeviceTransform, colorPaletteIndex, colorLayers); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(29)] public HResult CreateCustomRenderingParams(float gamma, float enhancedContrast, float grayscaleEnhancedContrast, float clearTypeLevel, PixelGeometry pixelGeometry, RenderingMode renderingMode, GridFitMode gridFitMode, IDWriteRenderingParams2** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[29]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), gamma, enhancedContrast, grayscaleEnhancedContrast, clearTypeLevel, pixelGeometry, renderingMode, gridFitMode, renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(30)] public HResult CreateGlyphRunAnalysis(GlyphRun* glyphRun, Matrix3x2* transform, RenderingMode renderingMode, MeasuringMode measuringMode, GridFitMode gridFitMode, TextAntialiasMode antialiasMode, float baselineOriginX, float baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis) { return ((delegate* unmanaged[Stdcall])(lpVtbl[30]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), glyphRun, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, baselineOriginX, baselineOriginY, glyphRunAnalysis); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(31)] public HResult CreateGlyphRunAnalysis(GlyphRun* glyphRun, Matrix3x2* transform, RenderingMode1 renderingMode, MeasuringMode measuringMode, GridFitMode gridFitMode, TextAntialiasMode antialiasMode, float baselineOriginX, float baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis) { return ((delegate* unmanaged[Stdcall])(lpVtbl[31]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), glyphRun, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, baselineOriginX, baselineOriginY, glyphRunAnalysis); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(32)] public HResult CreateCustomRenderingParams(float gamma, float enhancedContrast, float grayscaleEnhancedContrast, float clearTypeLevel, PixelGeometry pixelGeometry, RenderingMode1 renderingMode, GridFitMode gridFitMode, IDWriteRenderingParams3** renderingParams) { return ((delegate* unmanaged[Stdcall])(lpVtbl[32]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), gamma, enhancedContrast, grayscaleEnhancedContrast, clearTypeLevel, pixelGeometry, renderingMode, gridFitMode, renderingParams); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(33)] public HResult CreateFontFaceReference(IDWriteFontFile* fontFile, uint faceIndex, FontSimulations fontSimulations, IDWriteFontFaceReference** fontFaceReference) { return ((delegate* unmanaged[Stdcall])(lpVtbl[33]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontFile, faceIndex, fontSimulations, fontFaceReference); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(34)] public HResult CreateFontFaceReference(ushort* filePath, ulong* lastWriteTime, uint faceIndex, FontSimulations fontSimulations, IDWriteFontFaceReference** fontFaceReference) { return ((delegate* unmanaged[Stdcall])(lpVtbl[34]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), filePath, lastWriteTime, faceIndex, fontSimulations, fontFaceReference); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(35)] public HResult GetSystemFontSet(IDWriteFontSet** fontSet) { return ((delegate* unmanaged[Stdcall])(lpVtbl[35]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontSet); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(36)] public HResult CreateFontSetBuilder(IDWriteFontSetBuilder** fontSetBuilder) { return ((delegate* unmanaged[Stdcall])(lpVtbl[36]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontSetBuilder); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(37)] public HResult CreateFontCollectionFromFontSet(IDWriteFontSet* fontSet, IDWriteFontCollection1** fontCollection) { return ((delegate* unmanaged[Stdcall])(lpVtbl[37]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontSet, fontCollection); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(38)] public HResult GetSystemFontCollection(Bool32 includeDownloadableFonts, IDWriteFontCollection1** fontCollection, Bool32 checkForUpdates) { return ((delegate* unmanaged[Stdcall])(lpVtbl[38]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), includeDownloadableFonts, fontCollection, checkForUpdates); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(39)] public HResult GetFontDownloadQueue(IDWriteFontDownloadQueue** fontDownloadQueue) { return ((delegate* unmanaged[Stdcall])(lpVtbl[39]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontDownloadQueue); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(40)] public HResult TranslateColorGlyphRun(System.Drawing.PointF baselineOrigin, GlyphRun* glyphRun, GlyphRunDescription* glyphRunDescription, GlyphImageFormats desiredGlyphImageFormats, MeasuringMode measuringMode, Matrix3x2* worldAndDpiTransform, uint colorPaletteIndex, IDWriteColorGlyphRunEnumerator1** colorLayers) { return ((delegate* unmanaged[Stdcall])(lpVtbl[40]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), baselineOrigin, glyphRun, glyphRunDescription, desiredGlyphImageFormats, measuringMode, worldAndDpiTransform, colorPaletteIndex, colorLayers); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(41)] public HResult ComputeGlyphOrigins(GlyphRun* glyphRun, System.Drawing.PointF baselineOrigin, System.Drawing.PointF* glyphOrigins) { return ((delegate* unmanaged[Stdcall])(lpVtbl[41]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), glyphRun, baselineOrigin, glyphOrigins); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(42)] public HResult ComputeGlyphOrigins(GlyphRun* glyphRun, MeasuringMode measuringMode, System.Drawing.PointF baselineOrigin, Matrix3x2* worldAndDpiTransform, System.Drawing.PointF* glyphOrigins) { return ((delegate* unmanaged[Stdcall])(lpVtbl[42]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), glyphRun, measuringMode, baselineOrigin, worldAndDpiTransform, glyphOrigins); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(43)] public HResult CreateFontSetBuilder(IDWriteFontSetBuilder1** fontSetBuilder) { return ((delegate* unmanaged[Stdcall])(lpVtbl[43]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fontSetBuilder); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(44)] public HResult CreateInMemoryFontFileLoader(IDWriteInMemoryFontFileLoader** newLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[44]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), newLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(45)] public HResult CreateHttpFontFileLoader(ushort* referrerUrl, ushort* extraHeaders, IDWriteRemoteFontFileLoader** newLoader) { return ((delegate* unmanaged[Stdcall])(lpVtbl[45]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), referrerUrl, extraHeaders, newLoader); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(46)] public ContainerType AnalyzeContainerType(void* fileData, uint fileDataSize) { return ((delegate* unmanaged[Stdcall])(lpVtbl[46]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), fileData, fileDataSize); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(47)] public HResult UnpackFontFile(ContainerType containerType, void* fileData, uint fileDataSize, IDWriteFontFileStream** unpackedFontStream) { return ((delegate* unmanaged[Stdcall])(lpVtbl[47]))((IDWriteFactory5*)Unsafe.AsPointer(ref this), containerType, fileData, fileDataSize, unpackedFontStream); } public interface Interface : IDWriteFactory4.Interface { [VtblIndex(43)] HResult CreateFontSetBuilder(IDWriteFontSetBuilder1** fontSetBuilder); [VtblIndex(44)] HResult CreateInMemoryFontFileLoader(IDWriteInMemoryFontFileLoader** newLoader); [VtblIndex(45)] HResult CreateHttpFontFileLoader(ushort* referrerUrl, ushort* extraHeaders, IDWriteRemoteFontFileLoader** newLoader); [VtblIndex(46)] ContainerType AnalyzeContainerType(void* fileData, uint fileDataSize); [VtblIndex(47)] HResult UnpackFontFile(ContainerType containerType, void* fileData, uint fileDataSize, IDWriteFontFileStream** unpackedFontStream); } }