goatdee-canvas 0.0.76 → 0.0.78

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.
Files changed (59) hide show
  1. package/dist/ZHCanvasCore.js +1 -1
  2. package/dist/ZHCanvasCore.wasm +0 -0
  3. package/dist/bind/binding.d.ts +2 -0
  4. package/dist/bind/constant.d.ts +1 -0
  5. package/dist/bind/core/bitmap-image.d.ts +5 -0
  6. package/dist/bind/core/matrix.d.ts +45 -0
  7. package/dist/bind/core/scaler-context.d.ts +29 -0
  8. package/dist/bind/core/web-mask.d.ts +26 -0
  9. package/dist/bind/tgfx-module.d.ts +4 -0
  10. package/dist/bind/tgfx.d.ts +15 -0
  11. package/dist/bind/types.d.ts +133 -0
  12. package/dist/bind/utils/canvas.d.ts +8 -0
  13. package/dist/bind/utils/decorators.d.ts +3 -0
  14. package/dist/bind/utils/font-family.d.ts +2 -0
  15. package/dist/bind/utils/measure-text.d.ts +10 -0
  16. package/dist/bind/utils/type-utils.d.ts +1 -0
  17. package/dist/bind/utils/ua.d.ts +7 -0
  18. package/dist/index.cjs +3 -26
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.js +4 -27
  21. package/dist/index.js.map +1 -1
  22. package/dist/src/CanvasOverlay.d.ts +8 -0
  23. package/dist/src/OverlayItem.d.ts +51 -0
  24. package/dist/src/canvas-overlay/index.d.ts +9 -0
  25. package/dist/src/canvas-overlay/utils.d.ts +50 -0
  26. package/dist/src/index.d.ts +3 -0
  27. package/dist/src/listener.d.ts +30 -0
  28. package/dist/src/manager.d.ts +108 -0
  29. package/dist/src/services/pasteService.d.ts +4 -0
  30. package/dist/src/static/cursor.icon.d.ts +6 -0
  31. package/dist/src/types.d.ts +72 -0
  32. package/dist/src/utils/clipboard/core.d.ts +31 -0
  33. package/dist/src/utils/clipboard/index.d.ts +3 -0
  34. package/dist/src/utils/clipboard/read.d.ts +17 -0
  35. package/dist/src/utils/clipboard/transform.d.ts +10 -0
  36. package/dist/src/utils/clipboard.d.ts +1 -0
  37. package/dist/src/utils/fabricConverter.d.ts +23 -0
  38. package/dist/src/utils/fontLoader.d.ts +50 -0
  39. package/dist/src/utils/html2json/converters.d.ts +47 -0
  40. package/dist/src/utils/html2json/element-helpers.d.ts +60 -0
  41. package/dist/src/utils/html2json/index.d.ts +16 -0
  42. package/dist/src/utils/html2json/parsers.d.ts +47 -0
  43. package/dist/src/utils/html2json/renderers.d.ts +95 -0
  44. package/dist/src/utils/html2json/types.d.ts +104 -0
  45. package/dist/src/utils/html2json/utils.d.ts +68 -0
  46. package/dist/src/utils/imageLoader.d.ts +10 -0
  47. package/dist/src/utils/imageLoader.example.d.ts +17 -0
  48. package/dist/src/utils/imageLoader.worker.d.ts +15 -0
  49. package/dist/src/utils/imageUpload.d.ts +1 -0
  50. package/dist/src/utils/index.d.ts +7 -0
  51. package/dist/src/utils/safariCompatibility.d.ts +71 -0
  52. package/dist/src/utils/safariDataCloneFix.d.ts +32 -0
  53. package/dist/src/utils/styles.d.ts +4 -0
  54. package/dist/src/utils/utils.d.ts +23 -0
  55. package/dist/src/utils/viewState.d.ts +9 -0
  56. package/dist/wasm/ZHCanvasCore.d.ts +2 -0
  57. package/dist/wasm-single/ZHCanvasCoreSingle.js +1 -1
  58. package/dist/wasm-single/ZHCanvasCoreSingle.wasm +0 -0
  59. package/package.json +1 -1
