diff options
-rw-r--r-- | components/script/dom/canvasrenderingcontext2d.rs | 10 | ||||
-rw-r--r-- | components/script/dom/webidls/CanvasRenderingContext2D.webidl | 42 |
2 files changed, 27 insertions, 25 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index c80808c82ca..c0ca96beef6 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -11,8 +11,8 @@ use cssparser::{Parser, RGBA}; use dom::bindings::cell::DOMRefCell; use dom::bindings::codegen::Bindings::CSSStyleDeclarationBinding::CSSStyleDeclarationMethods; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding; +use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasFillRule; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods; -use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasWindingRule; use dom::bindings::codegen::Bindings::ImageDataBinding::ImageDataMethods; use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods; use dom::bindings::codegen::UnionTypes::HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D; @@ -669,8 +669,8 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { } // https://html.spec.whatwg.org/multipage/#dom-context-2d-fill - fn Fill(&self, _: CanvasWindingRule) { - // TODO: Process winding rule + fn Fill(&self, _: CanvasFillRule) { + // TODO: Process fill rule self.ipc_renderer.send(CanvasMsg::Canvas2d(Canvas2dMsg::Fill)).unwrap(); self.mark_as_dirty(); } @@ -682,8 +682,8 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { } // https://html.spec.whatwg.org/multipage/#dom-context-2d-clip - fn Clip(&self, _: CanvasWindingRule) { - // TODO: Process winding rule + fn Clip(&self, _: CanvasFillRule) { + // TODO: Process fill rule self.ipc_renderer.send(CanvasMsg::Canvas2d(Canvas2dMsg::Clip)).unwrap(); } diff --git a/components/script/dom/webidls/CanvasRenderingContext2D.webidl b/components/script/dom/webidls/CanvasRenderingContext2D.webidl index f2b9f051198..1fa82ba0e1a 100644 --- a/components/script/dom/webidls/CanvasRenderingContext2D.webidl +++ b/components/script/dom/webidls/CanvasRenderingContext2D.webidl @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -enum CanvasWindingRule { "nonzero", "evenodd" }; +enum CanvasFillRule { "nonzero", "evenodd" }; // https://html.spec.whatwg.org/multipage/#2dcontext typedef (HTMLImageElement or @@ -30,7 +30,6 @@ interface CanvasRenderingContext2D { void restore(); // pop state stack and restore state // transformations (default transform is the identity matrix) - // attribute SVGMatrix currentTransform; void scale(unrestricted double x, unrestricted double y); void rotate(unrestricted double angle); void translate(unrestricted double x, unrestricted double y); @@ -40,12 +39,15 @@ interface CanvasRenderingContext2D { unrestricted double d, unrestricted double e, unrestricted double f); + + // [NewObject] DOMMatrix getTransform(); void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + // void setTransform(optional DOMMatrixInit matrix); void resetTransform(); // compositing @@ -53,11 +55,12 @@ interface CanvasRenderingContext2D { attribute DOMString globalCompositeOperation; // (default source-over) // image smoothing - attribute boolean imageSmoothingEnabled; // (default true) + attribute boolean imageSmoothingEnabled; // (default true) + // attribute ImageSmoothingQuality imageSmoothingQuality; // (default low) // colours and styles (see also the CanvasDrawingStyles interface) - attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) - attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) + attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) + attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1); [Throws] CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); @@ -80,25 +83,24 @@ interface CanvasRenderingContext2D { // path API (see also CanvasPathMethods) void beginPath(); - void fill(optional CanvasWindingRule fillRule = "nonzero"); - //void fill(Path2D path, optional CanvasWindingRule fillRule = "nonzero"); + void fill(optional CanvasFillRule fillRule = "nonzero"); + //void fill(Path2D path, optional CanvasFillRule fillRule = "nonzero"); void stroke(); //void stroke(Path2D path); - //void drawSystemFocusRing(Element element); - //void drawSystemFocusRing(Path2D path, Element element); - //boolean drawCustomFocusRing(Element element); - //boolean drawCustomFocusRing(Path2D path, Element element); + //void drawFocusIfNeeded(Element element); + //void drawFocusIfNeeded(Path2D path, Element element); //void scrollPathIntoView(); //void scrollPathIntoView(Path2D path); - void clip(optional CanvasWindingRule fillRule = "nonzero"); - //void clip(Path2D path, optional CanvasWindingRule fillRule = "nonzero"); + void clip(optional CanvasFillRule fillRule = "nonzero"); + //void clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); //void resetClip(); //boolean isPointInPath(unrestricted double x, unrestricted double y, - // optional CanvasWindingRule fillRule = "nonzero"); - //boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, - // optional CanvasWindingRule fillRule = "nonzero"); + // optional CanvasFillRule fillRule = "nonzero"); + //boolean isPointInPath(Path2D path, unrestricted double x, unrestricted + // double y, optional CanvasFillRule fillRule = "nonzero"); //boolean isPointInStroke(unrestricted double x, unrestricted double y); - //boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); + // boolean isPointInStroke(Path2D path, unrestricted double x, + // unrestricted double y); // text (see also the CanvasDrawingStyles interface) //void fillText(DOMString text, unrestricted double x, unrestricted double y, @@ -122,6 +124,7 @@ interface CanvasRenderingContext2D { // hit regions //void addHitRegion(optional HitRegionOptions options); //void removeHitRegion(DOMString id); + //void clearHitRegions(); // pixel manipulation [Throws] @@ -136,6 +139,8 @@ interface CanvasRenderingContext2D { double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); }; +CanvasRenderingContext2D implements CanvasDrawingStyles; +CanvasRenderingContext2D implements CanvasPathMethods; [NoInterfaceObject] interface CanvasDrawingStyles { @@ -191,6 +196,3 @@ interface CanvasPathMethods { // boolean anticlockwise); }; - -CanvasRenderingContext2D implements CanvasDrawingStyles; -CanvasRenderingContext2D implements CanvasPathMethods; |