color save

This commit is contained in:
2025-08-02 18:10:22 +02:00
parent b596dc3410
commit e81e92a6bc
4 changed files with 29 additions and 6 deletions

22
src/color.rs Normal file
View File

@@ -0,0 +1,22 @@
use iced::Color;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
pub mod color_serde {
use super::*;
pub fn serialize<S>(color: &Color, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let data = [color.r, color.g, color.b, color.a];
data.serialize(serializer)
}
pub fn deserialize<'de, D>(deserializer: D) -> Result<Color, D::Error>
where
D: Deserializer<'de>,
{
let data: [f32; 4] = Deserialize::deserialize(deserializer)?;
Ok(Color::from_rgba(data[0], data[1], data[2], data[3]))
}
}