diff options
author | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-04-01 17:15:32 +0200 |
---|---|---|
committer | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-04-07 16:10:29 +0200 |
commit | 6da2ce9b1b93ce2063188c0b296f9047547b9296 (patch) | |
tree | 967c697f9f74a7cbecf90b0278f3cd209f6becc5 /components/script/dom/canvasrenderingcontext2d.rs | |
parent | 07520de97047916f0d15c7a63b3de20eac50f010 (diff) | |
download | servo-6da2ce9b1b93ce2063188c0b296f9047547b9296.tar.gz servo-6da2ce9b1b93ce2063188c0b296f9047547b9296.zip |
Canvas: added lineWidth support.
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 fc8573923d0..96bd12b3958 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -41,6 +41,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>>, } @@ -61,6 +62,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()), } @@ -649,6 +651,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] |