using System; using System.Runtime.InteropServices; namespace StgSharp.Control { internal delegate void InternalInitGLDelegate(); internal delegate IntPtr InternalGLcreateWindowDelegate (int width, int height, char[] tittle, IntPtr monitor, IntPtr share); internal delegate void InternalGLmakeContextCurrent(IntPtr window); internal delegate void InternalGLswapInterval(int interval); internal delegate void InternalGLclearColorDelegate (float red, float green, float blue, float alpha); internal delegate GLFWproc internalglGetProcAddress(char[] name); internal delegate int internalGLADloadGLloader(InternalGLADloadproc load); internal delegate void GLFWproc(); internal unsafe delegate void* InternalGLADloadproc(byte[] name); [StructLayout(LayoutKind.Sequential)] internal struct GraphicIOPack { internal InternalGLcreateWindowDelegate InternalGLcreateWindow; internal InternalGLmakeContextCurrent InternalGLmakeContextCurrent; internal InternalGLswapInterval InternalGLswapInterval; internal InternalGLclearColorDelegate InternalGLclearColor; internal internalglGetProcAddress InternalGLGetProcAddress; } }