Struct Folder
#[repr(transparent)]pub struct Folder(pub i32);
dep_sdl3
only.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:
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”.
§Availability
This enum is available since SDL 3.2.0.
§See also
§Known values (sdl3-sys
)
Associated constant | Global constant | Description |
---|---|---|
HOME | SDL_FOLDER_HOME | 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. |
DESKTOP | SDL_FOLDER_DESKTOP | 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. |
DOCUMENTS | SDL_FOLDER_DOCUMENTS | User document files, possibly application-specific. This is a good place to save a user’s projects. |
DOWNLOADS | SDL_FOLDER_DOWNLOADS | Standard folder for user files downloaded from the internet. |
MUSIC | SDL_FOLDER_MUSIC | Music files that can be played using a standard music player (mp3, ogg…). |
PICTURES | SDL_FOLDER_PICTURES | Image files that can be displayed using a standard viewer (png, jpg…). |
PUBLICSHARE | SDL_FOLDER_PUBLICSHARE | Files that are meant to be shared with other users on the same computer. |
SAVEDGAMES | SDL_FOLDER_SAVEDGAMES | Save files for games. |
SCREENSHOTS | SDL_FOLDER_SCREENSHOTS | Application screenshots. |
TEMPLATES | SDL_FOLDER_TEMPLATES | 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. |
VIDEOS | SDL_FOLDER_VIDEOS | Video files that can be played using a standard video player (mp4, webm…). |
COUNT | SDL_FOLDER_COUNT | Total number of types in this enum, not a folder type by itself. |
Tuple Fields§
§0: i32
Implementations§
§impl SDL_Folder
impl SDL_Folder
pub const HOME: SDL_Folder
pub const HOME: 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.
pub const DESKTOP: SDL_Folder
pub const DESKTOP: SDL_Folder
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.
pub const DOCUMENTS: SDL_Folder
pub const DOCUMENTS: SDL_Folder
User document files, possibly application-specific. This is a good place to save a user’s projects.
pub const DOWNLOADS: SDL_Folder
pub const DOWNLOADS: SDL_Folder
Standard folder for user files downloaded from the internet.
pub const MUSIC: SDL_Folder
pub const MUSIC: SDL_Folder
Music files that can be played using a standard music player (mp3, ogg…).
pub const PICTURES: SDL_Folder
pub const PICTURES: SDL_Folder
Image files that can be displayed using a standard viewer (png, jpg…).
pub const PUBLICSHARE: SDL_Folder
pub const PUBLICSHARE: SDL_Folder
Files that are meant to be shared with other users on the same computer.
pub const SAVEDGAMES: SDL_Folder
pub const SAVEDGAMES: SDL_Folder
Save files for games.
pub const SCREENSHOTS: SDL_Folder
pub const SCREENSHOTS: SDL_Folder
Application screenshots.
pub const TEMPLATES: SDL_Folder
pub const TEMPLATES: SDL_Folder
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.
pub const VIDEOS: SDL_Folder
pub const VIDEOS: SDL_Folder
Video files that can be played using a standard video player (mp4, webm…).
pub const COUNT: SDL_Folder
pub const COUNT: SDL_Folder
Total number of types in this enum, not a folder type by itself.
Trait Implementations§
§impl Clone for SDL_Folder
impl Clone for SDL_Folder
§fn clone(&self) -> SDL_Folder
fn clone(&self) -> SDL_Folder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Default for SDL_Folder
impl Default for SDL_Folder
§fn default() -> SDL_Folder
fn default() -> SDL_Folder
§impl From<SDL_Folder> for i32
impl From<SDL_Folder> for i32
§fn from(value: SDL_Folder) -> i32
fn from(value: SDL_Folder) -> i32
§impl Hash for SDL_Folder
impl Hash for SDL_Folder
§impl Ord for SDL_Folder
impl Ord for SDL_Folder
§impl PartialEq for SDL_Folder
impl PartialEq for SDL_Folder
§impl PartialOrd for SDL_Folder
impl PartialOrd for SDL_Folder
impl Copy for SDL_Folder
impl Eq for SDL_Folder
impl StructuralPartialEq for SDL_Folder
Auto Trait Implementations§
impl Freeze for SDL_Folder
impl RefUnwindSafe for SDL_Folder
impl Send for SDL_Folder
impl Sync for SDL_Folder
impl Unpin for SDL_Folder
impl UnwindSafe for SDL_Folder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId
of Self
using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more