Skip to main content

FileRef

Struct FileRef 

Source
pub struct FileRef<'a> { /* private fields */ }
Expand description

A file loaded from ROM or data dir into the memory.

Returned by [rom::load] and [data::load] which requires a pre-allocated buffer of the right size. If the file size is deterimed dynamically, you might want to use [rom::load_buf] and [data::load_buf] instead (which will take care of the dynamic allocation).

Implementations§

Source§

impl<'a> FileRef<'a>

Source

pub unsafe fn from_bytes(b: &'a [u8]) -> Self

Construct [File] from raw bytes.

The main purpose of this function is to support convering [File] to and from “basic” types, which might be required for implementing some language interpreters (Lua, Python, etc) for Firefly in Rust.

§Safety

This function allows bypassing type safety and constructing Image and Font in runtime. Don’t do that. Relying on internal representation of file formats might make your app incompatible with future Firefly runtimes. If you need to modify an in-memory image, use Canvas instead.

Source

pub fn into_font(self) -> FontRef<'a>

Source

pub fn into_image(self) -> ImageRef<'a>

Source

pub fn into_bytes(self) -> &'a [u8]

Trait Implementations§

Source§

impl<'a> From<FileRef<'a>> for &'a [u8]

Source§

fn from(value: FileRef<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<FileRef<'a>> for FontRef<'a>

Source§

fn from(value: FileRef<'a>) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<FileRef<'a>> for ImageRef<'a>

Source§

fn from(value: FileRef<'a>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a> Freeze for FileRef<'a>

§

impl<'a> RefUnwindSafe for FileRef<'a>

§

impl<'a> Send for FileRef<'a>

§

impl<'a> Sync for FileRef<'a>

§

impl<'a> Unpin for FileRef<'a>

§

impl<'a> UnsafeUnpin for FileRef<'a>

§

impl<'a> UnwindSafe for FileRef<'a>

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> 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, 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.