// ------------------------------------------------------------------------------
//
// 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;
///
/// IDWriteFactory2
[Guid("0439fc60-ca44-4994-8dee-3a9af7b732ec")]
[NativeTypeName("struct IDWriteFactory2 : IDWriteFactory1")]
[NativeInheritance("IDWriteFactory1")]
public unsafe partial struct IDWriteFactory2 : IDWriteFactory2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDWriteFactory2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan data = new byte[] {
0x60, 0xFC, 0x39, 0x04,
0x44, 0xCA,
0x94, 0x49,
0x8D,
0xEE,
0x3A,
0x9A,
0xF7,
0xB7,
0x32,
0xEC
};
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_IDWriteFactory2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDWriteFactory2));
#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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IDWriteFactory2*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IDWriteFactory2*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult GetSystemFontCollection(IDWriteFontCollection** fontCollection, Bool32 checkForUpdates)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), collectionLoader, collectionKey, collectionKeySize, fontCollection);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult RegisterFontCollectionLoader(IDWriteFontCollectionLoader* fontCollectionLoader)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), fontCollectionLoader);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult UnregisterFontCollectionLoader(IDWriteFontCollectionLoader* fontCollectionLoader)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), renderingParams);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateMonitorRenderingParams(IntPtr monitor, IDWriteRenderingParams** renderingParams)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), fontFileLoader);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult UnregisterFontFileLoader(IDWriteFontFileLoader* fontFileLoader)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), typography);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetGdiInterop(IDWriteGdiInterop** gdiInterop)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), textFormat, trimmingSign);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult CreateTextAnalyzer(IDWriteTextAnalyzer** textAnalyzer)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), fontFallback);
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult CreateFontFallbackBuilder(IDWriteFontFallbackBuilder** fontFallbackBuilder)
{
return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)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]))((IDWriteFactory2*)Unsafe.AsPointer(ref this), glyphRun, transform, renderingMode, measuringMode, gridFitMode, antialiasMode, baselineOriginX, baselineOriginY, glyphRunAnalysis);
}
public interface Interface : IDWriteFactory1.Interface
{
[VtblIndex(26)]
HResult GetSystemFontFallback(IDWriteFontFallback** fontFallback);
[VtblIndex(27)]
HResult CreateFontFallbackBuilder(IDWriteFontFallbackBuilder** fontFallbackBuilder);
[VtblIndex(28)]
HResult TranslateColorGlyphRun(float baselineOriginX, float baselineOriginY, GlyphRun* glyphRun, GlyphRunDescription* glyphRunDescription, MeasuringMode measuringMode, Matrix3x2* worldToDeviceTransform, uint colorPaletteIndex, IDWriteColorGlyphRunEnumerator** colorLayers);
[VtblIndex(29)]
HResult CreateCustomRenderingParams(float gamma, float enhancedContrast, float grayscaleEnhancedContrast, float clearTypeLevel, PixelGeometry pixelGeometry, RenderingMode renderingMode, GridFitMode gridFitMode, IDWriteRenderingParams2** renderingParams);
[VtblIndex(30)]
HResult CreateGlyphRunAnalysis(GlyphRun* glyphRun, Matrix3x2* transform, RenderingMode renderingMode, MeasuringMode measuringMode, GridFitMode gridFitMode, TextAntialiasMode antialiasMode, float baselineOriginX, float baselineOriginY, IDWriteGlyphRunAnalysis** glyphRunAnalysis);
}
}