| // Copyright 2025 the Vello Authors |
| // SPDX-License-Identifier: Apache-2.0 OR MIT |
| |
| use crate::mask::example_mask; |
| use crate::renderer::Renderer; |
| use crate::util::crossed_line_star; |
| use vello_common::color::palette::css::{BLUE, RED}; |
| use vello_common::kurbo::Rect; |
| use vello_common::peniko::{BlendMode, Compose, Mix}; |
| use vello_dev_macros::vello_test; |
| |
| #[vello_test(cpu_u8_tolerance = 1)] |
| fn layer_multiple_properties_1(ctx: &mut impl Renderer) { |
| let mask = example_mask(true); |
| let star = crossed_line_star(); |
| |
| ctx.set_paint(BLUE); |
| ctx.fill_rect(&Rect::new(10.0, 10.0, 90.0, 90.0)); |
| ctx.push_layer( |
| Some(&star), |
| Some(BlendMode::new(Mix::Lighten, Compose::SrcOver)), |
| Some(0.78), |
| Some(mask), |
| ); |
| ctx.set_paint(RED); |
| ctx.fill_rect(&Rect::new(10.0, 10.0, 90.0, 90.0)); |
| ctx.pop_layer(); |
| } |