pub struct DynamicMediaProvider<'media> {
pub audio: HashMap<String, AudioData<'media>>,
pub images: HashMap<String, ImageData<'media>>,
pub subtitles: HashMap<String, Subtitles<'media>>,
pub videos: HashMap<String, VideoMedia>,
pub fontdata: Vec<RawFontData>,
}Expand description
Media loaded at runtime. Start with DynamicMediaProvider::default() and add files with the
with_* methods:
ⓘ
let music = DynamicMediaProvider::default().with_audio("music", AudioData::Preloaded(samples));Default gives empty media of every kind that the enabled features support.
Fields§
§audio: HashMap<String, AudioData<'media>>§images: HashMap<String, ImageData<'media>>§subtitles: HashMap<String, Subtitles<'media>>§videos: HashMap<String, VideoMedia>§fontdata: Vec<RawFontData>Implementations§
Source§impl<'media> DynamicMediaProvider<'media>
impl<'media> DynamicMediaProvider<'media>
pub fn new( audio: HashMap<String, AudioData<'media>>, images: HashMap<String, ImageData<'media>>, subtitles: HashMap<String, Subtitles<'media>>, videos: HashMap<String, VideoMedia>, fonts_data: Vec<RawFontData>, ) -> Self
👎Deprecated:
use DynamicMediaProvider::default() and the with_* methods
Sourcepub fn with_audio(
self,
name: impl Into<String>,
audio: AudioData<'media>,
) -> Self
pub fn with_audio( self, name: impl Into<String>, audio: AudioData<'media>, ) -> Self
Adds an audio track. ctx.get_audio(name) and the audio map find it by name.
Sourcepub fn with_image(
self,
name: impl Into<String>,
image: ImageData<'media>,
) -> Self
pub fn with_image( self, name: impl Into<String>, image: ImageData<'media>, ) -> Self
Adds an image. ctx.get_image(name) finds it by name.
Sourcepub fn with_subtitles(
self,
name: impl Into<String>,
subtitles: Subtitles<'media>,
) -> Self
pub fn with_subtitles( self, name: impl Into<String>, subtitles: Subtitles<'media>, ) -> Self
Adds subtitles. ctx.get_subtitles(name) finds them by name.
Sourcepub fn with_video(self, name: impl Into<String>, video: VideoMedia) -> Self
pub fn with_video(self, name: impl Into<String>, video: VideoMedia) -> Self
Adds a video. ctx.get_video(name) finds it by name.
Sourcepub fn with_font(self, font: RawFontData) -> Self
pub fn with_font(self, font: RawFontData) -> Self
Adds a font. Text finds it by its family name.
Trait Implementations§
Source§impl<'media> Clone for DynamicMediaProvider<'media>
impl<'media> Clone for DynamicMediaProvider<'media>
Source§impl<'media> Debug for DynamicMediaProvider<'media>
impl<'media> Debug for DynamicMediaProvider<'media>
Source§impl<'media> Default for DynamicMediaProvider<'media>
impl<'media> Default for DynamicMediaProvider<'media>
Source§impl<'a> MediaProvider<'a> for DynamicMediaProvider<'a>
impl<'a> MediaProvider<'a> for DynamicMediaProvider<'a>
fn resolve_audio(&self, name: &str) -> Option<&'a AudioData<'_>>
fn resolve_image(&'a self, name: &str) -> Option<&'a ImageData<'a>>
fn resolve_subtitles(&'a self, name: &str) -> Option<&'a Subtitles<'a>>
fn resolve_video(&'a self, name: &str) -> Option<&'a VideoMedia>
Source§fn populate_font_source(&'a self, font_source: &mut dyn FontSource<'_>)
fn populate_font_source(&'a self, font_source: &mut dyn FontSource<'_>)
Returns all the font data along with the original file name
fn populate_font_source(&'a self, font_source: &mut dyn FontSource) -> Result<Vec<RawFontData>>;fn populate_image_source( &'a self, image_data: &mut HashMap<String, Arc<PreloadedImageData>>, )
fn get_all_font_data(&self) -> Vec<(&[u8], &str)>
fn get_all_audio_data(&self) -> Vec<(&AudioData<'_>, &str)>
fn get_all_image_data(&self) -> Vec<(&ImageData<'_>, &str)>
fn get_all_video_data(&self) -> Vec<(&VideoMedia, &str)>
Auto Trait Implementations§
impl<'media> !RefUnwindSafe for DynamicMediaProvider<'media>
impl<'media> !UnwindSafe for DynamicMediaProvider<'media>
impl<'media> Freeze for DynamicMediaProvider<'media>
impl<'media> Send for DynamicMediaProvider<'media>
impl<'media> Sync for DynamicMediaProvider<'media>
impl<'media> Unpin for DynamicMediaProvider<'media>
impl<'media> UnsafeUnpin for DynamicMediaProvider<'media>
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().