@napi-rs/canvas 0.1.68 → 0.1.70
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/README.md +2 -1
- package/index.d.ts +275 -5
- package/package.json +17 -17
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# `skr canvas`
|
|
2
2
|
|
|
3
3
|
[](https://github.com/Brooooooklyn/canvas/actions/workflows/CI.yaml)
|
|
4
|
-

|
|
5
5
|
[](https://packagephobia.com/result?p=@napi-rs/canvas)
|
|
6
6
|
[](https://npmcharts.com/compare/@napi-rs/canvas?minimal=true)
|
|
7
7
|
|
|
@@ -228,6 +228,7 @@ export class Path2D {
|
|
|
228
228
|
getBounds(): [left: number, top: number, right: number, bottom: number]
|
|
229
229
|
computeTightBounds(): [left: number, top: number, right: number, bottom: number]
|
|
230
230
|
trim(start: number, end: number, isComplement?: boolean): Path2D
|
|
231
|
+
round(radius: number): Path2D
|
|
231
232
|
equals(path: Path2D): boolean
|
|
232
233
|
}
|
|
233
234
|
```
|
package/index.d.ts
CHANGED
|
@@ -3,6 +3,279 @@ import { ReadableStream } from 'node:stream/web'
|
|
|
3
3
|
// Clear all type of caches in Skia
|
|
4
4
|
export function clearAllCache(): void
|
|
5
5
|
|
|
6
|
+
interface CanvasRenderingContext2D
|
|
7
|
+
extends CanvasCompositing,
|
|
8
|
+
CanvasDrawPath,
|
|
9
|
+
CanvasFillStrokeStyles,
|
|
10
|
+
CanvasFilters,
|
|
11
|
+
CanvasImageData,
|
|
12
|
+
CanvasImageSmoothing,
|
|
13
|
+
CanvasPath,
|
|
14
|
+
CanvasPathDrawingStyles,
|
|
15
|
+
CanvasRect,
|
|
16
|
+
CanvasSettings,
|
|
17
|
+
CanvasShadowStyles,
|
|
18
|
+
CanvasState,
|
|
19
|
+
CanvasText,
|
|
20
|
+
CanvasTextDrawingStyles,
|
|
21
|
+
CanvasTransform {}
|
|
22
|
+
|
|
23
|
+
interface CanvasState {
|
|
24
|
+
isContextLost(): boolean
|
|
25
|
+
reset(): void
|
|
26
|
+
restore(): void
|
|
27
|
+
save(): void
|
|
28
|
+
}
|
|
29
|
+
interface CanvasShadowStyles {
|
|
30
|
+
shadowBlur: number
|
|
31
|
+
shadowColor: string
|
|
32
|
+
shadowOffsetX: number
|
|
33
|
+
shadowOffsetY: number
|
|
34
|
+
}
|
|
35
|
+
interface CanvasRenderingContext2DSettings {
|
|
36
|
+
alpha?: boolean
|
|
37
|
+
colorSpace?: PredefinedColorSpace
|
|
38
|
+
desynchronized?: boolean
|
|
39
|
+
willReadFrequently?: boolean
|
|
40
|
+
}
|
|
41
|
+
interface CanvasSettings {
|
|
42
|
+
getContextAttributes(): CanvasRenderingContext2DSettings
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
interface CanvasRect {
|
|
46
|
+
clearRect(x: number, y: number, w: number, h: number): void
|
|
47
|
+
fillRect(x: number, y: number, w: number, h: number): void
|
|
48
|
+
strokeRect(x: number, y: number, w: number, h: number): void
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface TextMetrics {
|
|
52
|
+
readonly actualBoundingBoxAscent: number
|
|
53
|
+
readonly actualBoundingBoxDescent: number
|
|
54
|
+
readonly actualBoundingBoxLeft: number
|
|
55
|
+
readonly actualBoundingBoxRight: number
|
|
56
|
+
readonly alphabeticBaseline: number
|
|
57
|
+
readonly emHeightAscent: number
|
|
58
|
+
readonly emHeightDescent: number
|
|
59
|
+
readonly fontBoundingBoxAscent: number
|
|
60
|
+
readonly fontBoundingBoxDescent: number
|
|
61
|
+
readonly hangingBaseline: number
|
|
62
|
+
readonly ideographicBaseline: number
|
|
63
|
+
readonly width: number
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
interface CanvasText {
|
|
67
|
+
fillText(text: string, x: number, y: number, maxWidth?: number): void
|
|
68
|
+
measureText(text: string): TextMetrics
|
|
69
|
+
strokeText(text: string, x: number, y: number, maxWidth?: number): void
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type CanvasLineCap = 'butt' | 'round' | 'square'
|
|
73
|
+
type CanvasLineJoin = 'bevel' | 'miter' | 'round'
|
|
74
|
+
|
|
75
|
+
interface CanvasPathDrawingStyles {
|
|
76
|
+
lineCap: CanvasLineCap
|
|
77
|
+
lineDashOffset: number
|
|
78
|
+
lineJoin: CanvasLineJoin
|
|
79
|
+
lineWidth: number
|
|
80
|
+
miterLimit: number
|
|
81
|
+
getLineDash(): number[]
|
|
82
|
+
setLineDash(segments: number[]): void
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface CanvasPath {
|
|
86
|
+
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void
|
|
87
|
+
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void
|
|
88
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void
|
|
89
|
+
closePath(): void
|
|
90
|
+
ellipse(
|
|
91
|
+
x: number,
|
|
92
|
+
y: number,
|
|
93
|
+
radiusX: number,
|
|
94
|
+
radiusY: number,
|
|
95
|
+
rotation: number,
|
|
96
|
+
startAngle: number,
|
|
97
|
+
endAngle: number,
|
|
98
|
+
counterclockwise?: boolean,
|
|
99
|
+
): void
|
|
100
|
+
lineTo(x: number, y: number): void
|
|
101
|
+
moveTo(x: number, y: number): void
|
|
102
|
+
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void
|
|
103
|
+
rect(x: number, y: number, w: number, h: number): void
|
|
104
|
+
roundRect(x: number, y: number, w: number, h: number, radii?: number | DOMPointInit | (number | DOMPointInit)[]): void
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
type ImageSmoothingQuality = 'high' | 'low' | 'medium'
|
|
108
|
+
|
|
109
|
+
interface CanvasImageSmoothing {
|
|
110
|
+
imageSmoothingEnabled: boolean
|
|
111
|
+
imageSmoothingQuality: ImageSmoothingQuality
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
interface CanvasTransform {
|
|
115
|
+
resetTransform(): void
|
|
116
|
+
rotate(angle: number): void
|
|
117
|
+
scale(x: number, y: number): void
|
|
118
|
+
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void
|
|
119
|
+
setTransform(transform?: DOMMatrix2DInit): void
|
|
120
|
+
transform(a: number, b: number, c: number, d: number, e: number, f: number): void
|
|
121
|
+
translate(x: number, y: number): void
|
|
122
|
+
}
|
|
123
|
+
type PredefinedColorSpace = 'display-p3' | 'srgb'
|
|
124
|
+
|
|
125
|
+
interface ImageDataSettings {
|
|
126
|
+
colorSpace?: PredefinedColorSpace
|
|
127
|
+
}
|
|
128
|
+
interface CanvasImageData {
|
|
129
|
+
createImageData(sw: number, sh: number, settings?: ImageDataSettings): ImageData
|
|
130
|
+
createImageData(imagedata: ImageData): ImageData
|
|
131
|
+
getImageData(sx: number, sy: number, sw: number, sh: number, settings?: ImageDataSettings): ImageData
|
|
132
|
+
putImageData(imagedata: ImageData, dx: number, dy: number): void
|
|
133
|
+
putImageData(
|
|
134
|
+
imagedata: ImageData,
|
|
135
|
+
dx: number,
|
|
136
|
+
dy: number,
|
|
137
|
+
dirtyX: number,
|
|
138
|
+
dirtyY: number,
|
|
139
|
+
dirtyWidth: number,
|
|
140
|
+
dirtyHeight: number,
|
|
141
|
+
): void
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
type CanvasDirection = 'inherit' | 'ltr' | 'rtl'
|
|
145
|
+
type CanvasFontKerning = 'auto' | 'none' | 'normal'
|
|
146
|
+
type CanvasFontStretch =
|
|
147
|
+
| 'condensed'
|
|
148
|
+
| 'expanded'
|
|
149
|
+
| 'extra-condensed'
|
|
150
|
+
| 'extra-expanded'
|
|
151
|
+
| 'normal'
|
|
152
|
+
| 'semi-condensed'
|
|
153
|
+
| 'semi-expanded'
|
|
154
|
+
| 'ultra-condensed'
|
|
155
|
+
| 'ultra-expanded'
|
|
156
|
+
type CanvasFontVariantCaps =
|
|
157
|
+
| 'all-petite-caps'
|
|
158
|
+
| 'all-small-caps'
|
|
159
|
+
| 'normal'
|
|
160
|
+
| 'petite-caps'
|
|
161
|
+
| 'small-caps'
|
|
162
|
+
| 'titling-caps'
|
|
163
|
+
| 'unicase'
|
|
164
|
+
type CanvasTextAlign = 'center' | 'end' | 'left' | 'right' | 'start'
|
|
165
|
+
type CanvasTextBaseline = 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'
|
|
166
|
+
type CanvasTextRendering = 'auto' | 'geometricPrecision' | 'optimizeLegibility' | 'optimizeSpeed'
|
|
167
|
+
|
|
168
|
+
interface CanvasTextDrawingStyles {
|
|
169
|
+
direction: CanvasDirection
|
|
170
|
+
font: string
|
|
171
|
+
fontKerning: CanvasFontKerning
|
|
172
|
+
fontStretch: CanvasFontStretch
|
|
173
|
+
fontVariantCaps: CanvasFontVariantCaps
|
|
174
|
+
letterSpacing: string
|
|
175
|
+
textAlign: CanvasTextAlign
|
|
176
|
+
textBaseline: CanvasTextBaseline
|
|
177
|
+
textRendering: CanvasTextRendering
|
|
178
|
+
wordSpacing: string
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
interface CanvasFilters {
|
|
182
|
+
filter: string
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
interface CanvasFillStrokeStyles {
|
|
186
|
+
fillStyle: string | CanvasGradient | CanvasPattern
|
|
187
|
+
strokeStyle: string | CanvasGradient | CanvasPattern
|
|
188
|
+
createConicGradient(startAngle: number, x: number, y: number): CanvasGradient
|
|
189
|
+
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient
|
|
190
|
+
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
type CanvasFillRule = 'evenodd' | 'nonzero'
|
|
194
|
+
|
|
195
|
+
interface CanvasDrawPath {
|
|
196
|
+
beginPath(): void
|
|
197
|
+
clip(fillRule?: CanvasFillRule): void
|
|
198
|
+
clip(path: Path2D, fillRule?: CanvasFillRule): void
|
|
199
|
+
fill(fillRule?: CanvasFillRule): void
|
|
200
|
+
fill(path: Path2D, fillRule?: CanvasFillRule): void
|
|
201
|
+
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean
|
|
202
|
+
isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean
|
|
203
|
+
isPointInStroke(x: number, y: number): boolean
|
|
204
|
+
isPointInStroke(path: Path2D, x: number, y: number): boolean
|
|
205
|
+
stroke(): void
|
|
206
|
+
stroke(path: Path2D): void
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
type GlobalCompositeOperation =
|
|
210
|
+
| 'color'
|
|
211
|
+
| 'color-burn'
|
|
212
|
+
| 'color-dodge'
|
|
213
|
+
| 'copy'
|
|
214
|
+
| 'darken'
|
|
215
|
+
| 'destination-atop'
|
|
216
|
+
| 'destination-in'
|
|
217
|
+
| 'destination-out'
|
|
218
|
+
| 'destination-over'
|
|
219
|
+
| 'difference'
|
|
220
|
+
| 'exclusion'
|
|
221
|
+
| 'hard-light'
|
|
222
|
+
| 'hue'
|
|
223
|
+
| 'lighten'
|
|
224
|
+
| 'lighter'
|
|
225
|
+
| 'luminosity'
|
|
226
|
+
| 'multiply'
|
|
227
|
+
| 'overlay'
|
|
228
|
+
| 'saturation'
|
|
229
|
+
| 'screen'
|
|
230
|
+
| 'soft-light'
|
|
231
|
+
| 'source-atop'
|
|
232
|
+
| 'source-in'
|
|
233
|
+
| 'source-out'
|
|
234
|
+
| 'source-over'
|
|
235
|
+
| 'xor'
|
|
236
|
+
|
|
237
|
+
interface CanvasCompositing {
|
|
238
|
+
globalAlpha: number
|
|
239
|
+
globalCompositeOperation: GlobalCompositeOperation
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
interface DOMPointInit {
|
|
243
|
+
w?: number
|
|
244
|
+
x?: number
|
|
245
|
+
y?: number
|
|
246
|
+
z?: number
|
|
247
|
+
}
|
|
248
|
+
interface CanvasPattern {
|
|
249
|
+
setTransform(transform?: DOMMatrix2DInit): void
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
interface CanvasGradient {
|
|
253
|
+
addColorStop(offset: number, color: string): void
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
interface DOMRectInit {
|
|
257
|
+
height?: number
|
|
258
|
+
width?: number
|
|
259
|
+
x?: number
|
|
260
|
+
y?: number
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
interface DOMMatrixInit extends DOMMatrix2DInit {
|
|
264
|
+
is2D?: boolean
|
|
265
|
+
m13?: number
|
|
266
|
+
m14?: number
|
|
267
|
+
m23?: number
|
|
268
|
+
m24?: number
|
|
269
|
+
m31?: number
|
|
270
|
+
m32?: number
|
|
271
|
+
m33?: number
|
|
272
|
+
m34?: number
|
|
273
|
+
m43?: number
|
|
274
|
+
m44?: number
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// ----------- added types
|
|
278
|
+
|
|
6
279
|
export interface DOMMatrix2DInit {
|
|
7
280
|
a: number
|
|
8
281
|
b: number
|
|
@@ -240,6 +513,7 @@ export class Path2D {
|
|
|
240
513
|
computeTightBounds(): [left: number, top: number, right: number, bottom: number]
|
|
241
514
|
trim(start: number, end: number, isComplement?: boolean): Path2D
|
|
242
515
|
dash(on: number, off: number, phase: number): Path2D
|
|
516
|
+
round(radius: number): Path2D
|
|
243
517
|
equals(path: Path2D): boolean
|
|
244
518
|
}
|
|
245
519
|
|
|
@@ -250,11 +524,7 @@ export interface StrokeOptions {
|
|
|
250
524
|
join?: StrokeJoin
|
|
251
525
|
}
|
|
252
526
|
|
|
253
|
-
export interface SKRSContext2D
|
|
254
|
-
extends Omit<
|
|
255
|
-
CanvasRenderingContext2D,
|
|
256
|
-
'drawImage' | 'createPattern' | 'getTransform' | 'drawFocusIfNeeded' | 'scrollPathIntoView' | 'canvas'
|
|
257
|
-
> {
|
|
527
|
+
export interface SKRSContext2D extends CanvasRenderingContext2D {
|
|
258
528
|
canvas: Canvas
|
|
259
529
|
/**
|
|
260
530
|
* @param startAngle The angle at which to begin the gradient, in radians. Angle measurements start vertically above the centre and move around clockwise.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@napi-rs/canvas",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.70",
|
|
4
4
|
"description": "Canvas for Node.js with skia backend",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"postpublish": "pinst --enable",
|
|
65
65
|
"test:ci": "ava -c 1",
|
|
66
66
|
"test": "ava",
|
|
67
|
-
"version": "napi version && conventional-changelog -p angular -i CHANGELOG.md -s && git add
|
|
67
|
+
"version": "napi version && conventional-changelog -p angular -i CHANGELOG.md -s && git add ."
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@jimp/core": "^1.0.0",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"@types/semver": "^7",
|
|
82
82
|
"ava": "^6.1.1",
|
|
83
83
|
"canvas": "^3.0.0",
|
|
84
|
-
"canvaskit-wasm": "^0.
|
|
84
|
+
"canvaskit-wasm": "^0.40.0",
|
|
85
85
|
"colorette": "^2.0.20",
|
|
86
86
|
"conventional-changelog-cli": "^5.0.0",
|
|
87
87
|
"core-js": "^3.38.0",
|
|
@@ -90,15 +90,15 @@
|
|
|
90
90
|
"lint-staged": "^15.2.1",
|
|
91
91
|
"lodash": "^4.17.21",
|
|
92
92
|
"npm-run-all2": "^7.0.0",
|
|
93
|
-
"oxlint": "^0.
|
|
93
|
+
"oxlint": "^0.16.0",
|
|
94
94
|
"pinst": "^3.0.0",
|
|
95
95
|
"png.js": "^0.2.1",
|
|
96
96
|
"prettier": "^3.2.5",
|
|
97
|
-
"pretty-bytes": "^
|
|
97
|
+
"pretty-bytes": "^7.0.0",
|
|
98
98
|
"semver": "^7.5.4",
|
|
99
99
|
"skia-canvas": "^2.0.0",
|
|
100
100
|
"table": "^6.8.1",
|
|
101
|
-
"tinybench": "^
|
|
101
|
+
"tinybench": "^4.0.0",
|
|
102
102
|
"typescript": "^5.3.3"
|
|
103
103
|
},
|
|
104
104
|
"lint-staged": {
|
|
@@ -136,17 +136,17 @@
|
|
|
136
136
|
"singleQuote": true,
|
|
137
137
|
"arrowParens": "always"
|
|
138
138
|
},
|
|
139
|
-
"packageManager": "yarn@4.
|
|
139
|
+
"packageManager": "yarn@4.9.1",
|
|
140
140
|
"optionalDependencies": {
|
|
141
|
-
"@napi-rs/canvas-linux-x64-gnu": "0.1.
|
|
142
|
-
"@napi-rs/canvas-darwin-x64": "0.1.
|
|
143
|
-
"@napi-rs/canvas-win32-x64-msvc": "0.1.
|
|
144
|
-
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.
|
|
145
|
-
"@napi-rs/canvas-linux-x64-musl": "0.1.
|
|
146
|
-
"@napi-rs/canvas-linux-arm64-gnu": "0.1.
|
|
147
|
-
"@napi-rs/canvas-linux-arm64-musl": "0.1.
|
|
148
|
-
"@napi-rs/canvas-darwin-arm64": "0.1.
|
|
149
|
-
"@napi-rs/canvas-android-arm64": "0.1.
|
|
150
|
-
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.
|
|
141
|
+
"@napi-rs/canvas-linux-x64-gnu": "0.1.70",
|
|
142
|
+
"@napi-rs/canvas-darwin-x64": "0.1.70",
|
|
143
|
+
"@napi-rs/canvas-win32-x64-msvc": "0.1.70",
|
|
144
|
+
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.70",
|
|
145
|
+
"@napi-rs/canvas-linux-x64-musl": "0.1.70",
|
|
146
|
+
"@napi-rs/canvas-linux-arm64-gnu": "0.1.70",
|
|
147
|
+
"@napi-rs/canvas-linux-arm64-musl": "0.1.70",
|
|
148
|
+
"@napi-rs/canvas-darwin-arm64": "0.1.70",
|
|
149
|
+
"@napi-rs/canvas-android-arm64": "0.1.70",
|
|
150
|
+
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.70"
|
|
151
151
|
}
|
|
152
152
|
}
|