From 7005c24e40eb45d9bcfce8116a952793ad82ccc9 Mon Sep 17 00:00:00 2001 From: pylbrecht Date: Mon, 8 Jul 2019 18:29:17 +0200 Subject: [PATCH] Implement some of GenericDrawTarget's methods for raqote --- components/canvas/raqote_backend.rs | 32 +++++++++++++++++++---------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index a80443af4a2..20e0416f3ca 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -121,6 +121,11 @@ impl<'a> StrokeOptions<'a> { StrokeOptions::Raqote(options, _) => options.cap = _val.to_raqote_style(), } } + pub fn as_raqote(&self) -> &raqote::StrokeStyle { + match self { + StrokeOptions::Raqote(options, _) => options, + } + } } impl DrawOptions { @@ -235,28 +240,33 @@ impl GenericDrawTarget for raqote::DrawTarget { unimplemented!(); } fn get_transform(&self) -> Transform2D { - unimplemented!(); + *self.get_transform() } fn pop_clip(&mut self) { - unimplemented!(); + self.pop_clip(); } - fn push_clip(&mut self, _path: &Path) { - unimplemented!(); + fn push_clip(&mut self, path: &Path) { + self.push_clip(path.as_raqote()); } - fn set_transform(&mut self, _matrix: &Transform2D) { - unimplemented!(); + fn set_transform(&mut self, matrix: &Transform2D) { + self.set_transform(matrix); } fn snapshot(&self) -> SourceSurface { unimplemented!(); } fn stroke( &mut self, - _path: &Path, - _pattern: Pattern, - _stroke_options: &StrokeOptions, - _draw_options: &DrawOptions, + path: &Path, + pattern: Pattern, + stroke_options: &StrokeOptions, + draw_options: &DrawOptions, ) { - unimplemented!(); + self.stroke( + path.as_raqote(), + pattern.as_raqote(), + stroke_options.as_raqote(), + draw_options.as_raqote(), + ); } fn stroke_line( &mut self,