49 lines
1.8 KiB
C#
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;
|
|
}
|
|
}
|