diff options
author | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-04-09 10:20:55 +0200 |
---|---|---|
committer | Mátyás Mustoha <mmatyas@inf.u-szeged.hu> | 2015-04-09 13:00:05 +0200 |
commit | 93fa9e607a12f1b32b017bb94d0f01f5a0ea1607 (patch) | |
tree | 8bcf085d9d6b9e9d78bf002a0f5e92702179a094 /components/script | |
parent | 74afd086d2ce5a5631a63a1f6642cfc0de5dfef7 (diff) | |
download | servo-93fa9e607a12f1b32b017bb94d0f01f5a0ea1607.tar.gz servo-93fa9e607a12f1b32b017bb94d0f01f5a0ea1607.zip |
Canvas: added miterLimit support.
Diffstat (limited to 'components/script')
-rw-r--r-- | components/script/dom/canvasrenderingcontext2d.rs | 15 | ||||
-rw-r--r-- | components/script/dom/webidls/CanvasRenderingContext2D.webidl | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 8213e7afc87..d079ce209c6 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -53,6 +53,7 @@ pub struct CanvasRenderingContext2D { image_smoothing_enabled: Cell<bool>, stroke_color: Cell<RGBA>, line_width: Cell<f64>, + miter_limit: Cell<f64>, fill_color: Cell<RGBA>, transform: Cell<Matrix2D<f32>>, } @@ -75,6 +76,7 @@ impl CanvasRenderingContext2D { image_smoothing_enabled: Cell::new(true), stroke_color: Cell::new(black), line_width: Cell::new(1.0), + miter_limit: Cell::new(10.0), fill_color: Cell::new(black), transform: Cell::new(Matrix2D::identity()), } @@ -816,6 +818,19 @@ impl<'a> CanvasRenderingContext2DMethods for JSRef<'a, CanvasRenderingContext2D> self.line_width.set(width); self.renderer.send(CanvasMsg::SetLineWidth(width as f32)).unwrap() } + + fn MiterLimit(self) -> f64 { + self.miter_limit.get() + } + + fn SetMiterLimit(self, limit: f64) { + if !limit.is_finite() || limit <= 0.0 { + return; + } + + self.miter_limit.set(limit); + self.renderer.send(CanvasMsg::SetMiterLimit(limit as f32)).unwrap() + } } #[unsafe_destructor] diff --git a/components/script/dom/webidls/CanvasRenderingContext2D.webidl b/components/script/dom/webidls/CanvasRenderingContext2D.webidl index 6808e3c7d24..4c4b94374f2 100644 --- a/components/script/dom/webidls/CanvasRenderingContext2D.webidl +++ b/components/script/dom/webidls/CanvasRenderingContext2D.webidl @@ -136,7 +136,7 @@ interface CanvasDrawingStyles { attribute unrestricted double lineWidth; // (default 1) //attribute DOMString lineCap; // "butt", "round", "square" (default "butt") //attribute DOMString lineJoin; // "round", "bevel", "miter" (default "miter") - //attribute unrestricted double miterLimit; // (default 10) + attribute unrestricted double miterLimit; // (default 10) // dashed lines //void setLineDash(sequence<unrestricted double> segments); // default empty |