public static GlfwWindowRefreshFun SetWindowRefreshCallback(GlfwWindowPtr window, GlfwWindowRefreshFun cbfun) { windowRefreshFun = cbfun; return(GlfwDelegates.glfwSetWindowRefreshCallback(window, cbfun)); }
static GlfwApp() { s_windowCloseCb = (GlfwWindowPtr wnd) => { if (GetGlfwForm(wnd, out GlFwForm found)) { //user can cancel window close here here bool userCancel = false; GlFwForm.InvokeOnClosing(found, ref userCancel); if (userCancel) { return; } //-------------------------------------- s_latestForm = null; s_latestGlWindowPtr = IntPtr.Zero; //user let this window close *** Glfw.SetWindowShouldClose(wnd, true); Glfw.DestroyWindow(wnd); //destroy this s_existingForms.Remove(wnd); exitingFormList.Remove(found); //-------------------------------------- } }; s_windowFocusCb = (GlfwWindowPtr wnd, bool focus) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.SetFocusState(found, focus); } }; s_windowIconifyCb = (GlfwWindowPtr wnd, bool iconify) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.SetIconifyState(found, iconify); } }; s_windowPosCb = (GlfwWindowPtr wnd, int x, int y) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.InvokeOnWindowMove(found, x, y); } }; s_windowRefreshCb = (GlfwWindowPtr wnd) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.InvokeOnRefresh(found); } }; s_windowSizeCb = (GlfwWindowPtr wnd, int width, int height) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.InvokeOnSizeChanged(found, width, height); } }; s_windowCursorPosCb = (GlfwWindowPtr wnd, double x, double y) => { if (GetGlfwForm(wnd, out GlFwForm found)) { found._latestMouseX = x; found._latestMouseY = y; GlFwForm.InvokeCursorPos(found, x, y); } }; s_windowCursorEnterCb = (GlfwWindowPtr wnd, bool enter) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.SetCursorEnterState(found, enter); } }; s_windowMouseButtonCb = (GlfwWindowPtr wnd, MouseButton btn, KeyActionKind keyAction) => { if (GetGlfwForm(wnd, out GlFwForm found)) { int x = (int)found._latestMouseX; int y = (int)found._latestMouseY; GlFwForm.InvokeMouseButton(found, btn, keyAction, x, y); } }; s_scrollCb = (GlfwWindowPtr wnd, double xoffset, double yoffset) => { if (GetGlfwForm(wnd, out GlFwForm found)) { int x = (int)found._latestMouseX; int y = (int)found._latestMouseY; GlFwForm.InvokeOnScroll(found, x, y, (int)xoffset, (int)yoffset); } }; s_windowKeyCb = (GlfwWindowPtr wnd, Key key, int scanCode, KeyActionKind action, KeyModifiers mods) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.InvokeKey(found, key, scanCode, action, mods); } }; s_windowCharCb = (GlfwWindowPtr wnd, char ch) => { if (GetGlfwForm(wnd, out GlFwForm found)) { GlFwForm.InvokeKeyPress(found, ch); } }; }
internal static extern void glfwSetWindowRefreshCallback(GlfwWindowRefreshFun cbfun);
internal static extern GlfwWindowRefreshFun glfwSetWindowRefreshCallback(GlfwWindowPtr window, GlfwWindowRefreshFun cbfun);
public static GlfwWindowRefreshFun SetWindowRefreshCallback(GlfwWindowPtr window, GlfwWindowRefreshFun cbfun) { windowRefreshFun = cbfun; return GLFWDelegates.glfwSetWindowRefreshCallback(window, cbfun); }
public static void SetWindowRefreshCallback(GlfwWindowRefreshFun cbfun) { windowRefreshFun = cbfun; GlfwDelegates.glfwSetWindowRefreshCallback(cbfun); }
static GlfwApp() { s_windowCloseCb = (GlfwWindowPtr wnd) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { //user can cancel window close here here bool userCancel = false; found.InvokeOnClosing(ref userCancel); if (userCancel) { return; } //-------------------------------------- latestForm = null; latestGlWindowPtr = IntPtr.Zero; //user let this window close *** Glfw.SetWindowShouldClose(wnd, true); Glfw.DestroyWindow(wnd); //destroy this existingForms.Remove(wnd); exitingFormList.Remove(found); //-------------------------------------- } }; s_windowFocusCb = (GlfwWindowPtr wnd, bool focus) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.SetFocusState(focus); } }; s_windowIconifyCb = (GlfwWindowPtr wnd, bool iconify) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.SetIconifyState(iconify); } }; s_windowPosCb = (GlfwWindowPtr wnd, int x, int y) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeOnMove(x, y); } }; s_windowRefreshCb = (GlfwWindowPtr wnd) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeOnRefresh(); } }; s_windowSizeCb = (GlfwWindowPtr wnd, int width, int height) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeOnSizeChanged(width, height); } }; s_windowCursorPosCb = (GlfwWindowPtr wnd, double x, double y) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeCursorPos(x, y); } }; s_windowCursorEnterCb = (GlfwWindowPtr wnd, bool enter) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.SetCursorEnterState(enter); } }; s_windowMouseButtonCb = (GlfwWindowPtr wnd, MouseButton btn, KeyAction keyAction) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeMouseButton(btn, keyAction); } }; s_scrollCb = (GlfwWindowPtr wnd, double xoffset, double yoffset) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeOnScroll(xoffset, yoffset); } }; s_windowKeyCb = (GlfwWindowPtr wnd, Key key, int scanCode, KeyAction action, KeyModifiers mods) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeKey(key, scanCode, action, mods); } }; s_windowCharCb = (GlfwWindowPtr wnd, char ch) => { GlFwForm found; if (GetGlfwForm(wnd, out found)) { found.InvokeKeyPress(ch); } }; }
public static void SetWindowRefreshCallback(GlfwWindowPtr window, GlfwWindowRefreshFun cbfun) { windowRefreshFun = cbfun; GlfwDelegates.glfwSetWindowRefreshCallback(window, cbfun); }
public static GlfwWindowRefreshFun SetWindowRefreshCallback(WindowPtr window, GlfwWindowRefreshFun cbfun) { windowRefreshFun = cbfun; return glfwSetWindowRefreshCallback(window, cbfun); }