lumen_engine/node/compositing/
mod.rs1pub mod boolean;
2pub mod merge;
3pub mod raster_multimerge;
4pub mod switch;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, lumen_macros::NodeEnum)]
7#[repr(u8)]
8#[non_exhaustive]
9pub enum BlendMode {
10 Normal = 0,
11 Multiply = 1,
12 Screen = 2,
13 Overlay = 3,
14 Darken = 4,
15 Lighten = 5,
16}
17
18impl TryFrom<usize> for BlendMode {
19 type Error = &'static str;
20
21 fn try_from(value: usize) -> Result<Self, Self::Error> {
22 match value {
23 0 => Ok(BlendMode::Normal),
24 1 => Ok(BlendMode::Multiply),
25 2 => Ok(BlendMode::Screen),
26 3 => Ok(BlendMode::Overlay),
27 4 => Ok(BlendMode::Darken),
28 5 => Ok(BlendMode::Lighten),
29 _ => Err("failed to convert usize into BlendMode"),
30 }
31 }
32}