2023-12-14 08:42:49 +01:00
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
|
|
|
|
pub mod read;
|
|
|
|
pub mod write;
|
|
|
|
|
2024-01-12 17:23:17 +01:00
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
|
|
|
pub enum Kind {
|
2023-12-14 08:42:49 +01:00
|
|
|
Read(read::Read),
|
|
|
|
Write(write::Write),
|
2024-01-11 14:10:44 +01:00
|
|
|
Math(Math),
|
|
|
|
Blend(Blend),
|
|
|
|
Noise(Noise),
|
|
|
|
Filter(Filter),
|
2023-12-14 08:42:49 +01:00
|
|
|
}
|
|
|
|
|
2024-01-12 17:23:17 +01:00
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
2024-01-11 14:10:44 +01:00
|
|
|
pub enum Math {
|
2023-12-14 08:42:49 +01:00
|
|
|
Add,
|
|
|
|
Subtract,
|
|
|
|
Multiply,
|
|
|
|
Divide,
|
|
|
|
}
|
|
|
|
|
2024-01-12 17:23:17 +01:00
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
2024-01-11 14:10:44 +01:00
|
|
|
pub enum Blend {
|
2023-12-14 08:42:49 +01:00
|
|
|
Normal,
|
|
|
|
Multiply,
|
|
|
|
Additive,
|
|
|
|
Overlay,
|
|
|
|
Screen,
|
|
|
|
Subtractive,
|
|
|
|
Difference,
|
|
|
|
Darken,
|
|
|
|
Lighten,
|
|
|
|
}
|
|
|
|
|
2024-01-12 17:23:17 +01:00
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
2024-01-11 14:10:44 +01:00
|
|
|
pub enum Noise {
|
2023-12-14 08:42:49 +01:00
|
|
|
Perlin,
|
|
|
|
Simplex,
|
|
|
|
Voronoi,
|
|
|
|
}
|
2024-01-01 21:18:56 +01:00
|
|
|
|
2024-01-12 17:23:17 +01:00
|
|
|
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
2024-01-11 14:10:44 +01:00
|
|
|
pub enum Filter {
|
2024-01-01 21:18:56 +01:00
|
|
|
Invert,
|
|
|
|
}
|