internal void __UpdateKeyStates(GLFW_Window window) { foreach (KeyValuePair <KeyCode, Key> kvp in keys) { kvp.Value.__UpdateState(Glfw.__GetKey(window.Handle, (int)kvp.Value.KeyCode)); } }
/// <summary> /// Retrieves the size of the frame of the window. /// </summary> /// <param name="window"></param> /// <param name="left"></param> /// <param name="top"></param> /// <param name="right"></param> /// <param name="bottom"></param> public static void GetWindowFrameSize(GLFW_Window window, out int left, out int top, out int right, out int bottom) { left = window.FrameSize.left; top = window.FrameSize.top; right = window.FrameSize.right; bottom = window.FrameSize.bottom; }
/// <summary> /// Adds a maximize callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveWindowMaximizeCallback(GLFW_Window window, windowmaximizefun cbfun) => window.OnWindowMaximize -= cbfun;
/// <summary> /// Sets the user pointer of the specified window. /// </summary> /// <param name="window"></param> /// <param name="pointer"></param> public static void SetWindowUserPointer(GLFW_Window window, object obj) => window.SetUserPointer(obj);
/// <summary> /// Adds a maximize callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowmaximizefun AddWindowMaximizeCallback(GLFW_Window window, windowmaximizefun cbfun) { window.OnWindowMaximize += cbfun; return(cbfun); }
/// <summary> /// Returns the window whose context is current on the calling thread. /// </summary> /// <returns></returns> public static GLFW_Window GetCurrentContext() => GLFW_Window.GetWindowFromPtr(__GetCurrentContext());
/// <summary> /// Checks the close flag of the specified window. /// </summary> /// <param name="window"></param> /// <returns></returns> public static bool WindowShouldClose(GLFW_Window window) => window.ShouldClose();
/// <summary> /// Removes a framebuffer resize callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveFramebufferSizeCallback(GLFW_Window window, framebuffersizefun cbfun) => window.OnFramebufferSizeChanged -= cbfun;
/// <summary> /// Removes a window content scale callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveWindowContentScaleCallback(GLFW_Window window, windowcontentscalefun cbfun) => window.OnWindowContentScaleChanged -= cbfun;
/// <summary> /// Removes a close callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveWindowCloseCallback(GLFW_Window window, windowclosefun cbfun) => window.OnWindowClose -= cbfun;
/// <summary> /// Sets the refresh callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowrefreshfun AddWindowRefreshCallback(GLFW_Window window, windowrefreshfun cbfun) { window.OnWindowRefresh += cbfun; return(cbfun); }
/// <summary> /// Removes a size callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveWindowSizeCallback(GLFW_Window window, windowsizefun cbfun) => window.OnWindowSizeChanged -= cbfun;
/// <summary> /// Adds a close callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowclosefun AddWindowCloseCallback(GLFW_Window window, windowclosefun cbfun) { window.OnWindowClose += cbfun; return(cbfun); }
/// <summary> /// Adds a size callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowsizefun AddWindowSizeCallback(GLFW_Window window, windowsizefun cbfun) { window.OnWindowSizeChanged += cbfun; return(cbfun); }
/// <summary> /// Creates a window and its associated context. /// </summary> /// <param name="width"></param> /// <param name="height"></param> /// <param name="title"></param> /// <param name="monitor"></param> /// <param name="share"></param> /// <returns></returns> public static GLFW_Window CreateWindow(int width, int height, string title, GLFWMonitor monitor, GLFW_Window share) => new GLFW_Window(width, height, title, monitor, share);
/// <summary> /// Returns the user pointer of the specified window. /// </summary> /// <param name="window"></param> /// <returns></returns> public static object GetWindowUserPointer(GLFW_Window window) => window.UserPointer;
/// <summary> /// Destroys the specified window and its context. /// </summary> /// <param name="window"></param> public static void DestroyWindow(GLFW_Window window) => window.Destroy();
public static void RemoveWindowRefreshCallback(GLFW_Window window, windowrefreshfun cbfun) => window.OnWindowRefresh -= cbfun;
/// <summary> /// Adds a framebuffer resize callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static framebuffersizefun AddFramebufferSizeCallback(GLFW_Window window, framebuffersizefun cbfun) { window.OnFramebufferSizeChanged += cbfun; return(cbfun); }
/// <summary> /// Adds a focus callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowfocusfun AddWindowFocusCallback(GLFW_Window window, windowfocusfun cbfun) { window.OnWindowFocusChanged += cbfun; return(cbfun); }
/// <summary> /// Adds a window content scale callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowcontentscalefun AddWindowContentScaleCallback(GLFW_Window window, windowcontentscalefun cbfun) { window.OnWindowContentScaleChanged += cbfun; return(cbfun); }
/// <summary> /// Removes a focus callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> public static void RemoveWindowFocusCallback(GLFW_Window window, windowfocusfun cbfun) => window.OnWindowFocusChanged -= cbfun;
/// <summary> /// Makes the context of the specified window current for the calling thread. /// </summary> /// <param name="window"></param> public static void MakeContextCurrent(GLFW_Window window) => window.MakeContextCurrent();
public static Keyboard GetKeyboard(GLFW_Window window) => window.Keyboard;
/// <summary> /// Swaps the front and back buffers of the specified window. /// </summary> /// <param name="window"></param> public static void SwapBuffers(GLFW_Window window) => window.SwapBuffers();
/// <summary> /// Returns an attribute of the specified window. /// </summary> /// <param name="window"></param> /// <param name="attrib"></param> /// <returns></returns> public static int GetWindowAttrib(GLFW_Window window, int attrib) => window.GetAttrib(attrib);
/// <summary> /// Adds a iconify callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static windowiconifyfun AddWindowIconifyCallback(GLFW_Window window, windowiconifyfun cbfun) { window.OnWindowIconify += cbfun; return(cbfun); }
/// <summary> /// Sets an attribute of the specified window. /// </summary> /// <param name="window"></param> /// <param name="attrib"></param> /// <param name="value"></param> public static void SetWindowAttrib(GLFW_Window window, int attrib, int value) => window.SetAttrib(attrib, value);
/// <summary> /// Processes all pending events. /// </summary> public static void PollEvents() { __PollEvents(); GLFW_Window.__UpdateKeyboards(); }
/// <summary> /// Removes a iconify callback for the specified window. /// </summary> /// <param name="window"></param> /// <param name="cbfun"></param> /// <returns></returns> public static void RemoveWindowIconifyCallback(GLFW_Window window, windowiconifyfun cbfun) => window.OnWindowIconify -= cbfun;