mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-19 19:08:05 +08:00
add: vello luminance based clipping
This commit is contained in:
8
Cargo.lock
generated
8
Cargo.lock
generated
@@ -4364,7 +4364,7 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
|
||||
[[package]]
|
||||
name = "peniko"
|
||||
version = "0.2.0"
|
||||
source = "git+https://github.com/linebender/peniko.git?rev=d114c62#d114c6292dbcfb03e7360692198be423168a0edd"
|
||||
source = "git+https://github.com/mTvare6/peniko.git?branch=luminance-clip#cd9aa45fe5a5c3070f18311cf33aad9cc83e5863"
|
||||
dependencies = [
|
||||
"color 0.1.0",
|
||||
"kurbo",
|
||||
@@ -7273,7 +7273,7 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||
[[package]]
|
||||
name = "vello"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/linebender/vello.git?rev=3275ec8#3275ec85d831180be81820de06cca29a97a757f5"
|
||||
source = "git+https://github.com/mTvare6/vello.git?branch=luminance-clip#8af3207bd009da4e893b29f199985924e4a0b696"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"futures-intrusive",
|
||||
@@ -7291,7 +7291,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "vello_encoding"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/linebender/vello.git?rev=3275ec8#3275ec85d831180be81820de06cca29a97a757f5"
|
||||
source = "git+https://github.com/mTvare6/vello.git?branch=luminance-clip#8af3207bd009da4e893b29f199985924e4a0b696"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"guillotiere",
|
||||
@@ -7303,7 +7303,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "vello_shaders"
|
||||
version = "0.3.0"
|
||||
source = "git+https://github.com/linebender/vello.git?rev=3275ec8#3275ec85d831180be81820de06cca29a97a757f5"
|
||||
source = "git+https://github.com/mTvare6/vello.git?branch=luminance-clip#8af3207bd009da4e893b29f199985924e4a0b696"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"naga",
|
||||
|
||||
@@ -114,7 +114,7 @@ web-sys = { version = "=0.3.77", features = [
|
||||
winit = "0.29"
|
||||
url = "2.5"
|
||||
tokio = { version = "1.29", features = ["fs", "macros", "io-std", "rt"] }
|
||||
vello = { git = "https://github.com/linebender/vello.git", rev = "3275ec8" } # TODO switch back to stable when a release is made
|
||||
vello = { git = "https://github.com/mTvare6/vello.git", branch = "luminance-clip" } # TODO switch back to stable when a release is made
|
||||
resvg = "0.44"
|
||||
usvg = "0.44"
|
||||
rand = { version = "0.9", default-features = false, features = ["std_rng"] }
|
||||
|
||||
@@ -329,7 +329,7 @@ impl GraphicElementRendered for GraphicGroupTable {
|
||||
|
||||
scene.push_layer(peniko::Mix::Normal, 1., kurbo::Affine::IDENTITY, &rect);
|
||||
mask.render_to_vello(scene, transform, context, &render_params.for_clipper());
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::Clip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::LuminanceClip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -593,7 +593,7 @@ impl GraphicElementRendered for VectorDataTable {
|
||||
|
||||
scene.push_layer(peniko::Mix::Normal, 1., kurbo::Affine::IDENTITY, &rect);
|
||||
mask.render_to_vello(scene, element_transform, _context, &render_params.for_clipper());
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::Clip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::LuminanceClip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1055,7 +1055,7 @@ impl GraphicElementRendered for RasterDataTable<CPU> {
|
||||
|
||||
scene.push_layer(peniko::Mix::Normal, 1., kurbo::Affine::IDENTITY, &rect);
|
||||
mask.render_to_vello(scene, transform, _context, &render_params.for_clipper());
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::Clip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
scene.push_layer(peniko::BlendMode::new(peniko::Mix::LuminanceClip, peniko::Compose::SrcIn), 1., kurbo::Affine::IDENTITY, &rect);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1354,7 +1354,7 @@ impl SvgRenderAttrs<'_> {
|
||||
|
||||
let id = format!("mask-{}", uuid);
|
||||
write!(&mut self.0.svg_defs, r##"{}"##, svg.svg_defs).unwrap();
|
||||
write!(&mut self.0.svg_defs, r##"<mask id="{id}" mask-type="lumninance">{}</mask>"##, svg.svg.to_svg_string()).unwrap();
|
||||
write!(&mut self.0.svg_defs, r##"<mask id="{id}">{}</mask>"##, svg.svg.to_svg_string()).unwrap();
|
||||
|
||||
let selector = format!("url(#{id})");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user