figma_api/models/
noise_effect.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NoiseEffect {
16 #[serde(rename = "blendMode")]
18 pub blend_mode: models::BlendMode,
19 #[serde(rename = "noiseSize")]
21 pub noise_size: f64,
22 #[serde(rename = "density")]
24 pub density: f64,
25 #[serde(rename = "noiseType")]
26 pub noise_type: NoiseType,
27 #[serde(rename = "opacity", skip_serializing_if = "Option::is_none")]
28 pub opacity: Option<f64>,
29 #[serde(rename = "secondaryColor", skip_serializing_if = "Option::is_none")]
30 pub secondary_color: Option<Box<models::Rgba>>,
31}
32
33impl NoiseEffect {
34 pub fn new(blend_mode: models::BlendMode, noise_size: f64, density: f64, noise_type: NoiseType) -> NoiseEffect {
35 NoiseEffect {
36 blend_mode,
37 noise_size,
38 density,
39 noise_type,
40 opacity: None,
41 secondary_color: None,
42 }
43 }
44}
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum NoiseType {
48 #[serde(rename = "MONOTONE")]
49 Monotone,
50 #[serde(rename = "MULTITONE")]
51 Multitone,
52 #[serde(rename = "DUOTONE")]
53 Duotone,
54}
55
56impl Default for NoiseType {
57 fn default() -> NoiseType {
58 Self::Monotone
59 }
60}
61