SDL_system.h File Reference
`#include <SDL3/SDL_stdinc.h>`
`#include <SDL3/SDL_error.h>`
`#include <SDL3/SDL_keyboard.h>`
`#include <SDL3/SDL_video.h>`
`#include <SDL3/SDL_begin_code.h>`
`#include <SDL3/SDL_close_code.h>`
Include dependency graph for SDL_system.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Typedefs

typedef union _XEvent | XEvent
typedef bool(* | SDL_X11EventHook) (void *userdata, XEvent *xevent)

## Enumerations

enum | SDL_Sandbox { SDL_SANDBOX_NONE = 0 , SDL_SANDBOX_UNKNOWN_CONTAINER , SDL_SANDBOX_FLATPAK , SDL_SANDBOX_SNAP , SDL_SANDBOX_MACOS }

## Functions

void | SDL_SetX11EventHook (SDL_X11EventHook callback, void *userdata)
bool | SDL_IsTablet (void)
bool | SDL_IsTV (void)
SDL_Sandbox | SDL_GetSandbox (void)
void | SDL_OnApplicationWillTerminate (void)
void | SDL_OnApplicationDidReceiveMemoryWarning (void)
void | SDL_OnApplicationWillEnterBackground (void)
void | SDL_OnApplicationDidEnterBackground (void)
void | SDL_OnApplicationWillEnterForeground (void)
void | SDL_OnApplicationDidEnterForeground (void)

## Typedef Documentation

## SDL_X11EventHook

typedef bool(* SDL_X11EventHook) (void *userdata, XEvent *xevent)

A callback to be used with SDL_SetX11EventHook.

This callback may modify the event, and should return true if the event should continue to be processed, or false to prevent further processing.

As this is processing an event directly from the X11 event loop, this callback should do the minimum required work and return quickly.

Parameters

  userdata | the app-defined pointer provided to SDL_SetX11EventHook.
  xevent | a pointer to an Xlib XEvent union to process.

Returns
  true to let event continue on, false to drop it.

\threadsafety This may only be called (by SDL) from the thread handling the X11 event loop.

Since
  This datatype is available since SDL 3.2.0.

See also
  SDL_SetX11EventHook

Definition at line 161 of file SDL_system.h.

## XEvent

typedef union _XEvent XEvent

# CategorySystem

Platform-specific SDL API functions. These are functions that deal with needs of specific operating systems, that didn't make sense to offer as platform-independent, generic APIs.

Most apps can make do without these functions, but they can be useful for integrating with other parts of a specific system, adding platform-specific polish to an app, or solving problems that only affect one target.

Definition at line 139 of file SDL_system.h.

## Enumeration Type Documentation

## SDL_Sandbox

enum SDL_Sandbox

Application sandbox environment.

Since
  This enum is available since SDL 3.2.0.

Enumerator
SDL_SANDBOX_NONE |
SDL_SANDBOX_UNKNOWN_CONTAINER |
SDL_SANDBOX_FLATPAK |
SDL_SANDBOX_SNAP |
SDL_SANDBOX_MACOS |

Definition at line 628 of file SDL_system.h.

{
SDL_SANDBOX_NONE = 0,
SDL_SANDBOX_UNKNOWN_CONTAINER,
SDL_SANDBOX_FLATPAK,
SDL_SANDBOX_SNAP,
SDL_SANDBOX_MACOS
} SDL_Sandbox;
SDL_Sandbox
SDL_Sandbox
Definition SDL_system.h:629
SDL_SANDBOX_FLATPAK
@ SDL_SANDBOX_FLATPAK
Definition SDL_system.h:632
SDL_SANDBOX_SNAP
@ SDL_SANDBOX_SNAP
Definition SDL_system.h:633
SDL_SANDBOX_UNKNOWN_CONTAINER
@ SDL_SANDBOX_UNKNOWN_CONTAINER
Definition SDL_system.h:631
SDL_SANDBOX_MACOS
@ SDL_SANDBOX_MACOS
Definition SDL_system.h:634
SDL_SANDBOX_NONE
@ SDL_SANDBOX_NONE
Definition SDL_system.h:630

## Function Documentation

## SDL_GetSandbox()

SDL_Sandbox SDL_GetSandbox | ( | void |  | ) |

extern

Get the application sandbox environment, if any.

Returns
  the application sandbox environment or SDL_SANDBOX_NONE if the application is not running in a sandbox environment.

Since
  This function is available since SDL 3.2.0.

## SDL_IsTablet()

bool SDL_IsTablet | ( | void |  | ) |

extern

Query if the current device is a tablet.

If SDL can't determine this, it will return false.

Returns
  true if the device is a tablet, false otherwise.

Since
  This function is available since SDL 3.2.0.

## SDL_IsTV()

bool SDL_IsTV | ( | void |  | ) |

extern

Query if the current device is a TV.

If SDL can't determine this, it will return false.

Returns
  true if the device is a TV, false otherwise.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationDidEnterBackground()

void SDL_OnApplicationDidEnterBackground | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationDidEnterBackground.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationDidEnterForeground()

void SDL_OnApplicationDidEnterForeground | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationDidBecomeActive.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationDidReceiveMemoryWarning()

void SDL_OnApplicationDidReceiveMemoryWarning | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationDidReceiveMemoryWarning.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationWillEnterBackground()

void SDL_OnApplicationWillEnterBackground | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationWillResignActive.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationWillEnterForeground()

void SDL_OnApplicationWillEnterForeground | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationWillEnterForeground.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_OnApplicationWillTerminate()

void SDL_OnApplicationWillTerminate | ( | void |  | ) |

extern

Let iOS apps with external event handling report onApplicationWillTerminate.

This functions allows iOS apps that have their own event handling to hook into SDL to generate SDL events. This maps directly to an iOS-specific event, but since it doesn't do anything iOS-specific internally, it is available on all platforms, in case it might be useful for some specific paradigm. Most apps do not need to use this directly; SDL's internal event code will handle all this for windows created by SDL_CreateWindow!

\threadsafety It is safe to call this function from any thread.

Since
  This function is available since SDL 3.2.0.

## SDL_SetX11EventHook()

void SDL_SetX11EventHook | ( | SDL_X11EventHook | callback,
|  | void * | userdata
| ) |  |

extern

Set a callback for every X11 event.

The callback may modify the event, and should return true if the event should continue to be processed, or false to prevent further processing.

Parameters

  callback | the SDL_X11EventHook function to call.
  userdata | a pointer to pass to every iteration of `callback`.

Since
  This function is available since SDL 3.2.0.