aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-03-25 07:54:50 -0600
committerbors-servo <metajack+bors@gmail.com>2015-03-25 07:54:50 -0600
commitf29ea4e4ef633c023a43f47f7fc8c6b46e51b8df (patch)
treeda604fe60220d1d37453fb93318d7ca736727ce7 /components/canvas
parent004e12c89deb2c30ac634e3ce2e2c63ac9da5dee (diff)
parent698b88f71d994a645024f75f8a44321bbc39cc56 (diff)
downloadservo-f29ea4e4ef633c023a43f47f7fc8c6b46e51b8df.tar.gz
servo-f29ea4e4ef633c023a43f47f7fc8c6b46e51b8df.zip
auto merge of #5302 : mmatyas/servo/canvas_stroke, r=jdm
This is the servo side patch of servo/rust-azure#149.
Diffstat (limited to 'components/canvas')
-rw-r--r--components/canvas/canvas_paint_task.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/components/canvas/canvas_paint_task.rs b/components/canvas/canvas_paint_task.rs
index 443f70bfcc6..522f5104aa3 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);