mirror of
https://github.com/penpot/penpot.git
synced 2026-03-11 12:56:14 +00:00
29 lines
621 B
Rust
29 lines
621 B
Rust
use skia_safe as skia;
|
|
|
|
#[derive(Debug, PartialEq, Clone, Copy)]
|
|
pub struct BlendMode(skia::BlendMode);
|
|
|
|
impl Default for BlendMode {
|
|
fn default() -> Self {
|
|
BlendMode(skia::BlendMode::SrcOver)
|
|
}
|
|
}
|
|
|
|
impl From<i32> for BlendMode {
|
|
fn from(value: i32) -> Self {
|
|
if value <= skia::BlendMode::Luminosity as i32 {
|
|
unsafe { Self(std::mem::transmute(value)) }
|
|
} else {
|
|
Self::default()
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Into<skia::BlendMode> for BlendMode {
|
|
fn into(self) -> skia::BlendMode {
|
|
match self {
|
|
Self(skia_blend) => skia_blend,
|
|
}
|
|
}
|
|
}
|