CSC517 OffScreenCanvas Servo: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
//Promise<Blob> convertToBlob(optional ImageEncodeOptions options); | //Promise<Blob> convertToBlob(optional ImageEncodeOptions options); | ||
}; | }; | ||
</pre> | |||
<pre> | |||
[Exposed=(Window,Worker)] | |||
[Pref="dom.offscreen_canvas.enabled"] | |||
interface OffscreenCanvasRenderingContext2D { | |||
void commit(); | |||
readonly attribute OffscreenCanvas canvas; | |||
}; | |||
OffscreenCanvasRenderingContext2D includes CanvasState; | |||
OffscreenCanvasRenderingContext2D includes CanvasTransform; | |||
OffscreenCanvasRenderingContext2D includes CanvasCompositing; | |||
OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing; | |||
OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles; | |||
OffscreenCanvasRenderingContext2D includes CanvasShadowStyles; | |||
OffscreenCanvasRenderingContext2D includes CanvasFilters; | |||
OffscreenCanvasRenderingContext2D includes CanvasRect; | |||
OffscreenCanvasRenderingContext2D includes CanvasDrawPath; | |||
OffscreenCanvasRenderingContext2D includes CanvasText; | |||
OffscreenCanvasRenderingContext2D includes CanvasDrawImage; | |||
OffscreenCanvasRenderingContext2D includes CanvasImageData; | |||
OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles; | |||
OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles; | |||
OffscreenCanvasRenderingContext2D includes CanvasPath; | |||
</pre> | </pre> |
Revision as of 02:56, 3 November 2018
About Off Screen Canvas: The HTML specification defines a <canvas> element that can use a 2d or 3d rendering context. A new specification was recently developed that defines a canvas that can be used without being associated with an in-page canvas element, allowing for more efficient rendering.
Problem Statement:
typedef (OffscreenCanvasRenderingContext2D or WebGLRenderingContext or WebGL2RenderingContext) OffscreenRenderingContext; dictionary ImageEncodeOptions { DOMString type = "image/png"; unrestricted double quality = 1.0; }; enum OffscreenRenderingContextId { "2d", "webgl", "webgl2" }; [Constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height), Exposed=(Window,Worker), Transferable] [Pref="dom.offscreen_canvas.enabled"] interface OffscreenCanvas : EventTarget { attribute [EnforceRange] unsigned long long width; attribute [EnforceRange] unsigned long long height; OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null); ImageBitmap transferToImageBitmap(); //Promise<Blob> convertToBlob(optional ImageEncodeOptions options); };
[Exposed=(Window,Worker)] [Pref="dom.offscreen_canvas.enabled"] interface OffscreenCanvasRenderingContext2D { void commit(); readonly attribute OffscreenCanvas canvas; }; OffscreenCanvasRenderingContext2D includes CanvasState; OffscreenCanvasRenderingContext2D includes CanvasTransform; OffscreenCanvasRenderingContext2D includes CanvasCompositing; OffscreenCanvasRenderingContext2D includes CanvasImageSmoothing; OffscreenCanvasRenderingContext2D includes CanvasFillStrokeStyles; OffscreenCanvasRenderingContext2D includes CanvasShadowStyles; OffscreenCanvasRenderingContext2D includes CanvasFilters; OffscreenCanvasRenderingContext2D includes CanvasRect; OffscreenCanvasRenderingContext2D includes CanvasDrawPath; OffscreenCanvasRenderingContext2D includes CanvasText; OffscreenCanvasRenderingContext2D includes CanvasDrawImage; OffscreenCanvasRenderingContext2D includes CanvasImageData; OffscreenCanvasRenderingContext2D includes CanvasPathDrawingStyles; OffscreenCanvasRenderingContext2D includes CanvasTextDrawingStyles; OffscreenCanvasRenderingContext2D includes CanvasPath;