Struct icon_loader::Icon
source · pub struct Icon { /* private fields */ }
Expand description
Struct containing information about a themed icon.
Implementations§
source§impl Icon
impl Icon
sourcepub fn theme_name(&self) -> &str
pub fn theme_name(&self) -> &str
Returns the associated icon’s theme name.
sourcepub fn file_for_size(&self, size: u16) -> &IconFile
pub fn file_for_size(&self, size: u16) -> &IconFile
Returns the file of the associated icon that fits the given size best and has a scale of 1. If there is no exact fit available, the next bigger one is chosen. If there is no bigger one, the next smaller one is returned. If that cannot be found, the scale restriction is ignored.
Arguments
size
- The ideal size of the returned icon file.
Example
use std::ops::Deref;
use icon_loader::IconLoader;
let loader = IconLoader::new();
if let Some(icon) = loader.load_icon("minimum") {
let icon_file = icon.file_for_size(32);
};
sourcepub fn file_for_size_scaled(&self, size: u16, scale: u16) -> &IconFile
pub fn file_for_size_scaled(&self, size: u16, scale: u16) -> &IconFile
Returns the file of the associated icon that fits the given size and scale best.
If there is no exact fit available, the next bigger size is chosen.
If there is no bigger fit with the given scale, the next smaller one is returned.
If no file with the preferred scale can be found, one with the size size * scale
and scale 1 is looked for.
If that cannot be found, the scale restriction is ignored.
Arguments
size
- The ideal size of the returned icon file.scale
- The preferred scale of the returned icon file.
Example
use std::ops::Deref;
use icon_loader::IconLoader;
let loader = IconLoader::new();
if let Some(icon) = loader.load_icon("minimum") {
let icon_file = icon.file_for_size_scaled(32, 2);
};
sourcepub fn file_for_size_filtered(
&self,
size: u16,
filter: impl Fn(&IconFile) -> bool
) -> Option<&IconFile>
pub fn file_for_size_filtered( &self, size: u16, filter: impl Fn(&IconFile) -> bool ) -> Option<&IconFile>
Returns the file of the associated icon that fits the given size best and matches the provided filter. If there is no exact fit available, the next bigger one is chosen. If there is no bigger one, the next smaller one is returned. Use this, if you want only files of type PNG or anything like that.
Arguments
size
- The ideal size of the returned icon file.filter
- A function that takes a reference to anIconFile
and returns true, if it passes the test and false otherwise.
Example
use std::ops::Deref;
use icon_loader::{IconLoader, IconFileType};
let loader = IconLoader::new();
if let Some(icon) = loader.load_icon("minimum") {
let icon_file = icon.file_for_size_filtered(32, |file| file.icon_type() == IconFileType::PNG);
};