mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-31 05:09:12 +00:00
LibWeb: Implement basics for OffscreenCanvas
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.
This commit is contained in:
parent
193ab3757b
commit
2ad3ce5d37
Notes:
github-actions[bot]
2025-06-30 15:47:43 +00:00
Author: https://github.com/Totto16
Commit: 2ad3ce5d37
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3788
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/tcl3
14 changed files with 1094 additions and 4 deletions
32
Libraries/LibWeb/HTML/OffscreenCanvas.idl
Normal file
32
Libraries/LibWeb/HTML/OffscreenCanvas.idl
Normal file
|
@ -0,0 +1,32 @@
|
|||
#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;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue