SDL_Folder

Struct SDL_Folder 

Source
#[repr(transparent)]
pub struct SDL_Folder(pub c_int);
Expand description

The type of the OS-provided default folder for a specific purpose.

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:

WindowsmacOS/iOStvOSUnix (XDG)HaikuEmscripten
HOMEXXXXX
DESKTOPXXXX
DOCUMENTSXXX
DOWNLOADSVista+XX
MUSICXXX
PICTURESXXX
PUBLICSHAREXX
SAVEDGAMESVista+
SCREENSHOTSVista+
TEMPLATESXXX
VIDEOSXX*X

Note that on macOS/iOS, the Videos folder is called “Movies”.

§Availability

This enum is available since SDL 3.2.0.

§See also

§Known values (sdl3-sys)

Associated constantGlobal constantDescription
HOMESDL_FOLDER_HOMEThe 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.
DESKTOPSDL_FOLDER_DESKTOPThe 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.
DOCUMENTSSDL_FOLDER_DOCUMENTSUser document files, possibly application-specific. This is a good place to save a user’s projects.
DOWNLOADSSDL_FOLDER_DOWNLOADSStandard folder for user files downloaded from the internet.
MUSICSDL_FOLDER_MUSICMusic files that can be played using a standard music player (mp3, ogg…).
PICTURESSDL_FOLDER_PICTURESImage files that can be displayed using a standard viewer (png, jpg…).
PUBLICSHARESDL_FOLDER_PUBLICSHAREFiles that are meant to be shared with other users on the same computer.
SAVEDGAMESSDL_FOLDER_SAVEDGAMESSave files for games.
SCREENSHOTSSDL_FOLDER_SCREENSHOTSApplication screenshots.
TEMPLATESSDL_FOLDER_TEMPLATESTemplate 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.
VIDEOSSDL_FOLDER_VIDEOSVideo files that can be played using a standard video player (mp4, webm…).
COUNTSDL_FOLDER_COUNTTotal number of types in this enum, not a folder type by itself.

Tuple Fields§

§0: c_int

Implementations§

Source§

impl SDL_Folder

Source

pub const HOME: Self

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.

Source

pub const DESKTOP: Self

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.

Source

pub const DOCUMENTS: Self

User document files, possibly application-specific. This is a good place to save a user’s projects.

Source

pub const DOWNLOADS: Self

Standard folder for user files downloaded from the internet.

Source

pub const MUSIC: Self

Music files that can be played using a standard music player (mp3, ogg…).

Source

pub const PICTURES: Self

Image files that can be displayed using a standard viewer (png, jpg…).

Source

pub const PUBLICSHARE: Self

Files that are meant to be shared with other users on the same computer.

Source

pub const SAVEDGAMES: Self

Save files for games.

Source

pub const SCREENSHOTS: Self

Application screenshots.

Source

pub const TEMPLATES: Self

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.

Source

pub const VIDEOS: Self

Video files that can be played using a standard video player (mp4, webm…).

Source

pub const COUNT: Self

Total number of types in this enum, not a folder type by itself.

Trait Implementations§

Source§

impl Clone for SDL_Folder

Source§

fn clone(&self) -> SDL_Folder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SDL_Folder

Available on crate feature debug-impls only.
Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SDL_Folder

Source§

fn default() -> SDL_Folder

Returns the “default value” for a type. Read more
Source§

impl From<SDL_Folder> for c_int

Source§

fn from(value: SDL_Folder) -> Self

Converts to this type from the input type.
Source§

impl Hash for SDL_Folder

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for SDL_Folder

Source§

fn cmp(&self, other: &SDL_Folder) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for SDL_Folder

Source§

fn eq(&self, other: &SDL_Folder) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for SDL_Folder

Source§

fn partial_cmp(&self, other: &SDL_Folder) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Copy for SDL_Folder

Source§

impl Eq for SDL_Folder

Source§

impl StructuralPartialEq for SDL_Folder

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.