Binary file
@@ -0,0 +1,2 @@
1
+ import { TGFX } from './types';
2
+ export declare const TGFXBind: (module: TGFX) => void;
@@ -0,0 +1 @@
1
+ export declare const CANVAS_POOL_MAX_SIZE = 10;
@@ -0,0 +1,5 @@
1
+ export declare class BitmapImage {
2
+ bitmap: ImageBitmap | null;
3
+ constructor(bitmap: ImageBitmap | null);
4
+ setBitmap(bitmap: ImageBitmap): void;
5
+ }
@@ -0,0 +1,45 @@
1
+ import { MatrixIndex } from '../types';
2
+ export declare class Matrix {
3
+ wasmIns: any;
4
+ isDestroyed: boolean;
5
+ constructor(wasmIns: any);
6
+ /**
7
+ * scaleX; horizontal scale factor to store
8
+ */
9
+ get a(): number;
10
+ set a(value: number);
11
+ /**
12
+ * skewY; vertical skew factor to store
13
+ */
14
+ get b(): number;
15
+ set b(value: number);
16
+ /**
17
+ * skewX; horizontal skew factor to store
18
+ */
19
+ get c(): number;
20
+ set c(value: number);
21
+ /**
22
+ * scaleY; vertical scale factor to store
23
+ */
24
+ get d(): number;
25
+ set d(value: number);
26
+ /**
27
+ * transX; horizontal translation to store
28
+ */
29
+ get tx(): number;
30
+ set tx(value: number);
31
+ /**
32
+ * transY; vertical translation to store
33
+ */
34
+ get ty(): number;
35
+ set ty(value: number);
36
+ /**
37
+ * Returns one matrix value.
38
+ */
39
+ get(index: MatrixIndex): number;
40
+ /**
41
+ * Sets Matrix value.
42
+ */
43
+ set(index: MatrixIndex, value: number): void;
44
+ destroy(): void;
45
+ }
@@ -0,0 +1,29 @@
1
+ import type { Rect } from '../types';
2
+ export declare class ScalerContext {
3
+ static canvas: HTMLCanvasElement | OffscreenCanvas;
4
+ static context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
5
+ private static hasMeasureBoundsAPI;
6
+ static setCanvas(canvas: HTMLCanvasElement | OffscreenCanvas): void;
7
+ static setContext(context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D): void;
8
+ static isUnicodePropertyEscapeSupported(): boolean;
9
+ static isEmoji(text: string): boolean;
10
+ private static measureDirectly;
11
+ private readonly fontName;
12
+ private readonly fontStyle;
13
+ private readonly size;
14
+ private fontMetrics;
15
+ private fontBoundingBoxMap;
16
+ constructor(fontName: string, fontStyle: string, size: number);
17
+ fontString(fauxBold: boolean, fauxItalic: boolean): string;
18
+ getFontMetrics(): {
19
+ ascent: number;
20
+ descent: number;
21
+ xHeight: number;
22
+ capHeight: number;
23
+ };
24
+ getBounds(text: string, fauxBold: boolean, fauxItalic: boolean): Rect;
25
+ getAdvance(text: string): number;
26
+ generateImage(text: string, bounds: Rect): HTMLCanvasElement | OffscreenCanvas;
27
+ protected loadCanvas(): void;
28
+ private measureText;
29
+ }
@@ -0,0 +1,26 @@
1
+ import { ctor, Point, Vector } from '../types';
2
+ export interface WebFont {
3
+ name: string;
4
+ style: string;
5
+ size: number;
6
+ bold: boolean;
7
+ italic: boolean;
8
+ }
9
+ export declare class WebMask {
10
+ static create(canvas: HTMLCanvasElement | OffscreenCanvas): WebMask;
11
+ private static getLineCap;
12
+ private static getLineJoin;
13
+ protected canvas: HTMLCanvasElement | OffscreenCanvas;
14
+ private context;
15
+ constructor(canvas: HTMLCanvasElement | OffscreenCanvas);
16
+ updateCanvas(canvas: HTMLCanvasElement | OffscreenCanvas): void;
17
+ fillPath(path: Path2D, fillType: ctor): void;
18
+ fillText(webFont: WebFont, texts: Vector<string>, positions: Vector<Point>, matrixWasmIns: any): void;
19
+ strokeText(webFont: WebFont, stroke: {
20
+ width: number;
21
+ cap: ctor;
22
+ join: ctor;
23
+ miterLimit: number;
24
+ }, texts: Vector<string>, positions: Vector<Point>, matrixWasmIns: any): void;
25
+ clear(): void;
26
+ }
@@ -0,0 +1,4 @@
1
+ import type { TGFX } from './types';
2
+ export declare let TGFXModule: TGFX;
3
+ export declare const setTGFXModule: (module: TGFX) => void;
4
+ export declare const getTGFXModule: () => TGFX;
@@ -0,0 +1,15 @@
1
+ import { getCanvas2D } from './utils/canvas';
2
+ import { BitmapImage } from './core/bitmap-image';
3
+ import type { EmscriptenGL, TGFX } from './types';
4
+ export declare const createImage: (source: string) => Promise<HTMLImageElement | null>;
5
+ export declare const createImageFromBytes: (bytes: ArrayBuffer) => Promise<HTMLImageElement | null>;
6
+ export declare const readImagePixels: (module: TGFX, image: CanvasImageSource, width: number, height: number) => Uint8Array<ArrayBuffer> | null;
7
+ export declare const hasWebpSupport: () => boolean;
8
+ export declare const getSourceSize: (source: TexImageSource | OffscreenCanvas) => {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ export declare const uploadToTexture: (GL: EmscriptenGL, source: TexImageSource | OffscreenCanvas | BitmapImage, textureID: number, alphaOnly: boolean) => void;
13
+ export declare const releaseNativeImage: (source: TexImageSource | OffscreenCanvas) => void;
14
+ export declare const getBytesFromPath: (module: TGFX, path: string) => Promise<Uint8Array<ArrayBuffer>>;
15
+ export { getCanvas2D as createCanvas2D };
@@ -0,0 +1,133 @@
1
+ export declare class Vector<T> {
2
+ private constructor();
3
+ /**
4
+ * Get item from Vector by index.
5
+ */
6
+ get(index: number): T;
7
+ /**
8
+ * Push item into Vector.
9
+ */
10
+ push_back(value: T): void;
11
+ /**
12
+ * Get item number in Vector.
13
+ */
14
+ size(): number;
15
+ /**
16
+ * Delete Vector instance.
17
+ */
18
+ delete(): void;
19
+ }
20
+ export declare const enum MatrixIndex {
21
+ a = 0,
22
+ c = 1,
23
+ tx = 2,
24
+ b = 3,
25
+ d = 4,
26
+ ty = 5
27
+ }
28
+ export interface ctor {
29
+ value: number;
30
+ }
31
+ export interface Point {
32
+ x: number;
33
+ y: number;
34
+ }
35
+ export interface Rect {
36
+ /**
37
+ * smaller x-axis bounds.
38
+ */
39
+ left: number;
40
+ /**
41
+ * smaller y-axis bounds.
42
+ */
43
+ top: number;
44
+ /**
45
+ * larger x-axis bounds.
46
+ */
47
+ right: number;
48
+ /**
49
+ * larger y-axis bounds.
50
+ */
51
+ bottom: number;
52
+ }
53
+ export interface TGFXLineCap {
54
+ /**
55
+ * No stroke extension.
56
+ */
57
+ Butt: ctor;
58
+ /**
59
+ * Adds circle
60
+ */
61
+ Round: ctor;
62
+ /**
63
+ * Adds square
64
+ */
65
+ Square: ctor;
66
+ }
67
+ export interface TGFXLineJoin {
68
+ /**
69
+ * Extends to miter limit.
70
+ */
71
+ Miter: ctor;
72
+ /**
73
+ * Adds circle.
74
+ */
75
+ Round: ctor;
76
+ /**
77
+ * Connects outside edges.
78
+ */
79
+ Bevel: ctor;
80
+ }
81
+ export interface TGFXPathFillType {
82
+ /**
83
+ * Enclosed by a non-zero sum of contour directions.
84
+ */
85
+ Winding: ctor;
86
+ /**
87
+ * Enclosed by an odd number of contours.
88
+ */
89
+ EvenOdd: ctor;
90
+ /**
91
+ * Enclosed by a zero sum of contour directions.
92
+ */
93
+ InverseWinding: ctor;
94
+ /**
95
+ * Enclosed by an even number of contours.
96
+ */
97
+ InverseEvenOdd: ctor;
98
+ }
99
+ export interface EmscriptenGLContext {
100
+ handle: number;
101
+ GLctx: WebGLRenderingContext;
102
+ attributes: EmscriptenGLContextAttributes;
103
+ initExtensionsDone: boolean;
104
+ version: number;
105
+ }
106
+ export type EmscriptenGLContextAttributes = {
107
+ majorVersion: number;
108
+ minorVersion: number;
109
+ } & WebGLContextAttributes;
110
+ export interface EmscriptenGL {
111
+ contexts: (EmscriptenGLContext | null)[];
112
+ createContext: (canvas: HTMLCanvasElement | OffscreenCanvas, webGLContextAttributes: EmscriptenGLContextAttributes) => number;
113
+ currentContext?: EmscriptenGLContext;
114
+ deleteContext: (contextHandle: number) => void;
115
+ framebuffers: (WebGLFramebuffer | null)[];
116
+ getContext: (contextHandle: number) => EmscriptenGLContext;
117
+ getNewId: (array: any[]) => number;
118
+ makeContextCurrent: (contextHandle: number) => boolean;
119
+ registerContext: (ctx: WebGLRenderingContext, webGLContextAttributes: EmscriptenGLContextAttributes) => number;
120
+ textures: (WebGLTexture | null)[];
121
+ }
122
+ export interface TGFX {
123
+ TGFXLineCap: TGFXLineCap;
124
+ TGFXLineJoin: TGFXLineJoin;
125
+ GL: EmscriptenGL;
126
+ TGFXPathFillType: TGFXPathFillType;
127
+ _Matrix: {
128
+ _MakeAll: (scaleX: number, skewX: number, transX: number, skewY: number, scaleY: number, transY: number, pers0: number, pers1: number, pers2: number) => any;
129
+ _MakeScale: ((sx: number, sy: number) => any) & ((scale: number) => any);
130
+ _MakeTrans: (dx: number, dy: number) => any;
131
+ };
132
+ [key: string]: any;
133
+ }
@@ -0,0 +1,8 @@
1
+ export declare const isOffscreenCanvas: (element: any) => boolean;
2
+ export declare const isCanvas: (element: any) => boolean;
3
+ export declare const getCanvas2D: (width: number, height: number) => HTMLCanvasElement | OffscreenCanvas;
4
+ export declare const releaseCanvas2D: (canvas: HTMLCanvasElement | OffscreenCanvas) => void;
5
+ export declare const calculateDisplaySize: (canvas: HTMLCanvasElement) => {
6
+ width: number;
7
+ height: number;
8
+ };
@@ -0,0 +1,3 @@
1
+ export declare function wasmAwaitRewind(constructor: any): void;
2
+ export declare function wasmAsyncMethod(target: any, propertyKey: string, descriptor: PropertyDescriptor): void;
3
+ export declare function destroyVerify(constructor: any): void;
@@ -0,0 +1,2 @@
1
+ export declare const defaultFontNames: string[];
2
+ export declare const getFontFamilies: (name: string, style?: string) => string[];
@@ -0,0 +1,10 @@
1
+ export declare const measureText: (imageData: ImageData) => {
2
+ left: number;
3
+ top: number;
4
+ right: number;
5
+ bottom: number;
6
+ };
7
+ export declare const getLeftPixel: (imageDataArray: Int32Array, width: number, height: number) => number;
8
+ export declare const getTopPixel: (imageDataArray: Int32Array, width: number, height: number) => number;
9
+ export declare const getRightPixel: (imageDataArray: Int32Array, width: number, height: number) => number;
10
+ export declare const getBottomPixel: (imageDataArray: Int32Array, width: number, height: number) => number;
@@ -0,0 +1 @@
1
+ export declare const isInstanceOf: (value: any, type: any) => boolean;
@@ -0,0 +1,7 @@
1
+ export declare const ANDROID: boolean;
2
+ export declare const MOBILE: boolean;
3
+ export declare const MACOS: boolean;
4
+ export declare const IPHONE: boolean;
5
+ export declare const WECHAT: boolean;
6
+ export declare const SAFARI_OR_IOS_WEBVIEW: boolean;
7
+ export declare const WORKER: boolean;