diff --git a/components/canvas/backend.rs b/components/canvas/backend.rs index 2c98c92c8d2..9db9b02f536 100644 --- a/components/canvas/backend.rs +++ b/components/canvas/backend.rs @@ -81,7 +81,7 @@ pub(crate) trait GenericDrawTarget { sigma: f32, operator: B::CompositionOp, ); - fn fill(&mut self, path: &B::Path, pattern: B::Pattern<'_>, draw_options: &B::DrawOptions); + fn fill(&mut self, path: &B::Path, pattern: &B::Pattern<'_>, draw_options: &B::DrawOptions); fn fill_text( &mut self, text_runs: Vec, @@ -92,7 +92,7 @@ pub(crate) trait GenericDrawTarget { fn fill_rect( &mut self, rect: &Rect, - pattern: B::Pattern<'_>, + pattern: &B::Pattern<'_>, draw_options: &B::DrawOptions, ); fn get_size(&self) -> Size2D; @@ -103,7 +103,7 @@ pub(crate) trait GenericDrawTarget { fn stroke( &mut self, path: &B::Path, - pattern: B::Pattern<'_>, + pattern: &B::Pattern<'_>, stroke_options: &B::StrokeOptions, draw_options: &B::DrawOptions, ); @@ -111,14 +111,14 @@ pub(crate) trait GenericDrawTarget { &mut self, start: Point2D, end: Point2D, - pattern: B::Pattern<'_>, + pattern: &B::Pattern<'_>, stroke_options: &B::StrokeOptions, draw_options: &B::DrawOptions, ); fn stroke_rect( &mut self, rect: &Rect, - pattern: B::Pattern<'_>, + pattern: &B::Pattern<'_>, stroke_options: &B::StrokeOptions, draw_options: &B::DrawOptions, ); diff --git a/components/canvas/canvas_data.rs b/components/canvas/canvas_data.rs index 56269517bd8..7d90742f3a8 100644 --- a/components/canvas/canvas_data.rs +++ b/components/canvas/canvas_data.rs @@ -765,16 +765,13 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.draw_with_shadow(&draw_rect, |new_draw_target: &mut B::DrawTarget| { new_draw_target.fill_rect( &draw_rect, - self.state.fill_style.clone(), + &self.state.fill_style, &self.state.draw_options, ); }); } else { - self.drawtarget.fill_rect( - &draw_rect, - self.state.fill_style.clone(), - &self.state.draw_options, - ); + self.drawtarget + .fill_rect(&draw_rect, &self.state.fill_style, &self.state.draw_options); } } @@ -791,7 +788,7 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.draw_with_shadow(rect, |new_draw_target: &mut B::DrawTarget| { new_draw_target.stroke_rect( rect, - self.state.stroke_style.clone(), + &self.state.stroke_style, &self.state.stroke_opts, &self.state.draw_options, ); @@ -802,14 +799,14 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.drawtarget.stroke_line( rect.origin, rect.bottom_right(), - self.state.stroke_style.clone(), + &self.state.stroke_style, &stroke_opts, &self.state.draw_options, ); } else { self.drawtarget.stroke_rect( rect, - self.state.stroke_style.clone(), + &self.state.stroke_style, &self.state.stroke_opts, &self.state.draw_options, ); @@ -892,7 +889,7 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.drawtarget.fill( &path, - self.state.fill_style.clone(), + &self.state.fill_style, &self.state.draw_options.clone(), ); } @@ -904,11 +901,8 @@ impl<'a, B: Backend> CanvasData<'a, B> { let path = to_path::(path, self.drawtarget.create_path_builder()); - self.drawtarget.fill( - &path, - self.state.fill_style.clone(), - &self.state.draw_options, - ); + self.drawtarget + .fill(&path, &self.state.fill_style, &self.state.draw_options); } pub(crate) fn stroke(&mut self) { @@ -922,7 +916,7 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.drawtarget.stroke( &path, - self.state.stroke_style.clone(), + &self.state.stroke_style, &self.state.stroke_opts, &self.state.draw_options, ); @@ -937,7 +931,7 @@ impl<'a, B: Backend> CanvasData<'a, B> { self.drawtarget.stroke( &path, - self.state.stroke_style.clone(), + &self.state.stroke_style, &self.state.stroke_opts, &self.state.draw_options, ); diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index 612810255ad..e2817796343 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -375,7 +375,7 @@ impl GenericDrawTarget for raqote::DrawTarget { let mut options = raqote::DrawOptions::new(); options.blend_mode = raqote::BlendMode::Clear; let pattern = Pattern::Color(0, 0, 0, 0); - >::fill(self, &pb.finish(), pattern, &options); + >::fill(self, &pb.finish(), &pattern, &options); } #[allow(unsafe_code)] fn copy_surface( @@ -448,7 +448,12 @@ impl GenericDrawTarget for raqote::DrawTarget { dest.size.height as f32, ); - >::fill(self, &pb.finish(), pattern, draw_options); + >::fill( + self, + &pb.finish(), + &pattern, + draw_options, + ); } fn draw_surface_with_shadow( &self, @@ -464,13 +469,13 @@ impl GenericDrawTarget for raqote::DrawTarget { fn fill( &mut self, path: &::Path, - pattern: ::Pattern<'_>, + pattern: &::Pattern<'_>, draw_options: &::DrawOptions, ) { match draw_options.blend_mode { raqote::BlendMode::Src => { self.clear(raqote::SolidSource::from_unpremultiplied_argb(0, 0, 0, 0)); - self.fill(path, &source(&pattern), draw_options); + self.fill(path, &source(pattern), draw_options); }, raqote::BlendMode::Clear | raqote::BlendMode::SrcAtop | @@ -479,7 +484,7 @@ impl GenericDrawTarget for raqote::DrawTarget { raqote::BlendMode::Xor | raqote::BlendMode::DstOver | raqote::BlendMode::SrcOver => { - self.fill(path, &source(&pattern), draw_options); + self.fill(path, &source(pattern), draw_options); }, raqote::BlendMode::SrcIn | raqote::BlendMode::SrcOut | @@ -488,7 +493,7 @@ impl GenericDrawTarget for raqote::DrawTarget { let mut options = *draw_options; self.push_layer_with_blend(1., options.blend_mode); options.blend_mode = raqote::BlendMode::SrcOver; - self.fill(path, &source(&pattern), &options); + self.fill(path, &source(pattern), &options); self.pop_layer(); }, _ => warn!("unrecognized blend mode: {:?}", draw_options.blend_mode), @@ -558,7 +563,7 @@ impl GenericDrawTarget for raqote::DrawTarget { fn fill_rect( &mut self, rect: &Rect, - pattern: ::Pattern<'_>, + pattern: &::Pattern<'_>, draw_options: &::DrawOptions, ) { let mut pb = raqote::PathBuilder::new(); @@ -592,17 +597,17 @@ impl GenericDrawTarget for raqote::DrawTarget { fn stroke( &mut self, path: &::Path, - pattern: Pattern<'_>, + pattern: &Pattern<'_>, stroke_options: &::StrokeOptions, draw_options: &::DrawOptions, ) { - self.stroke(path, &source(&pattern), stroke_options, draw_options); + self.stroke(path, &source(pattern), stroke_options, draw_options); } fn stroke_line( &mut self, start: Point2D, end: Point2D, - pattern: ::Pattern<'_>, + pattern: &::Pattern<'_>, stroke_options: &::StrokeOptions, draw_options: &::DrawOptions, ) { @@ -618,7 +623,7 @@ impl GenericDrawTarget for raqote::DrawTarget { self.stroke( &pb.finish(), - &source(&pattern), + &source(pattern), &stroke_options, draw_options, ); @@ -626,7 +631,7 @@ impl GenericDrawTarget for raqote::DrawTarget { fn stroke_rect( &mut self, rect: &Rect, - pattern: ::Pattern<'_>, + pattern: &::Pattern<'_>, stroke_options: &::StrokeOptions, draw_options: &::DrawOptions, ) { @@ -638,12 +643,7 @@ impl GenericDrawTarget for raqote::DrawTarget { rect.size.height, ); - self.stroke( - &pb.finish(), - &source(&pattern), - stroke_options, - draw_options, - ); + self.stroke(&pb.finish(), &source(pattern), stroke_options, draw_options); } #[allow(unsafe_code)] fn bytes(&self) -> Cow<[u8]> {