diff options
author | Jamie <5964236+jamsinclair@users.noreply.github.com> | 2023-12-06 22:20:28 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-06 14:20:28 +0100 |
commit | 8c0fb9003d874fcbee0b1a6f6ee30dfb58c668bc (patch) | |
tree | 643966c1543346f803e373329d6c8bb28e199621 /ext/web/lib.deno_web.d.ts | |
parent | dadd8b3d660fd2fd56803f29e1d8b6dd7a2adde9 (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.ts | 28 |
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; +}; |