#![deny(unsafe_code)] use crate::error::*; use crate::graphics::{ Permanent, Texture }; use std::io::Cursor; use png::Decoder; pub fn load_png(png: &[u8], permanent: &Permanent) -> Result<(Texture, u32)> { let decoder = Decoder::new(Cursor::new(png)); let mut reader = decoder.read_info()?; let (width, height) = reader.info().size(); let mut pixels = vec![0; reader.info().raw_bytes()]; reader.next_frame(&mut pixels)?; Texture::new(width, height, pixels, permanent) }