diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2024-01-22 12:08:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 12:08:01 +0100 |
commit | 8f767627938ef10802864419061e58a8a75db567 (patch) | |
tree | 81f61ba0f8c14fb820a72500840eb0c619d54362 /ext/canvas/lib.deno_canvas.d.ts | |
parent | b4990d1aa233db662cf22d7f872d45b3a947e0f6 (diff) |
feat(web): ImageBitmap (#21898)
Diffstat (limited to 'ext/canvas/lib.deno_canvas.d.ts')
-rw-r--r-- | ext/canvas/lib.deno_canvas.d.ts | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/ext/canvas/lib.deno_canvas.d.ts b/ext/canvas/lib.deno_canvas.d.ts new file mode 100644 index 000000000..28d57d583 --- /dev/null +++ b/ext/canvas/lib.deno_canvas.d.ts @@ -0,0 +1,87 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +// deno-lint-ignore-file no-var + +/// <reference no-default-lib="true" /> +/// <reference lib="esnext" /> + +/** @category Web APIs */ +declare type PredefinedColorSpace = "srgb" | "display-p3"; + +/** @category Web APIs */ +declare interface ImageDataSettings { + readonly colorSpace?: PredefinedColorSpace; +} + +/** @category Web APIs */ +declare 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; +}; + +/** @category Web APIs */ +declare type ColorSpaceConversion = "default" | "none"; + +/** @category Web APIs */ +declare type ImageOrientation = "flipY" | "from-image" | "none"; + +/** @category Web APIs */ +declare type PremultiplyAlpha = "default" | "none" | "premultiply"; + +/** @category Web APIs */ +declare type ResizeQuality = "high" | "low" | "medium" | "pixelated"; + +/** @category Web APIs */ +declare type ImageBitmapSource = Blob | ImageData; + +/** @category Web APIs */ +interface ImageBitmapOptions { + colorSpaceConversion?: ColorSpaceConversion; + imageOrientation?: ImageOrientation; + premultiplyAlpha?: PremultiplyAlpha; + resizeHeight?: number; + resizeQuality?: ResizeQuality; + resizeWidth?: number; +} + +/** @category Web APIs */ +declare function createImageBitmap( + image: ImageBitmapSource, + options?: ImageBitmapOptions, +): Promise<ImageBitmap>; +/** @category Web APIs */ +declare function createImageBitmap( + image: ImageBitmapSource, + sx: number, + sy: number, + sw: number, + sh: number, + options?: ImageBitmapOptions, +): Promise<ImageBitmap>; + +/** @category Web APIs */ +interface ImageBitmap { + readonly height: number; + readonly width: number; + close(): void; +} + +/** @category Web APIs */ +declare var ImageBitmap: { + prototype: ImageBitmap; + new (): ImageBitmap; +}; |