aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-08 00:56:37 -0500
committerbors-servo <metajack+bors@gmail.com>2015-04-08 00:56:37 -0500
commitf57b487e4d53c60d8afe704ab0fd92f6158d63da (patch)
tree9c615f7fde25b6767a818a0e4243ad986c4ef766 /components/script/dom/canvasrenderingcontext2d.rs
parentf3df8859a83e1e3c61ee1472eb33132f28406a97 (diff)
parent6da2ce9b1b93ce2063188c0b296f9047547b9296 (diff)
downloadservo-f57b487e4d53c60d8afe704ab0fd92f6158d63da.tar.gz
servo-f57b487e4d53c60d8afe704ab0fd92f6158d63da.zip
Auto merge of #5562 - mmatyas:canvas_linewidth, r=jdm
Rebase of #5488
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index b4863d876a2..690d003d81a 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -51,6 +51,7 @@ pub struct CanvasRenderingContext2D {
canvas: JS<HTMLCanvasElement>,
image_smoothing_enabled: Cell<bool>,
stroke_color: Cell<RGBA>,
+ line_width: Cell<f64>,
fill_color: Cell<RGBA>,
transform: Cell<Matrix2D<f32>>,
}
@@ -71,6 +72,7 @@ impl CanvasRenderingContext2D {
canvas: JS::from_rooted(canvas),
image_smoothing_enabled: Cell::new(true),
stroke_color: Cell::new(black),
+ line_width: Cell::new(1.0),
fill_color: Cell::new(black),
transform: Cell::new(Matrix2D::identity()),
}
@@ -786,6 +788,19 @@ impl<'a> CanvasRenderingContext2DMethods for JSRef<'a, CanvasRenderingContext2D>
Ok(CanvasGradient::new(self.global.root().r(),
CanvasGradientStyle::Radial(RadialGradientStyle::new(x0, y0, r0, x1, y1, r1, Vec::new()))))
}
+
+ fn LineWidth(self) -> f64 {
+ self.line_width.get()
+ }
+
+ fn SetLineWidth(self, width: f64) {
+ if !width.is_finite() || width <= 0.0 {
+ return;
+ }
+
+ self.line_width.set(width);
+ self.renderer.send(CanvasMsg::SetLineWidth(width as f32)).unwrap()
+ }
}
#[unsafe_destructor]