pub struct RasterizedIcon {
pub width: u32,
pub height: u32,
pub rgba: Arc<[u8]>,
}Expand description
Square premultiplied RGBA8 raster output.
Pixels are row-major, four bytes per pixel in red, green, blue, alpha order.
Constructor-produced length is width * height * 4, and both dimensions are
equal and at least one. Public fields can bypass all of those invariants.
Cloning shares the allocation through Arc.
§Examples
use ailloli_ui_core::AppIcon;
use ailloli_ui_icon::rasterize_app_icon;
const SVG: &[u8] = br#"<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1"><rect width="1" height="1" fill="red"/></svg>"#;
let raster = rasterize_app_icon(&AppIcon::from_static_svg(SVG, "icon.svg"), 8).unwrap();
assert_eq!((raster.width, raster.height, raster.rgba.len()), (8, 8, 256));Fields§
§width: u32Raster width in pixels; constructor-produced values are px.max(1).
height: u32Raster height in pixels, equal to Self::width for produced values.
rgba: Arc<[u8]>Shared row-major premultiplied RGBA8 bytes.
Trait Implementations§
Source§impl Clone for RasterizedIcon
impl Clone for RasterizedIcon
Source§fn clone(&self) -> RasterizedIcon
fn clone(&self) -> RasterizedIcon
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RasterizedIcon
impl Debug for RasterizedIcon
Source§impl PartialEq for RasterizedIcon
impl PartialEq for RasterizedIcon
impl Eq for RasterizedIcon
impl StructuralPartialEq for RasterizedIcon
Auto Trait Implementations§
impl Freeze for RasterizedIcon
impl RefUnwindSafe for RasterizedIcon
impl Send for RasterizedIcon
impl Sync for RasterizedIcon
impl Unpin for RasterizedIcon
impl UnwindSafe for RasterizedIcon
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