|
Size: 1902
Comment: update content - w/ Sam (in progress)
|
Size: 1751
Comment: update content for consistency - callback
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 3: | Line 3: |
| ||<tablewidth="100%" style="color: #FF0000;" :> DRAFT|| | |
| Line 17: | Line 16: |
| ||'''handler'''||the callback function called when an assertion fails; see [[#Remarks|Remarks]] for details|| ||'''userdata'''||a pointer passed to the callback as-is|| |
||'''handler'''||the function to call when an assertion fails or NULL for the default handler; see [[#Remarks|Remarks]] for details|| ||'''userdata'''||a pointer that is passed to '''handler'''|| |
| Line 26: | Line 25: |
| This function allows an app to show its own assertion UI and/or force the response to an assertion failure. If the app doesn't provide this, SDL will try to do the right thing, popping up a system-specific GUI dialog, and probably minimizing any fullscreen windows. | This function allows an application to show its own assertion UI and/or force the response to an assertion failure. If the application doesn't provide this, SDL will try to do the right thing, popping up a system-specific GUI dialog, and probably minimizing any fullscreen windows. |
| Line 28: | Line 27: |
| '''handler''' is a callback function of the following form: | The function prototype for '''handler''' is: |
| Line 35: | Line 34: |
| .This callback should return an [[SDL_assert_state]] value of how to handle the assertion failure. | .This callback should return an [[SDL_assert_state]] value indicating how to handle the assertion failure. |
| Line 39: | Line 38: |
| Setting the callback to NULL restores SDL's original internal handler. |
|
| Line 42: | Line 39: |
== Related Functions == .[[SDL_OtherFunction]] |
SDL_SetAssertionHandler
Use this function to set an application-defined assertion handler.
Syntax
void SDL_SetAssertionHandler(SDL_AssertionHandler handler,
void* userdata)
Function Parameters
handler |
the function to call when an assertion fails or NULL for the default handler; see Remarks for details |
userdata |
a pointer that is passed to handler |
Code Examples
You can add your code example here
Remarks
This function allows an application to show its own assertion UI and/or force the response to an assertion failure. If the application doesn't provide this, SDL will try to do the right thing, popping up a system-specific GUI dialog, and probably minimizing any fullscreen windows.
The function prototype for handler is:
SDL_assert_state YourAssertionHandler(const SDL_assert_data* data, void* userdata)where YourAssertionHandler is the name of your function, data is a pointer to the SDL_assert_data struct corresponding to the current assertion, and userdata is what was passed as userdata to SDL_SetAssertionHandler().
This callback should return an SDL_assert_state value indicating how to handle the assertion failure.
This callback may fire from any thread, but it runs wrapped in a mutex, so it will only fire from one thread at a time.
This callback is NOT reset to SDL's internal handler upon SDL_Quit()!
