craft_core 0.1.1

Core library for the Craft GUI framework.
Documentation
use crate::resource_manager::image::ImageResource;
use std::sync::Arc;
use crate::resource_manager::tinyvg_resource::TinyVgResource;

#[derive(Debug)]
pub enum Resource {
    Image(Arc<ImageResource>),
    Font(Vec<u8>),
    TinyVg(TinyVgResource),
}

impl Resource {
    pub fn data(&self) -> Option<&[u8]> {
        match self {
            Resource::Image(data) => data.common_data.data.as_deref(),
            Resource::Font(data) => Some(data),
            Resource::TinyVg(data) => data.common_data.data.as_deref(),
        }
    }
}