summaryrefslogtreecommitdiff
path: root/ext/canvas/lib.deno_canvas.d.ts
blob: 7498429c6ee3918794454bb7fe0ffb6a8d4e8fb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// 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 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;
};