#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum Equation {
Additive,
Subtract,
ReverseSubtract,
Min,
Max,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum Factor {
One,
Zero,
SrcColor,
SrcColorComplement,
DestColor,
DestColorComplement,
SrcAlpha,
SrcAlphaComplement,
DstAlpha,
DstAlphaComplement,
SrcAlphaSaturate,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub struct Blending {
pub equation: Equation,
pub src: Factor,
pub dst: Factor,
}
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum BlendingMode {
Combined(Blending),
Separate {
rgb: Blending,
alpha: Blending,
},
}
impl From<Blending> for BlendingMode {
fn from(blending: Blending) -> Self {
BlendingMode::Combined(blending)
}
}