pathfinder_resources/
embedded.rs1use crate::ResourceLoader;
14use std::io::{Error as IOError, ErrorKind};
15
16include!(concat!(env!("OUT_DIR"), "/manifest.rs"));
17
18pub struct EmbeddedResourceLoader;
19
20impl EmbeddedResourceLoader {
21 #[inline]
22 pub fn new() -> EmbeddedResourceLoader {
23 EmbeddedResourceLoader
24 }
25}
26
27impl ResourceLoader for EmbeddedResourceLoader {
28 fn slurp(&self, virtual_path: &str) -> Result<Vec<u8>, IOError> {
29 match RESOURCES.iter().filter(|&(path, _)| *path == virtual_path).next() {
30 Some((_, data)) => Ok(data.to_vec()),
31 None => Err(IOError::from(ErrorKind::NotFound)),
32 }
33 }
34}