Skip to content

Commit 19e0fed

Browse files
committed
Extracted fields for delegates in BindCallbacks
1 parent dba270f commit 19e0fed

File tree

1 file changed

+44
-15
lines changed

1 file changed

+44
-15
lines changed

GLFW.NET/NativeWindow.cs

+44-15
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,19 @@ protected virtual void OnContentScaleChanged(float xScale, float yScale)
4545

4646
private string title;
4747

48+
private PositionCallback windowPositionCallback;
49+
private SizeCallback windowSizeCallback, framebufferSizeCallback;
50+
private FocusCallback windowFocusCallback;
51+
private WindowCallback closeCallback, windowRefreshCallback;
52+
private FileDropCallback dropCallback;
53+
private MouseCallback cursorPositionCallback, scrollCallback;
54+
private MouseEnterCallback cursorEnterCallback;
55+
private MouseButtonCallback mouseButtonCallback;
56+
private CharModsCallback charModsCallback;
57+
private KeyCallback keyCallback;
58+
private WindowMaximizedCallback windowMaximizeCallback;
59+
private WindowContentsScaleCallback windowContentScaleCallback;
60+
4861
#endregion
4962

5063
#region Properties
@@ -668,21 +681,37 @@ protected override bool ReleaseHandle()
668681

669682
private void BindCallbacks()
670683
{
671-
Glfw.SetWindowPositionCallback(Window, (_, x, y) => OnPositionChanged(x, y));
672-
Glfw.SetWindowSizeCallback(Window, (_, w, h) => OnSizeChanged(w, h));
673-
Glfw.SetWindowFocusCallback(Window, (_, focusing) => OnFocusChanged(focusing));
674-
Glfw.SetCloseCallback(Window, _ => OnClosing());
675-
Glfw.SetDropCallback(Window, (_, count, arrayPtr) => OnFileDrop(count, arrayPtr));
676-
Glfw.SetCursorPositionCallback(Window, (_, x, y) => OnMouseMove(x, y));
677-
Glfw.SetCursorEnterCallback(Window, (_, entering) => OnMouseEnter(entering));
678-
Glfw.SetMouseButtonCallback(Window, (_, button, state, mod) => OnMouseButton(button, state, mod));
679-
Glfw.SetScrollCallback(Window, (_, x, y) => OnMouseScroll(x, y));
680-
Glfw.SetCharModsCallback(Window, (_, cp, mods) => OnCharacterInput(cp, mods));
681-
Glfw.SetFramebufferSizeCallback(Window, (_, w, h) => OnFramebufferSizeChanged(w, h));
682-
Glfw.SetWindowRefreshCallback(Window, _ => Refreshed?.Invoke(this, EventArgs.Empty));
683-
Glfw.SetKeyCallback(Window, (_, key, code, state, mods) => OnKey(key, code, state, mods));
684-
Glfw.SetWindowMaximizeCallback(Window, (_, maximized) => OnMaximizeChanged(maximized));
685-
Glfw.SetWindowContentScaleCallback(Window, (_, x, y) => OnContentScaleChanged(x, y));
684+
windowPositionCallback = (_, x, y) => OnPositionChanged(x, y);
685+
windowSizeCallback = (_, w, h) => OnSizeChanged(w, h);
686+
windowFocusCallback = (_, focusing) => OnFocusChanged(focusing);
687+
closeCallback = _ => OnClosing();
688+
dropCallback = (_, count, arrayPtr) => OnFileDrop(count, arrayPtr);
689+
cursorPositionCallback = (_, x, y) => OnMouseMove(x, y);
690+
cursorEnterCallback = (_, entering) => OnMouseEnter(entering);
691+
mouseButtonCallback = (_, button, state, mod) => OnMouseButton(button, state, mod);
692+
scrollCallback = (_, x, y) => OnMouseScroll(x, y);
693+
charModsCallback = (_, cp, mods) => OnCharacterInput(cp, mods);
694+
framebufferSizeCallback = (_, w, h) => OnFramebufferSizeChanged(w, h);
695+
windowRefreshCallback = _ => Refreshed?.Invoke(this, EventArgs.Empty);
696+
keyCallback = (_, key, code, state, mods) => OnKey(key, code, state, mods);
697+
windowMaximizeCallback = (_, maximized) => OnMaximizeChanged(maximized);
698+
windowContentScaleCallback = (_, x, y) => OnContentScaleChanged(x, y);
699+
700+
Glfw.SetWindowPositionCallback(Window, windowPositionCallback);
701+
Glfw.SetWindowSizeCallback(Window, windowSizeCallback);
702+
Glfw.SetWindowFocusCallback(Window, windowFocusCallback);
703+
Glfw.SetCloseCallback(Window, closeCallback);
704+
Glfw.SetDropCallback(Window, dropCallback);
705+
Glfw.SetCursorPositionCallback(Window, cursorPositionCallback);
706+
Glfw.SetCursorEnterCallback(Window, cursorEnterCallback);
707+
Glfw.SetMouseButtonCallback(Window, mouseButtonCallback);
708+
Glfw.SetScrollCallback(Window, scrollCallback);
709+
Glfw.SetCharModsCallback(Window, charModsCallback);
710+
Glfw.SetFramebufferSizeCallback(Window, framebufferSizeCallback);
711+
Glfw.SetWindowRefreshCallback(Window, windowRefreshCallback);
712+
Glfw.SetKeyCallback(Window, keyCallback);
713+
Glfw.SetWindowMaximizeCallback(Window, windowMaximizeCallback);
714+
Glfw.SetWindowContentScaleCallback(Window, windowContentScaleCallback);
686715
}
687716

688717
private void OnFileDrop(int count, IntPtr pointer)

0 commit comments

Comments
 (0)