diff options
author | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-03-19 18:47:15 +0100 |
---|---|---|
committer | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-03-25 12:52:05 +0100 |
commit | 698b88f71d994a645024f75f8a44321bbc39cc56 (patch) | |
tree | e2eaed6899c941af9953aa94073f1b515059ecd4 /components/canvas/canvas_paint_task.rs | |
parent | 2ab1ece765a50e26c2908bcbe5463ff1fda0b085 (diff) | |
download | servo-698b88f71d994a645024f75f8a44321bbc39cc56.tar.gz servo-698b88f71d994a645024f75f8a44321bbc39cc56.zip |
Canvas: added stroke() support.
Diffstat (limited to 'components/canvas/canvas_paint_task.rs')
-rw-r--r-- | components/canvas/canvas_paint_task.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs index 4822fd48750..026697e5e7c 100644 --- a/components/canvas/canvas_paint_task.rs +++ b/components/canvas/canvas_paint_task.rs @@ -26,6 +26,7 @@ pub enum CanvasMsg { BeginPath, ClosePath, Fill, + Stroke, DrawImage(Vec<u8>, Rect<i32>, Rect<i32>, bool), DrawImageSelf(Size2D<i32>, Rect<i32>, Rect<i32>, bool), MoveTo(Point2D<f32>), @@ -211,6 +212,7 @@ impl<'a> CanvasPaintTask<'a> { CanvasMsg::BeginPath => painter.begin_path(), CanvasMsg::ClosePath => painter.close_path(), CanvasMsg::Fill => painter.fill(), + CanvasMsg::Stroke => painter.stroke(), CanvasMsg::DrawImage(imagedata, dest_rect, source_rect, smoothing_enabled) => { painter.draw_image(imagedata, dest_rect, source_rect, smoothing_enabled) } @@ -284,6 +286,19 @@ impl<'a> CanvasPaintTask<'a> { }; } + fn stroke(&self) { + let draw_options = DrawOptions::new(1.0, 0); + match self.stroke_style { + Pattern::Color(ref color) => { + self.drawtarget.stroke(&self.path_builder.finish(), + color, &self.stroke_opts, &draw_options); + } + _ => { + // TODO + } + }; + } + fn draw_image(&self, imagedata: Vec<u8>, dest_rect: Rect<i32>, source_rect: Rect<i32>, smoothing_enabled: bool) { self.write_image(imagedata, source_rect, dest_rect, smoothing_enabled); |