@idraw/util 0.2.0-alpha.2 → 0.2.0-alpha.23
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.
- package/dist/index.cjs.js +516 -36
- package/dist/index.d.ts +117 -2
- package/dist/index.es.js +516 -36
- package/dist/index.global.js +517 -37
- package/dist/index.global.min.js +1 -0
- package/package.json +7 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,112 @@
|
|
|
1
|
+
import { TypeBoardSizeOptions } from '@idraw/types';
|
|
2
|
+
import { TypeContext } from '@idraw/types';
|
|
3
|
+
|
|
1
4
|
declare function compose(middleware: Middleware[]): (context: any, next?: Middleware) => any;
|
|
2
5
|
|
|
6
|
+
declare class Context implements TypeContext {
|
|
7
|
+
private _opts;
|
|
8
|
+
private _ctx;
|
|
9
|
+
private _transform;
|
|
10
|
+
constructor(ctx: CanvasRenderingContext2D, opts: Options);
|
|
11
|
+
getContext(): CanvasRenderingContext2D;
|
|
12
|
+
resetSize(opts: TypeBoardSizeOptions): void;
|
|
13
|
+
calcDeviceNum(num: number): number;
|
|
14
|
+
calcScreenNum(num: number): number;
|
|
15
|
+
getSize(): {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
contextWidth: number;
|
|
19
|
+
contextHeight: number;
|
|
20
|
+
devicePixelRatio: number;
|
|
21
|
+
};
|
|
22
|
+
setTransform(config: Transform): void;
|
|
23
|
+
getTransform(): {
|
|
24
|
+
scale: number;
|
|
25
|
+
scrollX: number;
|
|
26
|
+
scrollY: number;
|
|
27
|
+
};
|
|
28
|
+
setFillStyle(color: string | CanvasPattern | CanvasGradient): void;
|
|
29
|
+
fill(fillRule?: CanvasFillRule | undefined): void;
|
|
30
|
+
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean | undefined): void;
|
|
31
|
+
rect(x: number, y: number, w: number, h: number): void;
|
|
32
|
+
fillRect(x: number, y: number, w: number, h: number): void;
|
|
33
|
+
clearRect(x: number, y: number, w: number, h: number): void;
|
|
34
|
+
beginPath(): void;
|
|
35
|
+
closePath(): void;
|
|
36
|
+
lineTo(x: number, y: number): void;
|
|
37
|
+
moveTo(x: number, y: number): void;
|
|
38
|
+
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;
|
|
39
|
+
setLineWidth(w: number): number;
|
|
40
|
+
setLineDash(nums: number[]): void;
|
|
41
|
+
isPointInPath(x: number, y: number): boolean;
|
|
42
|
+
isPointInPathWithoutScroll(x: number, y: number): boolean;
|
|
43
|
+
setStrokeStyle(color: string): void;
|
|
44
|
+
stroke(): void;
|
|
45
|
+
translate(x: number, y: number): void;
|
|
46
|
+
rotate(angle: number): void;
|
|
47
|
+
drawImage(...args: any[]): void;
|
|
48
|
+
createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null;
|
|
49
|
+
measureText(text: string): TextMetrics;
|
|
50
|
+
setTextAlign(align: CanvasTextAlign): void;
|
|
51
|
+
fillText(text: string, x: number, y: number, maxWidth?: number | undefined): void;
|
|
52
|
+
strokeText(text: string, x: number, y: number, maxWidth?: number | undefined): void;
|
|
53
|
+
setFont(opts: {
|
|
54
|
+
fontSize: number;
|
|
55
|
+
fontFamily?: string;
|
|
56
|
+
fontWeight?: 'bold';
|
|
57
|
+
}): void;
|
|
58
|
+
setTextBaseline(baseline: CanvasTextBaseline): void;
|
|
59
|
+
setGlobalAlpha(alpha: number): void;
|
|
60
|
+
save(): void;
|
|
61
|
+
restore(): void;
|
|
62
|
+
scale(ratioX: number, ratioY: number): void;
|
|
63
|
+
setShadowColor(color: string): void;
|
|
64
|
+
setShadowOffsetX(offsetX: number): void;
|
|
65
|
+
setShadowOffsetY(offsetY: number): void;
|
|
66
|
+
setShadowBlur(blur: number): void;
|
|
67
|
+
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean | undefined): void;
|
|
68
|
+
private _doSize;
|
|
69
|
+
private _doX;
|
|
70
|
+
private _doY;
|
|
71
|
+
}
|
|
72
|
+
|
|
3
73
|
declare function createUUID(): string;
|
|
4
74
|
|
|
5
75
|
declare function deepClone(target: any): any;
|
|
6
76
|
|
|
7
77
|
declare const _default: {
|
|
78
|
+
is: {
|
|
79
|
+
x: (value: any) => boolean;
|
|
80
|
+
y: (value: any) => boolean;
|
|
81
|
+
w: (value: any) => boolean;
|
|
82
|
+
h: (value: any) => boolean;
|
|
83
|
+
angle: (value: any) => boolean;
|
|
84
|
+
number: (value: any) => boolean;
|
|
85
|
+
borderWidth: (value: any) => boolean;
|
|
86
|
+
borderRadius: (value: any) => boolean;
|
|
87
|
+
color: (value: any) => boolean;
|
|
88
|
+
imageSrc: (value: any) => boolean;
|
|
89
|
+
imageURL: (value: any) => boolean;
|
|
90
|
+
imageBase64: (value: any) => boolean;
|
|
91
|
+
svg: (value: any) => boolean;
|
|
92
|
+
html: (value: any) => boolean;
|
|
93
|
+
text: (value: any) => boolean;
|
|
94
|
+
fontSize: (value: any) => boolean;
|
|
95
|
+
lineHeight: (value: any) => boolean;
|
|
96
|
+
textAlign: (value: any) => boolean;
|
|
97
|
+
fontFamily: (value: any) => boolean;
|
|
98
|
+
fontWeight: (value: any) => boolean;
|
|
99
|
+
strokeWidth: (value: any) => boolean;
|
|
100
|
+
};
|
|
101
|
+
check: {
|
|
102
|
+
attrs: (attrs: any) => boolean;
|
|
103
|
+
textDesc: (desc: any) => boolean;
|
|
104
|
+
rectDesc: (desc: any) => boolean;
|
|
105
|
+
circleDesc: (desc: any) => boolean;
|
|
106
|
+
imageDesc: (desc: any) => boolean;
|
|
107
|
+
svgDesc: (desc: any) => boolean;
|
|
108
|
+
htmlDesc: (desc: any) => boolean;
|
|
109
|
+
};
|
|
8
110
|
time: {
|
|
9
111
|
delay: typeof delay;
|
|
10
112
|
compose: typeof compose;
|
|
@@ -37,12 +139,11 @@ declare const _default: {
|
|
|
37
139
|
undefined(data: any): boolean;
|
|
38
140
|
null(data: any): boolean;
|
|
39
141
|
promise(data: any): boolean;
|
|
40
|
-
nodeList(data: any): boolean;
|
|
41
|
-
imageData(data: any): boolean;
|
|
42
142
|
};
|
|
43
143
|
data: {
|
|
44
144
|
deepClone: typeof deepClone;
|
|
45
145
|
};
|
|
146
|
+
Context: typeof Context;
|
|
46
147
|
};
|
|
47
148
|
export default _default;
|
|
48
149
|
|
|
@@ -68,10 +169,24 @@ declare function loadSVG(svg: string): Promise<HTMLImageElement>;
|
|
|
68
169
|
|
|
69
170
|
declare type Middleware = (ctx: any, next: Middleware) => any;
|
|
70
171
|
|
|
172
|
+
declare type Options = {
|
|
173
|
+
width: number;
|
|
174
|
+
height: number;
|
|
175
|
+
contextWidth: number;
|
|
176
|
+
contextHeight: number;
|
|
177
|
+
devicePixelRatio: number;
|
|
178
|
+
};
|
|
179
|
+
|
|
71
180
|
declare function throttle(fn: (...args: any[]) => any, timeout: number): (...args: any[]) => any;
|
|
72
181
|
|
|
73
182
|
declare function toColorHexNum(color: string): number;
|
|
74
183
|
|
|
75
184
|
declare function toColorHexStr(color: number): string;
|
|
76
185
|
|
|
186
|
+
declare type Transform = {
|
|
187
|
+
scale?: number;
|
|
188
|
+
scrollX?: number;
|
|
189
|
+
scrollY?: number;
|
|
190
|
+
};
|
|
191
|
+
|
|
77
192
|
export { }
|