mirror of
https://github.com/penpot/penpot.git
synced 2025-06-30 05:27:05 +02:00
🎉 Render drop shadows (wasm) (#5693)
Co-authored-by: Belén Albeza <belen@hey.com>
This commit is contained in:
parent
27dce6fcfa
commit
09131f7533
7 changed files with 217 additions and 3 deletions
25
render-wasm/src/render/shadows.rs
Normal file
25
render-wasm/src/render/shadows.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
use skia_safe::{self as skia};
|
||||
|
||||
use super::RenderState;
|
||||
use crate::shapes::Shadow;
|
||||
|
||||
pub fn render_drop_shadow(render_state: &mut RenderState, shadow: &Shadow, scale: f32) {
|
||||
let shadow_paint = shadow.to_paint(true, scale);
|
||||
render_state.drawing_surface.draw(
|
||||
&mut render_state.shadow_surface.canvas(),
|
||||
(0.0, 0.0),
|
||||
skia::SamplingOptions::new(skia::FilterMode::Linear, skia::MipmapMode::Nearest),
|
||||
Some(&shadow_paint),
|
||||
);
|
||||
|
||||
render_state.shadow_surface.draw(
|
||||
&mut render_state.final_surface.canvas(),
|
||||
(0.0, 0.0),
|
||||
skia::SamplingOptions::new(skia::FilterMode::Linear, skia::MipmapMode::Nearest),
|
||||
Some(&skia::Paint::default()),
|
||||
);
|
||||
render_state
|
||||
.shadow_surface
|
||||
.canvas()
|
||||
.clear(skia::Color::TRANSPARENT);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue