@napi-rs/canvas 0.1.82 → 0.1.83

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 (3) hide show
  1. package/README.md +1 -1
  2. package/index.d.ts +52 -18
  3. package/package.json +12 -12
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # `skr canvas`
2
2
 
3
3
  [![CI](https://github.com/Brooooooklyn/canvas/actions/workflows/CI.yaml/badge.svg)](https://github.com/Brooooooklyn/canvas/actions/workflows/CI.yaml)
4
- ![Skia Version](https://img.shields.io/badge/Skia-chrome%2Fm142-hotpink)
4
+ ![Skia Version](https://img.shields.io/badge/Skia-chrome%2Fm143-hotpink)
5
5
  [![install size](https://packagephobia.com/badge?p=@napi-rs/canvas)](https://packagephobia.com/result?p=@napi-rs/canvas)
6
6
  [![Downloads](https://img.shields.io/npm/dm/@napi-rs/canvas.svg?sanitize=true)](https://npmcharts.com/compare/@napi-rs/canvas?minimal=true)
7
7
 
package/index.d.ts CHANGED
@@ -5,21 +5,21 @@ export function clearAllCache(): void
5
5
 
6
6
  interface CanvasRenderingContext2D
7
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
- CanvasPDFAnnotations {}
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
+ CanvasPDFAnnotations { }
23
23
 
24
24
  interface CanvasState {
25
25
  isContextLost(): boolean
@@ -211,6 +211,7 @@ interface CanvasTextDrawingStyles {
211
211
  textBaseline: CanvasTextBaseline
212
212
  textRendering: CanvasTextRendering
213
213
  wordSpacing: string
214
+ fontVariationSettings: string
214
215
  }
215
216
 
216
217
  interface CanvasFilters {
@@ -421,7 +422,7 @@ type OmitNeverOfMatrix = OmitMatrixMethod[keyof OmitMatrixMethod]
421
422
 
422
423
  export const DOMMatrix: {
423
424
  prototype: DOMMatrix
424
- new (init?: string | number[]): DOMMatrix
425
+ new(init?: string | number[]): DOMMatrix
425
426
  fromFloat32Array(array32: Float32Array): DOMMatrix
426
427
  fromFloat64Array(array64: Float64Array): DOMMatrix
427
428
  fromMatrix(other?: DOMMatrixInit): DOMMatrix
@@ -448,7 +449,7 @@ export interface DOMRect extends DOMRectReadOnly {
448
449
 
449
450
  export const DOMRect: {
450
451
  prototype: DOMRect
451
- new (x?: number, y?: number, width?: number, height?: number): DOMRect
452
+ new(x?: number, y?: number, width?: number, height?: number): DOMRect
452
453
  fromRect(other?: DOMRectInit): DOMRect
453
454
  }
454
455
 
@@ -470,7 +471,7 @@ export interface DOMPoint extends DOMPointReadOnly {
470
471
 
471
472
  export const DOMPoint: {
472
473
  prototype: DOMPoint
473
- new (x?: number, y?: number, z?: number, w?: number): DOMPoint
474
+ new(x?: number, y?: number, z?: number, w?: number): DOMPoint
474
475
  fromPoint(other?: DOMPointInit): DOMPoint
475
476
  }
476
477
 
@@ -708,6 +709,21 @@ export declare class FontKey {
708
709
  private readonly key: symbol
709
710
  }
710
711
 
712
+ export interface FontVariationAxis {
713
+ /** OpenType tag as a 32-bit integer (e.g., 0x77676874 for 'wght') */
714
+ tag: number
715
+ /** Current value for this axis */
716
+ value: number
717
+ /** Minimum value for this axis */
718
+ min: number
719
+ /** Maximum value for this axis */
720
+ max: number
721
+ /** Default value for this axis */
722
+ def: number
723
+ /** Whether this axis should be hidden from UI */
724
+ hidden: boolean
725
+ }
726
+
711
727
  interface IGlobalFonts {
712
728
  readonly families: { family: string; styles: { weight: number; width: string; style: string }[] }[]
713
729
  // return true if succeeded
@@ -717,6 +733,24 @@ interface IGlobalFonts {
717
733
  has(name: string): boolean
718
734
  loadFontsFromDir(path: string): number
719
735
  remove(key: FontKey): void
736
+ /**
737
+ * Get variation axes for a specific font instance
738
+ * @param familyName The font family name
739
+ * @param weight Font weight (100-900)
740
+ * @param width Font width/stretch value
741
+ * @param slant Font slant (0 = upright, 1 = italic, 2 = oblique)
742
+ * @returns Array of variation axes or empty array if not a variable font
743
+ */
744
+ getVariationAxes(familyName: string, weight: number, width: number, slant: number): FontVariationAxis[]
745
+ /**
746
+ * Check if a font has variable font capabilities
747
+ * @param familyName The font family name
748
+ * @param weight Font weight (100-900)
749
+ * @param width Font width/stretch value
750
+ * @param slant Font slant (0 = upright, 1 = italic, 2 = oblique)
751
+ * @returns true if the font is a variable font
752
+ */
753
+ hasVariations(familyName: string, weight: number, width: number, slant: number): boolean
720
754
  }
721
755
 
722
756
  export const GlobalFonts: IGlobalFonts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@napi-rs/canvas",
3
- "version": "0.1.82",
3
+ "version": "0.1.83",
4
4
  "description": "Canvas for Node.js with skia backend",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -140,17 +140,17 @@
140
140
  "singleQuote": true,
141
141
  "arrowParens": "always"
142
142
  },
143
- "packageManager": "yarn@4.11.0",
143
+ "packageManager": "yarn@4.12.0",
144
144
  "optionalDependencies": {
145
- "@napi-rs/canvas-linux-x64-gnu": "0.1.82",
146
- "@napi-rs/canvas-darwin-x64": "0.1.82",
147
- "@napi-rs/canvas-win32-x64-msvc": "0.1.82",
148
- "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.82",
149
- "@napi-rs/canvas-linux-x64-musl": "0.1.82",
150
- "@napi-rs/canvas-linux-arm64-gnu": "0.1.82",
151
- "@napi-rs/canvas-linux-arm64-musl": "0.1.82",
152
- "@napi-rs/canvas-darwin-arm64": "0.1.82",
153
- "@napi-rs/canvas-android-arm64": "0.1.82",
154
- "@napi-rs/canvas-linux-riscv64-gnu": "0.1.82"
145
+ "@napi-rs/canvas-linux-x64-gnu": "0.1.83",
146
+ "@napi-rs/canvas-darwin-x64": "0.1.83",
147
+ "@napi-rs/canvas-win32-x64-msvc": "0.1.83",
148
+ "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.83",
149
+ "@napi-rs/canvas-linux-x64-musl": "0.1.83",
150
+ "@napi-rs/canvas-linux-arm64-gnu": "0.1.83",
151
+ "@napi-rs/canvas-linux-arm64-musl": "0.1.83",
152
+ "@napi-rs/canvas-darwin-arm64": "0.1.83",
153
+ "@napi-rs/canvas-android-arm64": "0.1.83",
154
+ "@napi-rs/canvas-linux-riscv64-gnu": "0.1.83"
155
155
  }
156
156
  }