Index: modules/canvas2d/CanvasRenderingContext2D.idl |
diff --git a/modules/canvas2d/CanvasRenderingContext2D.idl b/modules/canvas2d/CanvasRenderingContext2D.idl |
index d366967ec839ec5ee7a26eb74e33e0b118834ae6..a2a897c6b8c639aa29cfba14f54948bf8da023b1 100644 |
--- a/modules/canvas2d/CanvasRenderingContext2D.idl |
+++ b/modules/canvas2d/CanvasRenderingContext2D.idl |
@@ -25,7 +25,6 @@ |
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasrenderingcontext2d |
-// FIXME: float => double throughout |
typedef (HTMLImageElement or |
HTMLVideoElement or |
HTMLCanvasElement or |
@@ -33,10 +32,10 @@ typedef (HTMLImageElement or |
ImageBitmap) CanvasImageSource; |
enum CanvasFillRule { "nonzero", "evenodd" }; |
+enum ImageSmoothingQuality {"low", "medium", "high"}; |
[ |
SetWrapperReferenceFrom=canvas, |
- TypeChecking=Interface, |
WillBeGarbageCollected, |
] interface CanvasRenderingContext2D { |
// back-reference to the canvas |
@@ -48,39 +47,40 @@ enum CanvasFillRule { "nonzero", "evenodd" }; |
// transformations (default transform is the identity matrix) |
[RuntimeEnabled=ExperimentalCanvasFeatures] attribute SVGMatrix currentTransform; |
- void scale(unrestricted float x, unrestricted float y); |
- void rotate(unrestricted float angle); |
- void translate(unrestricted float x, unrestricted float y); |
- void transform(unrestricted float a, unrestricted float b, unrestricted float c, unrestricted float d, unrestricted float e, unrestricted float f); |
- void setTransform(unrestricted float a, unrestricted float b, unrestricted float c, unrestricted float d, unrestricted float e, unrestricted float f); |
+ void scale(unrestricted double x, unrestricted double y); |
+ void rotate(unrestricted double angle); |
+ void translate(unrestricted double x, unrestricted double y); |
+ void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); |
+ void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); |
void resetTransform(); |
// compositing |
- attribute unrestricted float globalAlpha; // (default 1.0) |
- [TreatNullAs=NullString] attribute DOMString globalCompositeOperation; // (default source-over) |
- [RuntimeEnabled=ExperimentalCanvasFeatures] attribute DOMString filter; // (default 'none') |
+ attribute unrestricted double globalAlpha; // (default 1.0) |
+ attribute DOMString globalCompositeOperation; // (default source-over) |
+ [RuntimeEnabled=ExperimentalCanvasFeatures] attribute DOMString filter; // (default 'none') |
// image smoothing |
[ImplementedAs=imageSmoothingEnabled, DeprecateAs=PrefixedImageSmoothingEnabled] attribute boolean webkitImageSmoothingEnabled; |
- [MeasureAs=UnprefixedImageSmoothingEnabled] attribute boolean imageSmoothingEnabled; |
+ [MeasureAs=UnprefixedImageSmoothingEnabled] attribute boolean imageSmoothingEnabled; // (default True) |
+ [RuntimeEnabled=ExperimentalCanvasFeatures] attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low") |
// colors 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) |
- CanvasGradient createLinearGradient(float x0, float y0, float x1, float y1); |
- [RaisesException] CanvasGradient createRadialGradient(float x0, float y0, float r0, float x1, float y1, float r1); |
- [RaisesException] CanvasPattern createPattern(CanvasImageSource image, DOMString? repetitionType); |
+ CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1); |
+ [RaisesException] CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); |
+ [RaisesException] CanvasPattern? createPattern(CanvasImageSource image, [TreatNullAs=NullString] DOMString repetitionType); |
// shadows |
- attribute unrestricted float shadowOffsetX; |
- attribute unrestricted float shadowOffsetY; |
- attribute unrestricted float shadowBlur; |
- [TreatNullAs=NullString] attribute DOMString shadowColor; |
+ attribute unrestricted double shadowOffsetX; |
+ attribute unrestricted double shadowOffsetY; |
+ attribute unrestricted double shadowBlur; |
+ attribute DOMString shadowColor; |
// rects |
- void clearRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height); |
- void fillRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height); |
- void strokeRect(unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height); |
+ void clearRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); |
+ void fillRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); |
+ void strokeRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); |
// path API (see also CanvasPathMethods) |
void beginPath(); |
@@ -95,20 +95,20 @@ enum CanvasFillRule { "nonzero", "evenodd" }; |
[RuntimeEnabled=ExperimentalCanvasFeatures] void scrollPathIntoView(optional Path2D path); |
void clip(optional CanvasFillRule winding); |
void clip(Path2D path, optional CanvasFillRule winding); |
- boolean isPointInPath(unrestricted float x, unrestricted float y, optional CanvasFillRule winding); |
- boolean isPointInPath(Path2D path, unrestricted float x, unrestricted float y, optional CanvasFillRule winding); |
- boolean isPointInStroke(unrestricted float x, unrestricted float y); |
- boolean isPointInStroke(Path2D path, unrestricted float x, unrestricted float y); |
+ boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule winding); |
+ boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule winding); |
+ boolean isPointInStroke(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 float x, unrestricted float y, optional unrestricted float maxWidth); |
- void strokeText(DOMString text, unrestricted float x, unrestricted float y, optional unrestricted float maxWidth); |
+ void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); |
+ void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); |
TextMetrics measureText(DOMString text); |
// drawing images |
- [RaisesException] void drawImage(CanvasImageSource image, unrestricted float x, unrestricted float y); |
- [RaisesException] void drawImage(CanvasImageSource image, unrestricted float x, unrestricted float y, unrestricted float width, unrestricted float height); |
- [RaisesException] void drawImage(CanvasImageSource image, unrestricted float sx, unrestricted float sy, unrestricted float sw, unrestricted float sh, unrestricted float dx, unrestricted float dy, unrestricted float dw, unrestricted float dh); |
+ [RaisesException] void drawImage(CanvasImageSource image, unrestricted double x, unrestricted double y); |
+ [RaisesException] void drawImage(CanvasImageSource image, unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); |
+ [RaisesException] void drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); |
// hit regions |
[RuntimeEnabled=ExperimentalCanvasFeatures, RaisesException] void addHitRegion(optional HitRegionOptions options); |
@@ -117,10 +117,10 @@ enum CanvasFillRule { "nonzero", "evenodd" }; |
// pixel manipulation |
ImageData createImageData(ImageData imagedata); |
- [RaisesException] ImageData createImageData(float sw, float sh); |
- [RaisesException] ImageData getImageData(float sx, float sy, float sw, float sh); |
- void putImageData(ImageData imagedata, float dx, float dy); |
- void putImageData(ImageData imagedata, float dx, float dy, float dirtyX, float dirtyY, float dirtyWidth, float dirtyHeight); |
+ [RaisesException] ImageData createImageData(double sw, double sh); |
+ [RaisesException] ImageData getImageData(double sx, double sy, double sw, double sh); |
+ [RaisesException] void putImageData(ImageData imagedata, double dx, double dy); |
+ [RaisesException] void putImageData(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); |
// Context state |
// Should be merged with WebGL counterpart in CanvasRenderingContext, once no-longer experimental |
@@ -130,15 +130,15 @@ enum CanvasFillRule { "nonzero", "evenodd" }; |
// FIXME: factor out to CanvasDrawingStyles |
// line caps/joins |
- attribute unrestricted float lineWidth; // (default 1) |
- [TreatNullAs=NullString] attribute DOMString lineCap; // "butt", "round", "square" (default "butt") |
- [TreatNullAs=NullString] attribute DOMString lineJoin; // "round", "bevel", "miter" (default "miter") |
- attribute unrestricted float miterLimit; // (default 10) |
+ 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) |
// dashed lines |
- void setLineDash(sequence<unrestricted float> dash); |
- sequence<unrestricted float> getLineDash(); |
- attribute unrestricted float lineDashOffset; |
+ void setLineDash(sequence<unrestricted double> dash); |
+ sequence<unrestricted double> getLineDash(); |
+ attribute unrestricted double lineDashOffset; |
// text |
attribute DOMString font; // (default 10px sans-serif) |