Removed return value of close callback.
This commit is contained in:
Родитель
5d8fdc64f9
Коммит
64afb193e8
|
@ -181,9 +181,9 @@ while (!glfwWindowShouldClose(window))
|
|||
}
|
||||
@endcode
|
||||
|
||||
You can intercept the setting of the close flag by setting a close callback with
|
||||
@ref glfwSetWindowCloseCallback. The return value of the close callback becomes
|
||||
the new value of the close flag.
|
||||
You can be notified when user is attempting to close the window by setting
|
||||
a close callback with @ref glfwSetWindowCloseCallback. The callback will be
|
||||
called immediately after the close flag has been set.
|
||||
|
||||
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
|
||||
|
|
|
@ -591,15 +591,11 @@ typedef void (* GLFWwindowsizefun)(GLFWwindow*,int,int);
|
|||
|
||||
/*! @brief The function signature for window close callbacks.
|
||||
* @param[in] window The window that the user attempted to close.
|
||||
* @return One of @c GL_TRUE or @c GL_FALSE.
|
||||
* @ingroup window
|
||||
*
|
||||
* The return value of the close callback becomes the new value returned by
|
||||
* @ref glfwWindowShouldClose.
|
||||
*
|
||||
* @sa glfwSetWindowCloseCallback
|
||||
*/
|
||||
typedef int (* GLFWwindowclosefun)(GLFWwindow*);
|
||||
typedef void (* GLFWwindowclosefun)(GLFWwindow*);
|
||||
|
||||
/*! @brief The function signature for window content refresh callbacks.
|
||||
* @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);
|
||||
|
||||
/*! @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.
|
||||
* @return @c GL_TRUE if the window should close, or @c GL_FALSE otherwise.
|
||||
* @return The value of the close flag.
|
||||
* @ingroup window
|
||||
*/
|
||||
GLFWAPI int glfwWindowShouldClose(GLFWwindow* window);
|
||||
|
||||
/*! @brief Sets whether the specified window should close.
|
||||
* @param[in] window The window whose value to change.
|
||||
/*! @brief Sets the close flag of the specified window.
|
||||
* @param[in] window The window whose flag to change.
|
||||
* @param[in] value The new value.
|
||||
* @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);
|
||||
|
||||
|
@ -1367,11 +1360,11 @@ GLFWAPI void glfwSetWindowSizeCallback(GLFWwindow* window, GLFWwindowsizefun cbf
|
|||
* @ingroup window
|
||||
*
|
||||
* 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
|
||||
* cause this callback to be called.
|
||||
* for example by clicking the window's close widget. It is called immediately
|
||||
* after the window's close flag has been set.
|
||||
*
|
||||
* The return value of the close callback becomes the new value returned by
|
||||
* @ref glfwWindowShouldClose.
|
||||
* @remarks Calling @ref glfwDestroyWindow does not cause this callback to be
|
||||
* called.
|
||||
*
|
||||
* @remarks <b>Mac OS X:</b> Selecting Quit from the application menu will
|
||||
* trigger the close callback for all windows.
|
||||
|
|
|
@ -126,10 +126,10 @@ void _glfwInputWindowDamage(_GLFWwindow* window)
|
|||
|
||||
void _glfwInputWindowCloseRequest(_GLFWwindow* window)
|
||||
{
|
||||
window->closed = GL_TRUE;
|
||||
|
||||
if (window->callbacks.close)
|
||||
window->closed = window->callbacks.close((GLFWwindow*) window);
|
||||
else
|
||||
window->closed = GL_TRUE;
|
||||
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);
|
||||
}
|
||||
|
||||
static int window_close_callback(GLFWwindow* window)
|
||||
static void window_close_callback(GLFWwindow* window)
|
||||
{
|
||||
printf("%08x at %0.3f: Window close\n", counter++, glfwGetTime());
|
||||
|
||||
return closeable;
|
||||
glfwSetWindowShouldClose(window, closeable);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
static int window_close_callback(GLFWwindow* window)
|
||||
static void window_close_callback(GLFWwindow* window)
|
||||
{
|
||||
printf("Close callback triggered\n");
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
static void key_callback(GLFWwindow* window, int key, int action)
|
||||
|
|
Загрузка…
Ссылка в новой задаче