418 lines
26 KiB
C#
418 lines
26 KiB
C#
using StgSharp.Controlling;
|
|
using StgSharp.Graphics;
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace StgSharp
|
|
{
|
|
internal static partial class internalIO
|
|
{
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "initGL",
|
|
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
|
|
internal static extern unsafe void InternalInitGL(int majorVersion, int minorVersion);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "initGLAD",
|
|
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
|
|
internal static extern unsafe int InternalInitGLAD();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "loadShaderCode",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe uint InternalLoadShaderCode(byte* shaderCode, int shaderType);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "linkShaderProgram",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern uint InternalLinkShaderProgram(uint shaderProgram);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "readLog",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe IntPtr InternalReadLog();
|
|
|
|
|
|
|
|
|
|
#region GLFW
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowUserPointer",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void* glfwGetWindowUserPointer(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorUserPointer", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void* glfwGetMonitorUserPointer(GLFWmonitor* monitor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetJoystickUserPointer", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void* glfwGetJoystickUserPointer(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwWindowHintString", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwWindowHintString(int hint, byte* value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwWindowHint", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwWindowHint(int hint, int value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwWaitEventsTimeout", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwWaitEventsTimeout(double timeout);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwWaitEvents", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwWaitEvents();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwTerminate", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwTerminate();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSwapInterval", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSwapInterval(int interval);
|
|
|
|
//window is the pointer to a glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSwapBuffers", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSwapBuffers(IntPtr window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwShowWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwShowWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowUserPointer", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowUserPointer(GLFWwindow* window, void* pointer);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowTitle", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowTitle(GLFWwindow* window, byte* title);
|
|
|
|
//window is the pointer of glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSizeLimits", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowSizeLimits(IntPtr window, int minwidth, int minheight, int maxwidth, int maxheight);
|
|
|
|
//window is the pointer of glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSize", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowSize(IntPtr window, int width, int height);
|
|
|
|
//window is the pointer of glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowShouldClose", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowShouldClose(IntPtr window, int value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowPos", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowPos(GLFWwindow* window, int xpos, int ypos);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowOpacity", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowOpacity(GLFWwindow* window, float opacity);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowMonitor", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowMonitor(GLFWwindow* window, GLFWmonitor* monitor, int xpos, int ypos, int width, int height, int refreshRate);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowIcon", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowIcon(GLFWwindow* window, int count, GLFWimage* images);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowAttrib", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowAttrib(GLFWwindow* window, int attrib, int value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowAspectRatio", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetWindowAspectRatio(GLFWwindow* window, int numer, int denom);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetTime", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetTime(double time);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetMonitorUserPointer", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetMonitorUserPointer(GLFWmonitor* monitor, void* pointer);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetJoystickUserPointer", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetJoystickUserPointer(int jid, void* pointer);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetInputMode", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetInputMode(GLFWwindow* window, int mode, int value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetGammaRamp", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetGammaRamp(GLFWmonitor* monitor, GLFWgammaramp* ramp);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetGamma", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetGamma(GLFWmonitor* monitor, float gamma);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorPos", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetCursorPos(GLFWwindow* window, double xpos, double ypos);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursor", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetCursor(GLFWwindow* window, GLFWcursor* cursor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetClipboardString", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwSetClipboardString(GLFWwindow* window, byte* str);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwRestoreWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwRestoreWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwRequestWindowAttention", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwRequestWindowAttention(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwPostEmptyEvent", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwPostEmptyEvent();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwPollEvents", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwPollEvents();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwMaximizeWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwMaximizeWindow(GLFWwindow* window);
|
|
|
|
//window is the pointer to a glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwMakeContextCurrent", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwMakeContextCurrent(IntPtr window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwInitHint", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwInitHint(int hint, int value);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwIconifyWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwIconifyWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwHideWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwHideWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowSize", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetWindowSize(GLFWwindow* window, int* width, int* height);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowPos", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetWindowPos(GLFWwindow* window, int* xpos, int* ypos);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowFrameSize", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetWindowFrameSize(GLFWwindow* window, int* left, int* top, int* right, int* bottom);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowContentScale", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetWindowContentScale(GLFWwindow* window, float* xscale, float* yscale);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetVersion", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetVersion(int* major, int* minor, int* rev);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorWorkarea", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetMonitorWorkarea(GLFWmonitor* monitor, int* xpos, int* ypos, int* width, int* height);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorPos", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorPhysicalSize", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitorContentScale", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetMonitorContentScale(GLFWmonitor* monitor, float* xscale, float* yscale);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetFramebufferSize", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetFramebufferSize(GLFWwindow* window, int* width, int* height);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetCursorPos", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwGetCursorPos(GLFWwindow* window, double* xpos, double* ypos);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwFocusWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwFocusWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwDestroyWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwDestroyWindow(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwDestroyCursor", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwDestroyCursor(GLFWcursor* cursor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwDefaultWindowHints", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe void glfwDefaultWindowHints();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetTimerValue", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe ulong glfwGetTimerValue();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetTimerFrequency", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe ulong glfwGetTimerFrequency();
|
|
|
|
//window is the pointer to a glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwWindowShouldClose", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwWindowShouldClose(IntPtr window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwVulkanSupported", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwVulkanSupported();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwUpdateGamepadMappings", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwUpdateGamepadMappings(byte* str);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwRawMouseMotionSupported", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwRawMouseMotionSupported();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwJoystickPresent", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwJoystickPresent(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwJoystickIsGamepad", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwJoystickIsGamepad(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowAttrib", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetWindowAttrib(GLFWwindow* window, int attrib);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMouseButton", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetMouseButton(GLFWwindow* window, int button);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetKeyScancode", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetKeyScancode(int key);
|
|
|
|
|
|
//window is the pointer to GLFWwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetKey", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern KeyStatus glfwGetKey(IntPtr window, int key);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetInputMode", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetInputMode(GLFWwindow* window, int mode);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetGamepadState", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetGamepadState(int jid, GLFWgamepadstate* state);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetError", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwGetError(byte** description);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwExtensionSupported", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe int glfwExtensionSupported(byte* extension);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowSizeCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowsizefun glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowRefreshCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowrefreshfun glfwSetWindowRefreshCallback(GLFWwindow* window, GLFWwindowrefreshfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowPosCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowposfun glfwSetWindowPosCallback(GLFWwindow* window, GLFWwindowposfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowMaximizeCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowmaximizefun glfwSetWindowMaximizeCallback(GLFWwindow* window, GLFWwindowmaximizefun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowIconifyCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowiconifyfun glfwSetWindowIconifyCallback(GLFWwindow* window, GLFWwindowiconifyfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowFocusCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowfocusfun glfwSetWindowFocusCallback(GLFWwindow* window, GLFWwindowfocusfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowContentScaleCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowcontentscalefun glfwSetWindowContentScaleCallback(GLFWwindow* window, GLFWwindowcontentscalefun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetWindowCloseCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindowclosefun glfwSetWindowCloseCallback(GLFWwindow* window, GLFWwindowclosefun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetCurrentContext", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWwindow* glfwGetCurrentContext();
|
|
|
|
//monitor and share are pointers to instance of glfwmonitor and glfwwindow
|
|
//the method returns a pointer to glfw window instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwCreateWindow", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe IntPtr glfwCreateWindow(
|
|
int width, int height, byte[] title, IntPtr monitor, IntPtr share);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetScrollCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWscrollfun glfwSetScrollCallback(GLFWwindow* window, GLFWscrollfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetMouseButtonCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWmousebuttonfun glfwSetMouseButtonCallback(GLFWwindow* window, GLFWmousebuttonfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetMonitorCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWmonitorfun glfwSetMonitorCallback(GLFWmonitorfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetMonitors",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWmonitor** glfwGetMonitors(int* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowMonitor",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWmonitor* glfwGetWindowMonitor(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetPrimaryMonitor",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWmonitor* glfwGetPrimaryMonitor();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetKeyCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWkeyfun glfwSetKeyCallback(GLFWwindow* window, GLFWkeyfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetJoystickCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWjoystickfun glfwSetJoystickCallback(GLFWjoystickfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetProcAddress",
|
|
CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
|
|
internal static extern unsafe IntPtr glfwGetProcAddress(string procName);
|
|
|
|
//window is the pointer to a glfwwindow instance
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetFramebufferSizeCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWframebuffersizefun glfwSetFramebufferSizeCallback(IntPtr window, GLFWframebuffersizefun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetErrorCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWerrorfun glfwSetErrorCallback(GLFWerrorfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetDropCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWdropfun glfwSetDropCallback(GLFWwindow* window, GLFWdropfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorPosCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcursorposfun glfwSetCursorPosCallback(GLFWwindow* window, GLFWcursorposfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCursorEnterCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcursorenterfun glfwSetCursorEnterCallback(GLFWwindow* window, GLFWcursorenterfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwCreateStandardCursor",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcursor* glfwCreateStandardCursor(int shape);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwCreateCursor",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcursor* glfwCreateCursor(GLFWimage* image, int xhot, int yhot);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCharModsCallback", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcharmodsfun glfwSetCharModsCallback(GLFWwindow* window, GLFWcharmodsfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwSetCharCallback",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWcharfun glfwSetCharCallback(GLFWwindow* window, GLFWcharfun callback);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetWindowOpacity",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe float glfwGetWindowOpacity(GLFWwindow* window);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "glfwGetTime",
|
|
CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe double glfwGetTime();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "unsigned", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetJoystickHats(int jid, int* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "unsigned", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetJoystickButtons(int jid, int* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "GLFWvidmode*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWvidmode* glfwGetVideoModes(GLFWmonitor* monitor, int* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "GLFWvidmode*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWvidmode* glfwGetVideoMode(GLFWmonitor* monitor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "GLFWgammaramp*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe GLFWgammaramp* glfwGetGammaRamp(GLFWmonitor* monitor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "float*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe float* glfwGetJoystickAxes(int jid, int* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte**", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte** glfwGetRequiredInstanceExtensions(uint* count);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetVersionString();
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetMonitorName(GLFWmonitor* monitor);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetKeyName(int key, int scancode);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetJoystickName(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetJoystickGUID(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetGamepadName(int jid);
|
|
|
|
[DllImport(SSGC_libname, EntryPoint = "byte*", CallingConvention = CallingConvention.Cdecl)]
|
|
internal static extern unsafe byte* glfwGetClipboardString(GLFWwindow* window);
|
|
|
|
#endregion
|
|
|
|
|
|
//
|
|
}
|
|
}
|