Files
stgsharp/源代码/StgSharp/Control/IO/GraphicIOpack.cs
T

49 lines
1.8 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace StgSharp.Control
{
//these are gl functions used to create a window
internal delegate void InternalInitGLDelegate();
internal delegate IntPtr InternalGLcreateWindowDelegate
(int width, int height, byte[] 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 int InternalGLwindowShouldClose(IntPtr window);
internal delegate void InternalGLswapBuffers(IntPtr window);
//these are gl functions used to set a callback
internal delegate FrameBufferSizeCallback InternalsetBufferSizeCallback(IntPtr window, FrameBufferSizeCallback callback);
///
internal delegate void GLFWproc();
internal unsafe delegate void* InternalGLADloadproc(byte[] name);
[StructLayout(LayoutKind.Sequential)]
internal struct GraphicIOPack
{
//these are gl functions used to create a window
internal InternalGLcreateWindowDelegate internalGLcreateWindow;
internal InternalGLmakeContextCurrent internalGLmakeContextCurrent;
internal InternalGLswapInterval internalGLswapInterval;
internal InternalGLclearColorDelegate internalGLclearColor;
internal InternalGLwindowShouldClose internalGLwindowShouldClose;
internal InternalGLswapBuffers internalGLswapBuffers;
//these are gl functions used to set a callback
internal InternalsetBufferSizeCallback internalGLsetBufferSize;
}
}