summaryrefslogtreecommitdiff
path: root/ext/web/lib.deno_web.d.ts
diff options
context:
space:
mode:
authorJamie <5964236+jamsinclair@users.noreply.github.com>2023-12-06 22:20:28 +0900
committerGitHub <noreply@github.com>2023-12-06 14:20:28 +0100
commit8c0fb9003d874fcbee0b1a6f6ee30dfb58c668bc (patch)
tree643966c1543346f803e373329d6c8bb28e199621 /ext/web/lib.deno_web.d.ts
parentdadd8b3d660fd2fd56803f29e1d8b6dd7a2adde9 (diff)
feat(ext/web): add ImageData Web API (#21183)
Fixes #19288 Adds the `ImageData` Web API. This would be beneficial to projects using `ImageData` as a convenient transport layer for pixel data. This is common in Web Assembly projects that manipulate images. Having this global available in Deno would improve compatibility of existing JS libraries. **References** - [MDN ImageData Web API](https://developer.mozilla.org/en-US/docs/Web/API/ImageData) - [whatwg HTML Standard Canvas Spec](https://html.spec.whatwg.org/multipage/canvas.html#pixel-manipulation)
Diffstat (limited to 'ext/web/lib.deno_web.d.ts')
-rw-r--r--ext/web/lib.deno_web.d.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/ext/web/lib.deno_web.d.ts b/ext/web/lib.deno_web.d.ts
index 9b9a55c23..9a70e1501 100644
--- a/ext/web/lib.deno_web.d.ts
+++ b/ext/web/lib.deno_web.d.ts
@@ -1237,3 +1237,31 @@ declare var DecompressionStream: {
declare function reportError(
error: any,
): void;
+
+/** @category Web APIs */
+type PredefinedColorSpace = "srgb" | "display-p3";
+
+/** @category Web APIs */
+interface ImageDataSettings {
+ readonly colorSpace?: PredefinedColorSpace;
+}
+
+/** @category Web APIs */
+interface ImageData {
+ readonly colorSpace: PredefinedColorSpace;
+ readonly data: Uint8ClampedArray;
+ readonly height: number;
+ readonly width: number;
+}
+
+/** @category Web APIs */
+declare var ImageData: {
+ prototype: ImageData;
+ new (sw: number, sh: number, settings?: ImageDataSettings): ImageData;
+ new (
+ data: Uint8ClampedArray,
+ sw: number,
+ sh?: number,
+ settings?: ImageDataSettings,
+ ): ImageData;
+};