The type of the OS-provided default folder for a specific purpose.
Defined in <SDL3/SDL_filesystem.h>
typedef enum SDL_Folder
{/**< The folder which contains all of the current user's data, preferences, and documents. It usually contains most of the other folders. If a requested folder does not exist, the home folder can be considered a safe fallback to store a user's documents. */
SDL_FOLDER_HOME,
/**< The folder of files that are displayed on the desktop. Note that the existence of a desktop folder does not guarantee that the system does show icons on its desktop; certain GNU/Linux distros with a graphical environment may not have desktop icons. */
SDL_FOLDER_DESKTOP,
/**< User document files, possibly application-specific. This is a good place to save a user's projects. */
SDL_FOLDER_DOCUMENTS,
/**< Standard folder for user files downloaded from the internet. */
SDL_FOLDER_DOWNLOADS,
/**< Music files that can be played using a standard music player (mp3, ogg...). */
SDL_FOLDER_MUSIC,
/**< Image files that can be displayed using a standard viewer (png, jpg...). */
SDL_FOLDER_PICTURES,
/**< Files that are meant to be shared with other users on the same computer. */
SDL_FOLDER_PUBLICSHARE,
/**< Save files for games. */
SDL_FOLDER_SAVEDGAMES,
/**< Application screenshots. */
SDL_FOLDER_SCREENSHOTS,
/**< Template files to be used when the user requests the desktop environment to create a new file in a certain folder, such as "New Text File.txt". Any file in the Templates folder can be used as a starting point for a new file. */
SDL_FOLDER_TEMPLATES,
/**< Video files that can be played using a standard video player (mp4, webm...). */
SDL_FOLDER_VIDEOS,
/**< Total number of types in this enum, not a folder type by itself. */
SDL_FOLDER_COUNT
} SDL_Folder;
Note that the Trash folder isn't included here, because trashing files usually involves extra OS-specific functionality to remember the file's original location.
The folders supported per platform are:
Windows | macOS/iOS | tvOS | Unix (XDG) | Haiku | Emscripten | |
---|---|---|---|---|---|---|
HOME | X | X | X | X | X | |
DESKTOP | X | X | X | X | ||
DOCUMENTS | X | X | X | |||
DOWNLOADS | Vista+ | X | X | |||
MUSIC | X | X | X | |||
PICTURES | X | X | X | |||
PUBLICSHARE | X | X | ||||
SAVEDGAMES | Vista+ | |||||
SCREENSHOTS | Vista+ | |||||
TEMPLATES | X | X | X | |||
VIDEOS | X | X* | X |
Note that on macOS/iOS, the Videos folder is called "Movies".
This enum is available since SDL 3.1.3.