pub trait Format:
Send
+ Sync
+ 'static {
type Asset: AssetKind;
// Required methods
fn id(&self) -> &'static str;
fn extensions(&self) -> &'static [&'static str];
fn decode(
&self,
file: &AssetPath,
bytes: &[u8],
cx: &DecodeCx<'_>,
) -> Result<Self::Asset, Vec<ContentError>>;
// Provided methods
fn sniff(&self, bytes: &[u8]) -> bool { ... }
fn max_bytes(&self) -> usize { ... }
}Expand description
A file format: reads one AssetKind from a file’s bytes.
Required Associated Types§
Required Methods§
Sourcefn id(&self) -> &'static str
fn id(&self) -> &'static str
Stable id, e.g. "png", "tiled-tmx", "yarn": one per format
of a kind.
Sourcefn extensions(&self) -> &'static [&'static str]
fn extensions(&self) -> &'static [&'static str]
File extensions this format claims, lowercase, without the dot. A
format that only stands in another’s place (a one-bit picture at a
PNG’s path) claims none and is found by sniff.
Provided Methods§
Sourcefn sniff(&self, bytes: &[u8]) -> bool
fn sniff(&self, bytes: &[u8]) -> bool
True if these bytes look like this format (magic bytes); false
when the format has none.
Sourcefn max_bytes(&self) -> usize
fn max_bytes(&self) -> usize
The most bytes it reads: a bigger file is refused before
decode sees it. DEFAULT_MAX_BYTES unless the
format says.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl Format for AudioManifestRon
impl Format for AudioManifestRon
type Asset = AudioManifest
Source§impl Format for CreditsRon
impl Format for CreditsRon
type Asset = CreditsFile
Source§impl Format for Dithered
Available on crate feature png only.
impl Format for Dithered
Available on crate feature
png only.