resource-fork-types 0.1.2

Support for reading common resource fork types in rust
Documentation
use binrw::BinRead;
use resource_fork::Resource;

use crate::{clut::WINDOW_COLOR_TABLE_NAMES, Clut};

#[derive(Resource, BinRead)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[resource(code = "WDEF")]
#[br(big)]
pub struct WindowDefinitionFunctions {}

#[derive(Resource, BinRead)]
#[cfg_attr(feature = "serde", derive(serde::Deserialize))]
#[resource(code = "wctb")]
#[br(big)]
pub struct WindowColorTable(Clut);

#[cfg(feature = "serde")]
impl serde::Serialize for WindowColorTable {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        self.0
            .with_names(&WINDOW_COLOR_TABLE_NAMES)
            .serialize(serializer)
    }
}