mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-12 12:01:52 +00:00
This implements the basic interface, classes and functions for OffscreenCanvas. Many are still stubbed out and have many FIXMEs in them, but it is a basic skeleton.
32 lines
1.3 KiB
Text
32 lines
1.3 KiB
Text
#import <DOM/EventTarget.idl>
|
|
#import <HTML/OffscreenCanvasRenderingContext2D.idl>
|
|
#import <HTML/Canvas/OffscreenCanvasBase.idl>
|
|
|
|
|
|
// FIXME: This should be in OffscreenCanvasBase.idl but then it is not exported
|
|
// https://html.spec.whatwg.org/multipage/canvas.html#imageencodeoptions
|
|
dictionary ImageEncodeOptions {
|
|
DOMString type = "image/png";
|
|
unrestricted double quality;
|
|
};
|
|
|
|
// FIXME: This should be in OffscreenCanvasBase.idl but then it is not exported
|
|
// https://html.spec.whatwg.org/multipage/canvas.html#offscreenrenderingcontextid
|
|
enum OffscreenRenderingContextId { "2d", "bitmaprenderer", "webgl", "webgl2", "webgpu" };
|
|
|
|
|
|
// https://html.spec.whatwg.org/multipage/canvas.html#offscreencanvas
|
|
[Exposed=(Window,Worker), Transferable]
|
|
interface OffscreenCanvas : EventTarget {
|
|
constructor([EnforceRange] unsigned long long width, [EnforceRange] unsigned long long height);
|
|
|
|
attribute unsigned long long width;
|
|
attribute unsigned long long height;
|
|
|
|
OffscreenRenderingContext? getContext(OffscreenRenderingContextId contextId, optional any options = null);
|
|
ImageBitmap transferToImageBitmap();
|
|
Promise<Blob> convertToBlob(optional ImageEncodeOptions options = {});
|
|
|
|
attribute EventHandler oncontextlost;
|
|
attribute EventHandler oncontextrestored;
|
|
};
|