craft_core 0.1.1

Core library for the Craft GUI framework.
Documentation
use crate::resource_manager::resource_data::ResourceData;
use tinyvg_rs::TinyVg;

#[derive(Debug)]
pub struct TinyVgResource {
    pub common_data: ResourceData,
    pub tinyvg: Option<TinyVg>,
}

impl TinyVgResource {
    pub(crate) fn new(mut data: ResourceData) -> Self {
        if let Some(tinyvg_data) = data.data.as_ref() {
            let tinyvg = TinyVg::from_bytes(tinyvg_data);
            data.data = None;

            TinyVgResource {
                common_data: data,
                tinyvg: tinyvg.ok(),
            }
        } else {
            data.data = None;

            TinyVgResource {
                common_data: data,
                tinyvg: None
            }
        }
    }
}