Implement Path::transformed_copy_to_builder()

This commit is contained in:
pylbrecht 2019-10-11 16:55:53 +02:00
parent f88c6efd63
commit 772f2bc2ee

View file

@ -180,9 +180,11 @@ impl DrawOptions {
impl Path { impl Path {
pub fn transformed_copy_to_builder( pub fn transformed_copy_to_builder(
&self, &self,
_transform: &Transform2D<f32>, transform: &Transform2D<f32>,
) -> Box<dyn GenericPathBuilder> { ) -> Box<dyn GenericPathBuilder> {
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<f32>) -> bool { pub fn contains_point(&self, x: f64, y: f64, _path_transform: &Transform2D<f32>) -> bool {
@ -633,11 +635,12 @@ pub trait ToRaqoteGradientStop {
impl ToRaqoteGradientStop for CanvasGradientStop { impl ToRaqoteGradientStop for CanvasGradientStop {
fn to_raqote(&self) -> raqote::GradientStop { fn to_raqote(&self) -> raqote::GradientStop {
let color: u32 = ((self.color.alpha as u32) << 8 * 3 | let color = raqote::Color::new(
(self.color.red as u32) << 8 * 2 | self.color.alpha,
(self.color.green as u32) << 8 * 1 | self.color.red,
(self.color.blue as u32) << 8 * 0) self.color.green,
.into(); self.color.blue,
);
let position = self.offset as f32; let position = self.offset as f32;
raqote::GradientStop { position, color } raqote::GradientStop { position, color }
} }