hdr-canvas 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,57 @@
1
+ import { ColorTypes } from 'colorjs.io';
2
+
3
+ // See https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts
4
+ /// <reference lib="dom" />
5
+
6
+ type HDRHTMLCanvasOptionsType = "mode";
7
+ type HDRHTMLCanvasOptions = { [key in HDRHTMLCanvasOptionsType]?: string };
8
+
9
+ interface HDRHTMLCanvasElement extends HTMLCanvasElement {
10
+ configureHighDynamicRange(options: HDRHTMLCanvasOptions): void;
11
+ _getContext(contextId: string, options?: object): RenderingContext | null;
12
+ }
13
+
14
+ interface HDRImageData {
15
+ readonly colorSpace: PredefinedColorSpace;
16
+ readonly data: Uint8ClampedArray | Uint16Array;
17
+ readonly height: number;
18
+ readonly width: number;
19
+ }
20
+
21
+ // See https://github.com/w3c/ColorWeb-CG/blob/main/hdr_html_canvas_element.md
22
+ // "rec2100-display-linear" is left out beacause of mapping issues
23
+ type HDRPredefinedColorSpace = "display-p3" | "srgb" | "rec2100-hlg" | "rec2100-pq";
24
+
25
+ type Uint16ImagePixelCallback = (red: number, green: number, blue: number, alpha: number) => Uint16Array;
26
+ declare class Uint16Image {
27
+ height: number;
28
+ width: number;
29
+ data: Uint16Array;
30
+ static DEFAULT_COLORSPACE: HDRPredefinedColorSpace;
31
+ static SDR_MULTIPLIER: number;
32
+ static COLORSPACES: Record<HDRPredefinedColorSpace, ColorTypes>;
33
+ colorSpace: HDRPredefinedColorSpace;
34
+ constructor(width: number, height: number, colorspace?: string);
35
+ fill(color: number[]): Uint16Image | undefined;
36
+ getPixel(w: number, h: number): Uint16Array;
37
+ setPixel(w: number, h: number, px: number[]): void;
38
+ static scaleUint8ToUint16(val: number): number;
39
+ getImageData(): ImageData | null;
40
+ static convertPixelToRec2100_hlg(pixel: Uint8ClampedArray): Uint16Array;
41
+ static convertArrayToRec2100_hlg(data: Uint8ClampedArray): Uint16Array;
42
+ pixelCallback(fn: Uint16ImagePixelCallback): void;
43
+ static loadSDRImageData(url: URL): Promise<HDRImageData | undefined>;
44
+ static fromImageData(imageData: HDRImageData): Uint16Image;
45
+ static fromURL(url: URL): Promise<Uint16Image | undefined>;
46
+ setImageData(imageData: HDRImageData): void;
47
+ clone(): Uint16Image;
48
+ }
49
+
50
+ declare function checkHDR(): boolean;
51
+ declare function checkHDRCanvas(): boolean;
52
+
53
+ declare function initHDRCanvas(canvas: HDRHTMLCanvasElement): RenderingContext | null;
54
+ declare function defaultGetContextHDR(): void;
55
+ declare function resetGetContext(): void;
56
+
57
+ export { Uint16Image, checkHDR, checkHDRCanvas, defaultGetContextHDR, initHDRCanvas, resetGetContext };
@@ -5939,9 +5939,9 @@ function checkHDRCanvas() {
5939
5939
  }
5940
5940
  }
5941
5941
 
5942
- const hdr_options = { colorSpace: Uint16Image.DEFAULT_COLORSPACE, pixelFormat: 'float16' };
5942
+ const hdr_options = { colorSpace: Uint16Image.DEFAULT_COLORSPACE, pixelFormat: "float16" };
5943
5943
  function initHDRCanvas(canvas) {
5944
- canvas.configureHighDynamicRange({ mode: 'extended' });
5944
+ canvas.configureHighDynamicRange({ mode: "extended" });
5945
5945
  const ctx = canvas.getContext("2d", hdr_options);
5946
5946
  return ctx;
5947
5947
  }