mirror of
https://github.com/penpot/penpot.git
synced 2025-06-12 10:01:40 +02:00
🎉 Implement inner shadows (wasm) (#5767)
* 🎉 Implement inner shadows (wasm) * 🐛 Fix reset canvas problem --------- Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
This commit is contained in:
parent
2ffb77cb4d
commit
6cbaacf1e0
6 changed files with 127 additions and 20 deletions
|
@ -4,7 +4,7 @@ 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);
|
||||
let shadow_paint = shadow.to_paint(scale);
|
||||
render_state.drawing_surface.draw(
|
||||
&mut render_state.shadow_surface.canvas(),
|
||||
(0.0, 0.0),
|
||||
|
@ -18,6 +18,30 @@ pub fn render_drop_shadow(render_state: &mut RenderState, shadow: &Shadow, scale
|
|||
skia::SamplingOptions::new(skia::FilterMode::Linear, skia::MipmapMode::Nearest),
|
||||
Some(&skia::Paint::default()),
|
||||
);
|
||||
|
||||
render_state
|
||||
.shadow_surface
|
||||
.canvas()
|
||||
.clear(skia::Color::TRANSPARENT);
|
||||
}
|
||||
|
||||
pub fn render_inner_shadow(render_state: &mut RenderState, shadow: &Shadow, scale: f32) {
|
||||
let shadow_paint = shadow.to_paint(scale);
|
||||
|
||||
render_state.drawing_surface.draw(
|
||||
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.overlay_surface.canvas(),
|
||||
(0.0, 0.0),
|
||||
skia::SamplingOptions::new(skia::FilterMode::Linear, skia::MipmapMode::Nearest),
|
||||
None,
|
||||
);
|
||||
|
||||
render_state
|
||||
.shadow_surface
|
||||
.canvas()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue