From 772f2bc2ee963972bdde2d3aafdc6d931c2c1e7d Mon Sep 17 00:00:00 2001 From: pylbrecht Date: Fri, 11 Oct 2019 16:55:53 +0200 Subject: [PATCH] Implement Path::transformed_copy_to_builder() --- components/canvas/raqote_backend.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index c1e193ca3e4..8a7fd3354c4 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -180,9 +180,11 @@ impl DrawOptions { impl Path { pub fn transformed_copy_to_builder( &self, - _transform: &Transform2D, + transform: &Transform2D, ) -> Box { - unimplemented!() + Box::new(PathBuilder(Some(raqote::PathBuilder::from( + self.as_raqote().clone().transform(transform), + )))) } pub fn contains_point(&self, x: f64, y: f64, _path_transform: &Transform2D) -> bool { @@ -633,11 +635,12 @@ pub trait ToRaqoteGradientStop { impl ToRaqoteGradientStop for CanvasGradientStop { fn to_raqote(&self) -> raqote::GradientStop { - let color: u32 = ((self.color.alpha as u32) << 8 * 3 | - (self.color.red as u32) << 8 * 2 | - (self.color.green as u32) << 8 * 1 | - (self.color.blue as u32) << 8 * 0) - .into(); + let color = raqote::Color::new( + self.color.alpha, + self.color.red, + self.color.green, + self.color.blue, + ); let position = self.offset as f32; raqote::GradientStop { position, color } }