mirror of
https://github.com/glfw/glfw.git
synced 2024-11-14 02:31:46 +00:00
Removed return value of close callback.
This commit is contained in:
parent
5d8fdc64f9
commit
64afb193e8
@ -181,9 +181,9 @@ while (!glfwWindowShouldClose(window))
|
|||||||
}
|
}
|
||||||
@endcode
|
@endcode
|
||||||
|
|
||||||
You can intercept the setting of the close flag by setting a close callback with
|
You can be notified when user is attempting to close the window by setting
|
||||||
@ref glfwSetWindowCloseCallback. The return value of the close callback becomes
|
a close callback with @ref glfwSetWindowCloseCallback. The callback will be
|
||||||
the new value of the close flag.
|
called immediately after the close flag has been set.
|
||||||
|
|
||||||
You can also set it yourself with @ref glfwSetWindowShouldClose. This can be
|
You can also set it yourself with @ref glfwSetWindowShouldClose. This can be
|
||||||
useful if you want to interpret other kinds of input as closing the window, like
|
useful if you want to interpret other kinds of input as closing the window, like
|
||||||
|
@ -591,15 +591,11 @@ typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int);
|
|||||||
|
|
||||||
/*! @brief The function signature for window close callbacks.
|
/*! @brief The function signature for window close callbacks.
|
||||||
* @param[in] window The window that the user attempted to close.
|
* @param[in] window The window that the user attempted to close.
|
||||||
* @return One of @c GL_TRUE or @c GL_FALSE.
|
|
||||||
* @ingroup window
|
* @ingroup window
|
||||||
*
|
*
|
||||||
* The return value of the close callback becomes the new value returned by
|
|
||||||
* @ref glfwWindowShouldClose.
|
|
||||||
*
|
|
||||||
* @sa glfwSetWindowCloseCallback
|
* @sa glfwSetWindowCloseCallback
|
||||||
*/
|
*/
|
||||||
typedef int (* GLFWwindowclosefun)(GLFWwindow*);
|
typedef void (* GLFWwindowclosefun)(GLFWwindow*);
|
||||||
|
|
||||||
/*! @brief The function signature for window content refresh callbacks.
|
/*! @brief The function signature for window content refresh callbacks.
|
||||||
* @param[in] window The window whose content needs to be refreshed.
|
* @param[in] window The window whose content needs to be refreshed.
|
||||||
@ -1121,20 +1117,17 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, const char* title, G
|
|||||||
*/
|
*/
|
||||||
GLFWAPI void glfwDestroyWindow(GLFWwindow* window);
|
GLFWAPI void glfwDestroyWindow(GLFWwindow* window);
|
||||||
|
|
||||||
/*! @brief Checks whether the specified window has been requested to close.
|
/*! @brief Checks the close flag of the specified window.
|
||||||
* @param[in] window The window to query.
|
* @param[in] window The window to query.
|
||||||
* @return @c GL_TRUE if the window should close, or @c GL_FALSE otherwise.
|
* @return The value of the close flag.
|
||||||
* @ingroup window
|
* @ingroup window
|
||||||
*/
|
*/
|
||||||
GLFWAPI int glfwWindowShouldClose(GLFWwindow* window);
|
GLFWAPI int glfwWindowShouldClose(GLFWwindow* window);
|
||||||
|
|
||||||
/*! @brief Sets whether the specified window should close.
|
/*! @brief Sets the close flag of the specified window.
|
||||||
* @param[in] window The window whose value to change.
|
* @param[in] window The window whose flag to change.
|
||||||
* @param[in] value The new value.
|
* @param[in] value The new value.
|
||||||
* @ingroup window
|
* @ingroup window
|
||||||
*
|
|
||||||
* @note Calling this from the close callback will have no effect, as whatever
|
|
||||||
* value you set will be overwritten by the return value of the close callback.
|
|
||||||
*/
|
*/
|
||||||
GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value);
|
GLFWAPI void glfwSetWindowShouldClose(GLFWwindow* window, int value);
|
||||||
|
|
||||||
@ -1367,11 +1360,11 @@ GLFWAPI void glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbf
|
|||||||
* @ingroup window
|
* @ingroup window
|
||||||
*
|
*
|
||||||
* This callback is called when the user attempts to close the window, i.e.
|
* This callback is called when the user attempts to close the window, i.e.
|
||||||
* clicks the window's close widget. Calling @ref glfwDestroyWindow does not
|
* for example by clicking the window's close widget. It is called immediately
|
||||||
* cause this callback to be called.
|
* after the window's close flag has been set.
|
||||||
*
|
*
|
||||||
* The return value of the close callback becomes the new value returned by
|
* @remarks Calling @ref glfwDestroyWindow does not cause this callback to be
|
||||||
* @ref glfwWindowShouldClose.
|
* called.
|
||||||
*
|
*
|
||||||
* @remarks <b>Mac OS X:</b> Selecting Quit from the application menu will
|
* @remarks <b>Mac OS X:</b> Selecting Quit from the application menu will
|
||||||
* trigger the close callback for all windows.
|
* trigger the close callback for all windows.
|
||||||
|
@ -126,10 +126,10 @@ void _glfwInputWindowDamage(_GLFWwindow* window)
|
|||||||
|
|
||||||
void _glfwInputWindowCloseRequest(_GLFWwindow* window)
|
void _glfwInputWindowCloseRequest(_GLFWwindow* window)
|
||||||
{
|
{
|
||||||
if (window->callbacks.close)
|
|
||||||
window->closed = window->callbacks.close((GLFWwindow*) window);
|
|
||||||
else
|
|
||||||
window->closed = GL_TRUE;
|
window->closed = GL_TRUE;
|
||||||
|
|
||||||
|
if (window->callbacks.close)
|
||||||
|
window->callbacks.close((GLFWwindow*) window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -244,11 +244,11 @@ static void window_size_callback(GLFWwindow* window, int width, int height)
|
|||||||
glViewport(0, 0, width, height);
|
glViewport(0, 0, width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int window_close_callback(GLFWwindow* window)
|
static void window_close_callback(GLFWwindow* window)
|
||||||
{
|
{
|
||||||
printf("%08x at %0.3f: Window close\n", counter++, glfwGetTime());
|
printf("%08x at %0.3f: Window close\n", counter++, glfwGetTime());
|
||||||
|
|
||||||
return closeable;
|
glfwSetWindowShouldClose(window, closeable);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void window_refresh_callback(GLFWwindow* window)
|
static void window_refresh_callback(GLFWwindow* window)
|
||||||
|
@ -48,10 +48,9 @@ static void window_size_callback(GLFWwindow* window, int width, int height)
|
|||||||
glViewport(0, 0, width, height);
|
glViewport(0, 0, width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int window_close_callback(GLFWwindow* window)
|
static void window_close_callback(GLFWwindow* window)
|
||||||
{
|
{
|
||||||
printf("Close callback triggered\n");
|
printf("Close callback triggered\n");
|
||||||
return GL_TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void key_callback(GLFWwindow* window, int key, int action)
|
static void key_callback(GLFWwindow* window, int key, int action)
|
||||||
|
Loading…
Reference in New Issue
Block a user