GpMetafileExtensions
using System;
using System.Runtime.CompilerServices;
using Windows.Win32.Foundation;
using Windows.Win32.Graphics.Gdi;
using Windows.Win32.System.Ole;
namespace Windows.Win32.Graphics.GdiPlus
{
[NullableContext(1)]
[Nullable(0)]
internal static class GpMetafileExtensions
{
public unsafe static HENHMETAFILE GetHENHMETAFILE(this IPointer<GpMetafile> metafile)
{
HENHMETAFILE result = default(HENHMETAFILE);
PInvokeGdiPlus.GdipGetHemfFromMetafile(metafile.GetPointer(), &result).ThrowIfFailed();
GC.KeepAlive(metafile);
return result;
}
public static PICTDESC CreatePICTDESC(this IPointer<GpMetafile> metafile)
{
PICTDESC pICTDESC = default(PICTDESC);
pICTDESC.picType = PICTYPE.PICTYPE_ENHMETAFILE;
PICTDESC result = pICTDESC;
result.Anonymous.emf.hemf = metafile.GetHENHMETAFILE();
return result;
}
}
}