use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum Effect {
#[serde(rename="DROP_SHADOW")]
DropShadow(Box<models::DropShadowEffect>),
#[serde(rename="INNER_SHADOW")]
InnerShadow(Box<models::InnerShadowEffect>),
#[serde(rename="LAYER_BLUR")]
LayerBlur(Box<models::LayerBlurEffect>),
#[serde(rename="BACKGROUND_BLUR")]
BackgroundBlur(Box<models::BackgroundBlurEffect>),
#[serde(rename="TEXTURE")]
Texture(Box<models::TextureEffect>),
#[serde(rename="NOISE")]
Noise(Box<models::NoiseEffect>),
}
impl Default for Effect {
fn default() -> Self {
Self::DropShadow(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum NoiseType {
#[serde(rename = "MONOTONE")]
Monotone,
#[serde(rename = "MULTITONE")]
Multitone,
#[serde(rename = "DUOTONE")]
Duotone,
}
impl Default for NoiseType {
fn default() -> NoiseType {
Self::Monotone
}
}