diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-04-08 00:56:37 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-04-08 00:56:37 -0500 |
commit | f57b487e4d53c60d8afe704ab0fd92f6158d63da (patch) | |
tree | 9c615f7fde25b6767a818a0e4243ad986c4ef766 /components/script/dom/canvasrenderingcontext2d.rs | |
parent | f3df8859a83e1e3c61ee1472eb33132f28406a97 (diff) | |
parent | 6da2ce9b1b93ce2063188c0b296f9047547b9296 (diff) | |
download | servo-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.rs | 15 |
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] |