GdiPlusInitialization
Helper to ensure GDI+ is initialized before making calls.
using System;
namespace Windows.Win32.Graphics.GdiPlus
{
internal static class GdiPlusInitialization
{
private static UIntPtr s_initToken;
internal unsafe static bool IsInitialized => s_initToken != (UIntPtr)(void*)null;
private unsafe static UIntPtr Init()
{
GdiplusStartupInputEx default = GdiplusStartupInputEx.GetDefault();
UIntPtr result = default(UIntPtr);
PInvokeCore.GdiplusStartup(&result, (GdiplusStartupInput*)(&default), null).ThrowIfFailed();
return result;
}
internal unsafe static bool EnsureInitialized()
{
if (s_initToken == (UIntPtr)(void*)null)
s_initToken = Init();
return IsInitialized;
}
}
}