using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace CPF.Skia { public class Gdi32 { private const string gdi32 = "gdi32.dll"; public const byte PFD_TYPE_RGBA = 0; public const byte PFD_MAIN_PLANE = 0; public const uint PFD_DRAW_TO_WINDOW = 0x00000004; public const uint PFD_SUPPORT_OPENGL = 0x00000020; public const uint PFD_DRAW_TO_BITMAP = 8u; public const uint PFD_SUPPORT_GDI = 16u; [DllImport(gdi32, CallingConvention = CallingConvention.Winapi, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool SetPixelFormat(IntPtr hdc, int iPixelFormat, [In] ref PIXELFORMATDESCRIPTOR ppfd); [DllImport(gdi32, CallingConvention = CallingConvention.Winapi, SetLastError = true)] public static extern int ChoosePixelFormat(IntPtr hdc, [In] ref PIXELFORMATDESCRIPTOR ppfd); [DllImport(gdi32, CallingConvention = CallingConvention.Winapi, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool SwapBuffers(IntPtr hdc); } }