Пример #1
0
  /**
   * Invokes the specified callbacks using the current window and framebuffer sizes of the specified
   * GLFW window.
   *
   * @param window the GLFW window
   * @param windowSizeCB the window size callback, may be null
   * @param framebufferSizeCB the framebuffer size callback, may be null
   */
  public static void glfwInvoke(
      long window,
      GLFWWindowSizeCallbackI windowSizeCB,
      GLFWFramebufferSizeCallbackI framebufferSizeCB) {
    try (MemoryStack stack = stackPush()) {
      IntBuffer w = stack.mallocInt(1);
      IntBuffer h = stack.mallocInt(1);

      if (windowSizeCB != null) {
        glfwGetWindowSize(window, w, h);
        windowSizeCB.invoke(window, w.get(0), h.get(0));
      }

      if (framebufferSizeCB != null) {
        glfwGetFramebufferSize(window, w, h);
        framebufferSizeCB.invoke(window, w.get(0), h.get(0));
      }
    }
  }