| File: Windows\Win32\Graphics\GdiPlus\GpMetafileExtensions.cs | Web Access |
| Project: src\winforms\src\System.Private.Windows.GdiPlus\System.Private.Windows.GdiPlus.csproj (System.Private.Windows.GdiPlus) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Windows.Win32.System.Ole; namespace Windows.Win32.Graphics.GdiPlus; internal static unsafe class GpMetafileExtensions { public static HENHMETAFILE GetHENHMETAFILE(this IPointer<GpMetafile> metafile) { HENHMETAFILE hemf; PInvokeGdiPlus.GdipGetHemfFromMetafile(metafile.GetPointer(), &hemf).ThrowIfFailed(); GC.KeepAlive(metafile); return hemf; } /// <summary> /// Creates a <see cref="PICTDESC"/> structure from the specified <see cref="GpMetafile"/>. /// </summary> public static PICTDESC CreatePICTDESC(this IPointer<GpMetafile> metafile) { PICTDESC desc = new() { picType = PICTYPE.PICTYPE_ENHMETAFILE }; desc.Anonymous.emf.hemf = metafile.GetHENHMETAFILE(); return desc; } }