Function sdl2_sys::SDL_GetBasePath

source ·
pub unsafe extern "C" fn SDL_GetBasePath() -> *mut c_char
Expand description

Get the directory where the application was run from.

This is not necessarily a fast call, so you should call this once near startup and save the string if you need it.

Mac OS X and iOS Specific Functionality: If the application is in a “.app” bundle, this function returns the Resource directory (e.g. MyApp.app/Contents/Resources/). This behaviour can be overridden by adding a property to the Info.plist file. Adding a string key with the name SDL_FILESYSTEM_BASE_DIR_TYPE with a supported value will change the behaviour.

Supported values for the SDL_FILESYSTEM_BASE_DIR_TYPE property (Given an application in /Applications/SDLApp/MyApp.app):

  • resource: bundle resource directory (the default). For example: /Applications/SDLApp/MyApp.app/Contents/Resources
  • bundle: the Bundle directory. For example: /Applications/SDLApp/MyApp.app/
  • parent: the containing directory of the bundle. For example: /Applications/SDLApp/

The returned path is guaranteed to end with a path separator (’' on Windows, ‘/’ on most other platforms).

The pointer returned is owned by the caller. Please call SDL_free() on the pointer when done with it.

\returns an absolute path in UTF-8 encoding to the application data directory. NULL will be returned on error or when the platform doesn’t implement this functionality, call SDL_GetError() for more information.

\since This function is available since SDL 2.0.1.

\sa SDL_GetPrefPath