1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::core::algebra::Vector2;
use crate::core::color::Color;

#[derive(Clone, Debug, PartialEq)]
pub struct GradientPoint {
    pub stop: f32,
    pub color: Color,
}

#[derive(Clone, Debug, PartialEq)]
pub enum Brush {
    Solid(Color),
    LinearGradient {
        from: Vector2<f32>,
        to: Vector2<f32>,
        stops: Vec<GradientPoint>,
    },
    RadialGradient {
        center: Vector2<f32>,
        stops: Vec<GradientPoint>,
    },
}