Struct IconCache

Source
pub struct IconCache<'a> {
    pub bytes: &'a [u8],
    pub header: &'a Header,
    pub hash: &'a Hash,
    pub directory_list: DirectoryList<'a>,
}
Expand description

Thin wrapper around an in-memory icon cache.

This is icon-cache’s main entrypoint. To look up an icon, use the icon function.

IconCache’s fields may be interesting for advanced uses, but if all you need is to look up icons—use icon.

Fields§

§bytes: &'a [u8]

The raw bytes representing the cache

§header: &'a Header

Cache header file: contains version and hash & directory list offsets

§hash: &'a Hash

Internal hash table storing mapping from icon names to icon information

§directory_list: DirectoryList<'a>

List of directories within the theme, relative to the theme’s root

Implementations§

Source§

impl<'a> IconCache<'a>

Source

pub fn new_from_bytes(bytes: &'a [u8]) -> Result<Self, Box<dyn Error + 'a>>

Source

pub fn icon(&self, icon_name: impl AsRef<[u8]>) -> Option<Icon<'a>>

Look up an icon by name in the cache. icon_name accepts any type that turns into a byte slice: typically str suffices.

Returns None if no icon by that name exists within the icon theme, or if parsing failed.

Source

pub fn iter(&self) -> impl Iterator<Item = Icon<'a>>

Trait Implementations§

Source§

impl<'a> Clone for IconCache<'a>

Source§

fn clone(&self) -> IconCache<'a>

Returns a copy 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<'a> Debug for IconCache<'a>

Source§

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

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

impl<'a> Copy for IconCache<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for IconCache<'a>

§

impl<'a> RefUnwindSafe for IconCache<'a>

§

impl<'a> Send for IconCache<'a>

§

impl<'a> Sync for IconCache<'a>

§

impl<'a> Unpin for IconCache<'a>

§

impl<'a> UnwindSafe for IconCache<'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> 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.