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)
}
}