178 lines
7.5 KiB
Zig
178 lines
7.5 KiB
Zig
![]() |
// TODO(opengl):
|
||
|
|
||
|
// /// Client API function pointer type.
|
||
|
// ///
|
||
|
// /// Generic function pointer used for returning client API function pointers
|
||
|
// /// without forcing a cast from a regular pointer.
|
||
|
// ///
|
||
|
// /// see also: context_glext, glfwGetProcAddress
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// typedef void (*GLFWglproc)(void);
|
||
|
|
||
|
// /// Makes the context of the specified window current for the calling
|
||
|
// /// thread.
|
||
|
// ///
|
||
|
// /// This function makes the OpenGL or OpenGL ES context of the specified window
|
||
|
// /// current on the calling thread. A context must only be made current on
|
||
|
// /// a single thread at a time and each thread can have only a single current
|
||
|
// /// context at a time.
|
||
|
// ///
|
||
|
// /// When moving a context between threads, you must make it non-current on the
|
||
|
// /// old thread before making it current on the new one.
|
||
|
// ///
|
||
|
// /// By default, making a context non-current implicitly forces a pipeline flush.
|
||
|
// /// On machines that support `GL_KHR_context_flush_control`, you can control
|
||
|
// /// whether a context performs this flush by setting the
|
||
|
// /// [GLFW_CONTEXT_RELEASE_BEHAVIOR](@ref GLFW_CONTEXT_RELEASE_BEHAVIOR_hint)
|
||
|
// /// hint.
|
||
|
// ///
|
||
|
// /// The specified window must have an OpenGL or OpenGL ES context. Specifying
|
||
|
// /// a window without a context will generate a @ref GLFW_NO_WINDOW_CONTEXT
|
||
|
// /// error.
|
||
|
// ///
|
||
|
// /// @param[in] window The window whose context to make current, or null to
|
||
|
// /// detach the current context.
|
||
|
// ///
|
||
|
// /// Possible errors include glfw.Error.NotInitialized, glfw.Error.NoWindowContext and glfw.Error.PlatformError.
|
||
|
// ///
|
||
|
// /// @thread_safety This function may be called from any thread.
|
||
|
// ///
|
||
|
// /// see also: context_current, glfwGetCurrentContext
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// GLFWAPI void glfwMakeContextCurrent(GLFWwindow* window);
|
||
|
|
||
|
// /// Returns the window whose context is current on the calling thread.
|
||
|
// ///
|
||
|
// /// This function returns the window whose OpenGL or OpenGL ES context is
|
||
|
// /// current on the calling thread.
|
||
|
// ///
|
||
|
// /// @return The window whose context is current, or null if no window's
|
||
|
// /// context is current.
|
||
|
// ///
|
||
|
// /// Possible errors include glfw.Error.NotInitialized.
|
||
|
// ///
|
||
|
// /// @thread_safety This function may be called from any thread.
|
||
|
// ///
|
||
|
// /// see also: context_current, glfwMakeContextCurrent
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// GLFWAPI GLFWwindow* glfwGetCurrentContext(void);
|
||
|
|
||
|
// /// Sets the swap interval for the current context.
|
||
|
// ///
|
||
|
// /// This function sets the swap interval for the current OpenGL or OpenGL ES
|
||
|
// /// context, i.e. the number of screen updates to wait from the time @ref
|
||
|
// /// glfwSwapBuffers was called before swapping the buffers and returning. This
|
||
|
// /// is sometimes called _vertical synchronization_, _vertical retrace
|
||
|
// /// synchronization_ or just _vsync_.
|
||
|
// ///
|
||
|
// /// A context that supports either of the `WGL_EXT_swap_control_tear` and
|
||
|
// /// `GLX_EXT_swap_control_tear` extensions also accepts _negative_ swap
|
||
|
// /// intervals, which allows the driver to swap immediately even if a frame
|
||
|
// /// arrives a little bit late. You can check for these extensions with @ref
|
||
|
// /// glfwExtensionSupported.
|
||
|
// ///
|
||
|
// /// A context must be current on the calling thread. Calling this function
|
||
|
// /// without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error.
|
||
|
// ///
|
||
|
// /// This function does not apply to Vulkan. If you are rendering with Vulkan,
|
||
|
// /// see the present mode of your swapchain instead.
|
||
|
// ///
|
||
|
// /// @param[in] interval The minimum number of screen updates to wait for
|
||
|
// /// until the buffers are swapped by @ref glfwSwapBuffers.
|
||
|
// ///
|
||
|
// /// Possible errors include glfw.Error.NotInitialized, glfw.Error.NoCurrentContext and glfw.Error.PlatformError.
|
||
|
// ///
|
||
|
// /// This function is not called during context creation, leaving the
|
||
|
// /// swap interval set to whatever is the default on that platform. This is done
|
||
|
// /// because some swap interval extensions used by GLFW do not allow the swap
|
||
|
// /// interval to be reset to zero once it has been set to a non-zero value.
|
||
|
// ///
|
||
|
// /// Some GPU drivers do not honor the requested swap interval, either
|
||
|
// /// because of a user setting that overrides the application's request or due to
|
||
|
// /// bugs in the driver.
|
||
|
// ///
|
||
|
// /// @thread_safety This function may be called from any thread.
|
||
|
// ///
|
||
|
// /// see also: buffer_swap, glfwSwapBuffers
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// GLFWAPI void glfwSwapInterval(int interval);
|
||
|
|
||
|
// /// Returns whether the specified extension is available.
|
||
|
// ///
|
||
|
// /// This function returns whether the specified
|
||
|
// /// [API extension](@ref context_glext) is supported by the current OpenGL or
|
||
|
// /// OpenGL ES context. It searches both for client API extension and context
|
||
|
// /// creation API extensions.
|
||
|
// ///
|
||
|
// /// A context must be current on the calling thread. Calling this function
|
||
|
// /// without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error.
|
||
|
// ///
|
||
|
// /// As this functions retrieves and searches one or more extension strings each
|
||
|
// /// call, it is recommended that you cache its results if it is going to be used
|
||
|
// /// frequently. The extension strings will not change during the lifetime of
|
||
|
// /// a context, so there is no danger in doing this.
|
||
|
// ///
|
||
|
// /// This function does not apply to Vulkan. If you are using Vulkan, see @ref
|
||
|
// /// glfw.getRequiredInstanceExtensions, `vkEnumerateInstanceExtensionProperties`
|
||
|
// /// and `vkEnumerateDeviceExtensionProperties` instead.
|
||
|
// ///
|
||
|
// /// @param[in] extension The ASCII encoded name of the extension.
|
||
|
// /// @return `GLFW_TRUE` if the extension is available, or `GLFW_FALSE`
|
||
|
// /// otherwise.
|
||
|
// ///
|
||
|
// /// Possible errors include glfw.Error.NotInitialized, glfw.Error.NoCurrentContext, glfw.Error.InvalidValue and glfw.Error.PlatformError.
|
||
|
// ///
|
||
|
// /// @thread_safety This function may be called from any thread.
|
||
|
// ///
|
||
|
// /// see also: context_glext, glfwGetProcAddress
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// GLFWAPI int glfwExtensionSupported(const char* extension);
|
||
|
|
||
|
// /// Returns the address of the specified function for the current
|
||
|
// /// context.
|
||
|
// ///
|
||
|
// /// This function returns the address of the specified OpenGL or OpenGL ES
|
||
|
// /// [core or extension function](@ref context_glext), if it is supported
|
||
|
// /// by the current context.
|
||
|
// ///
|
||
|
// /// A context must be current on the calling thread. Calling this function
|
||
|
// /// without a current context will cause a @ref GLFW_NO_CURRENT_CONTEXT error.
|
||
|
// ///
|
||
|
// /// This function does not apply to Vulkan. If you are rendering with Vulkan,
|
||
|
// /// see @ref glfwGetInstanceProcAddress, `vkGetInstanceProcAddr` and
|
||
|
// /// `vkGetDeviceProcAddr` instead.
|
||
|
// ///
|
||
|
// /// @param[in] procname The ASCII encoded name of the function.
|
||
|
// /// @return The address of the function, or null if an
|
||
|
// /// error occurred.
|
||
|
// ///
|
||
|
// /// Possible errors include glfw.Error.NotInitialized, glfw.Error.NoCurrentContext and glfw.Error.PlatformError.
|
||
|
// ///
|
||
|
// /// The address of a given function is not guaranteed to be the same
|
||
|
// /// between contexts.
|
||
|
// ///
|
||
|
// /// This function may return a non-null address despite the
|
||
|
// /// associated version or extension not being available. Always check the
|
||
|
// /// context version or extension string first.
|
||
|
// ///
|
||
|
// /// @pointer_lifetime The returned function pointer is valid until the context
|
||
|
// /// is destroyed or the library is terminated.
|
||
|
// ///
|
||
|
// /// @thread_safety This function may be called from any thread.
|
||
|
// ///
|
||
|
// /// see also: context_glext, glfwExtensionSupported
|
||
|
// ///
|
||
|
// ///
|
||
|
// /// @ingroup context
|
||
|
// GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname);
|