Index: sdk/lib/web_gl/dart2js/web_gl_dart2js.dart |
diff --git a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart |
index 747c6860094fc8d3e9a7be6e1ed8f7964fe7ab10..41a5358251e75578b7ce3c889891fc35529394c4 100644 |
--- a/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart |
+++ b/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart |
@@ -2209,7 +2209,14 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
@DomName('WebGLRenderingContext.bufferData') |
@DocsEditable() |
- void bufferData(int target, int size, int usage) native; |
+ /** |
+ * Buffers the specified data. |
+ * |
+ * This specific method is provided for WebGL API compatibility reasons, but |
+ * it is highly recommended that you use [bufferDataTyped] or [bufferByteData] |
+ * depending on your purposes. |
+ */ |
+ void bufferData(int target, data_OR_size, int usage) native; |
@JSName('bufferData') |
@DomName('WebGLRenderingContext.bufferData') |
@@ -2221,6 +2228,17 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
@DocsEditable() |
void bufferSubByteData(int target, int offset, ByteBuffer data) native; |
+ @DomName('WebGLRenderingContext.bufferSubData') |
+ /** |
+ * Buffers the specified subset of data. |
+ * |
+ * This specific method is provided for WebGL API compatibility reasons, but |
+ * it is highly recommended that you use [bufferSubDataTyped] or [bufferSubByteData] |
+ * depending on your purposes. |
+ */ |
+ @DocsEditable() |
+ void bufferSubData(int target, int offset, data) native; |
+ |
@JSName('bufferSubData') |
@DomName('WebGLRenderingContext.bufferSubData') |
@DocsEditable() |
@@ -2592,6 +2610,61 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
@DocsEditable() |
void stencilOpSeparate(int face, int fail, int zfail, int zpass) native; |
+ /** |
+ * Updates the currently bound texture to [data]. |
+ * |
+ * This specific method is provided for WebGL API compatibility reasons, but it |
+ * is highly recommended that you use [texImage2DUntyped] or [texImage2DTyped] |
+ * (or for more specificity, the more specialized [texImage2DImageData], |
+ * [texImage2DCanvas], [texImage2DVideo]). |
+ */ |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void texImage2D(int target, int level, int internalformat, int format_OR_width, int height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, [int format, int type, TypedData pixels]) { |
+ if (pixels != null && type != null && format != null && (border_OR_canvas_OR_image_OR_pixels_OR_video is int || border_OR_canvas_OR_image_OR_pixels_OR_video == null)) { |
+ _texImage2D_1(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels); |
+ return; |
+ } |
+ if ((border_OR_canvas_OR_image_OR_pixels_OR_video is ImageData || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) { |
+ var pixels_1 = convertDartToNative_ImageData(border_OR_canvas_OR_image_OR_pixels_OR_video); |
+ _texImage2D_2(target, level, internalformat, format_OR_width, height_OR_type, pixels_1); |
+ return; |
+ } |
+ if ((border_OR_canvas_OR_image_OR_pixels_OR_video is ImageElement || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) { |
+ _texImage2D_3(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ if ((border_OR_canvas_OR_image_OR_pixels_OR_video is CanvasElement || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) { |
+ _texImage2D_4(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ if ((border_OR_canvas_OR_image_OR_pixels_OR_video is VideoElement || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && format == null && type == null && pixels == null) { |
+ _texImage2D_5(target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ throw new ArgumentError("Incorrect number or type of arguments"); |
+ } |
+ @JSName('texImage2D') |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void _texImage2D_1(target, level, internalformat, width, height, int border, format, type, TypedData pixels) native; |
+ @JSName('texImage2D') |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void _texImage2D_2(target, level, internalformat, format, type, pixels) native; |
+ @JSName('texImage2D') |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void _texImage2D_3(target, level, internalformat, format, type, ImageElement image) native; |
+ @JSName('texImage2D') |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void _texImage2D_4(target, level, internalformat, format, type, CanvasElement canvas) native; |
+ @JSName('texImage2D') |
+ @DomName('WebGLRenderingContext.texImage2D') |
+ @DocsEditable() |
+ void _texImage2D_5(target, level, internalformat, format, type, VideoElement video) native; |
+ |
@JSName('texImage2D') |
@DomName('WebGLRenderingContext.texImage2D') |
@DocsEditable() |
@@ -2627,6 +2700,61 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
@DocsEditable() |
void texParameteri(int target, int pname, int param) native; |
+ /** |
+ * Updates a sub-rectangle of the currently bound texture to [data]. |
+ * |
+ * This specific method is provided for WebGL API compatibility reasons, but it |
+ * is highly recommended that you use [texSubImage2DUntyped] or [texSubImage2DTyped] |
+ * (or for more specificity, the more specialized [texSubImage2DImageData], |
+ * [texSubImage2DCanvas], [texSubImage2DVideo]). |
+ */ |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void texSubImage2D(int target, int level, int xoffset, int yoffset, int format_OR_width, int height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, [int type, TypedData pixels]) { |
+ if (pixels != null && type != null && (canvas_OR_format_OR_image_OR_pixels_OR_video is int || canvas_OR_format_OR_image_OR_pixels_OR_video == null)) { |
+ _texSubImage2D_1(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels); |
+ return; |
+ } |
+ if ((canvas_OR_format_OR_image_OR_pixels_OR_video is ImageData || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) { |
+ var pixels_1 = convertDartToNative_ImageData(canvas_OR_format_OR_image_OR_pixels_OR_video); |
+ _texSubImage2D_2(target, level, xoffset, yoffset, format_OR_width, height_OR_type, pixels_1); |
+ return; |
+ } |
+ if ((canvas_OR_format_OR_image_OR_pixels_OR_video is ImageElement || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) { |
+ _texSubImage2D_3(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ if ((canvas_OR_format_OR_image_OR_pixels_OR_video is CanvasElement || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) { |
+ _texSubImage2D_4(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ if ((canvas_OR_format_OR_image_OR_pixels_OR_video is VideoElement || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && type == null && pixels == null) { |
+ _texSubImage2D_5(target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video); |
+ return; |
+ } |
+ throw new ArgumentError("Incorrect number or type of arguments"); |
+ } |
+ @JSName('texSubImage2D') |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void _texSubImage2D_1(target, level, xoffset, yoffset, width, height, int format, type, TypedData pixels) native; |
+ @JSName('texSubImage2D') |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void _texSubImage2D_2(target, level, xoffset, yoffset, format, type, pixels) native; |
+ @JSName('texSubImage2D') |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void _texSubImage2D_3(target, level, xoffset, yoffset, format, type, ImageElement image) native; |
+ @JSName('texSubImage2D') |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void _texSubImage2D_4(target, level, xoffset, yoffset, format, type, CanvasElement canvas) native; |
+ @JSName('texSubImage2D') |
+ @DomName('WebGLRenderingContext.texSubImage2D') |
+ @DocsEditable() |
+ void _texSubImage2D_5(target, level, xoffset, yoffset, format, type, VideoElement video) native; |
+ |
@JSName('texSubImage2D') |
@DomName('WebGLRenderingContext.texSubImage2D') |
@DocsEditable() |
@@ -2788,10 +2916,9 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
* To use [texImage2d] with a TypedData object, use [texImage2dTyped]. |
* |
*/ |
- @DomName('WebGLRenderingContext.texImage2D') |
@JSName('texImage2D') |
- void texImage2D(int targetTexture, int levelOfDetail, int internalFormat, |
- int format, int type, data) native; |
+ void texImage2DUntyped(int targetTexture, int levelOfDetail, |
+ int internalFormat, int format, int type, data) native; |
/** |
* Sets the currently bound texture to [data]. |
@@ -2810,10 +2937,9 @@ class RenderingContext extends CanvasRenderingContext native "WebGLRenderingCont |
* To use [texSubImage2d] with a TypedData object, use [texSubImage2dTyped]. |
* |
*/ |
- @DomName('WebGLRenderingContext.texSubImage2D') |
@JSName('texSubImage2D') |
- void texSubImage2D(int targetTexture, int levelOfDetail, int internalFormat, |
- int format, int type, data) native; |
+ void texSubImage2DUntyped(int targetTexture, int levelOfDetail, |
+ int internalFormat, int format, int type, data) native; |
/** |
* Updates a sub-rectangle of the currently bound texture to [data]. |