canvas
Advanced tools
Comparing version 2.9.3 to 2.11.2
@@ -93,1 +93,3 @@ const Canvas = require('./lib/canvas') | ||
exports.rsvgVersion = bindings.rsvgVersion | ||
/** pango version. */ | ||
exports.pangoVersion = bindings.pangoVersion |
@@ -52,3 +52,6 @@ 'use strict' | ||
get.concat(val, (err, res, data) => { | ||
get.concat({ | ||
url: val, | ||
headers: { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' } | ||
}, (err, res, data) => { | ||
if (err) return onerror(err) | ||
@@ -55,0 +58,0 @@ |
{ | ||
"name": "canvas", | ||
"description": "Canvas graphics API backed by Cairo", | ||
"version": "2.9.3", | ||
"version": "2.11.2", | ||
"author": "TJ Holowaychuk <tj@learnboost.com>", | ||
@@ -32,2 +32,4 @@ "main": "index.js", | ||
"test-server": "node test/server.js", | ||
"generate-wpt": "node ./test/wpt/generate.js", | ||
"test-wpt": "mocha test/wpt/generated/*.js", | ||
"install": "node-pre-gyp install --fallback-to-build --update-binary", | ||
@@ -53,3 +55,3 @@ "dtslint": "dtslint types" | ||
"@mapbox/node-pre-gyp": "^1.0.0", | ||
"nan": "^2.15.0", | ||
"nan": "^2.17.0", | ||
"simple-get": "^3.0.3" | ||
@@ -62,2 +64,3 @@ }, | ||
"express": "^4.16.3", | ||
"js-yaml": "^4.1.0", | ||
"mocha": "^5.2.0", | ||
@@ -64,0 +67,0 @@ "pixelmatch": "^4.0.2", |
@@ -26,3 +26,3 @@ # node-canvas | ||
----- | ----- | ||
OS X | Using [Homebrew](https://brew.sh/):<br/>`brew install pkg-config cairo pango libpng jpeg giflib librsvg` | ||
OS X | Using [Homebrew](https://brew.sh/):<br/>`brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman` | ||
Ubuntu | `sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev` | ||
@@ -95,3 +95,3 @@ Fedora | `sudo yum install gcc-c++ cairo-devel pango-devel libjpeg-turbo-devel giflib-devel` | ||
* [CanvasRenderingContext2D#textDrawingMode](#canvasrenderingcontext2dtextdrawingmode) | ||
* [CanvasRenderingContext2D#globalCompositeOperator = 'saturate'](#canvasrenderingcontext2dglobalcompositeoperator--saturate) | ||
* [CanvasRenderingContext2D#globalCompositeOperation = 'saturate'](#canvasrenderingcontext2dglobalcompositeoperation--saturate) | ||
* [CanvasRenderingContext2D#antialias](#canvasrenderingcontext2dantialias) | ||
@@ -98,0 +98,0 @@ |
// TypeScript Version: 3.0 | ||
/// <reference lib="dom" /> | ||
@@ -10,3 +9,3 @@ import { Readable } from 'stream' | ||
/** | ||
* Any bitwise combination of `PNG_FILTER_NONE`, `PNG_FITLER_SUB`, | ||
* Any bitwise combination of `PNG_FILTER_NONE`, `PNG_FILTER_SUB`, | ||
* `PNG_FILTER_UP`, `PNG_FILTER_AVG` and `PNG_FILTER_PATETH`; or one of | ||
@@ -16,3 +15,3 @@ * `PNG_ALL_FILTERS` or `PNG_NO_FILTERS` (all are properties of the canvas | ||
* encoding, libpng will select the best filter from this list of allowed | ||
* filters. Defaults to `canvas.PNG_ALL_FITLERS`. | ||
* filters. Defaults to `canvas.PNG_ALL_FILTERS`. | ||
*/ | ||
@@ -85,3 +84,3 @@ filters?: number | ||
getContext(contextId: '2d', contextAttributes?: NodeCanvasRenderingContext2DSettings): NodeCanvasRenderingContext2D | ||
getContext(contextId: '2d', contextAttributes?: NodeCanvasRenderingContext2DSettings): CanvasRenderingContext2D | ||
@@ -134,4 +133,104 @@ /** | ||
declare class NodeCanvasRenderingContext2D extends CanvasRenderingContext2D { | ||
export interface TextMetrics { | ||
readonly actualBoundingBoxAscent: number; | ||
readonly actualBoundingBoxDescent: number; | ||
readonly actualBoundingBoxLeft: number; | ||
readonly actualBoundingBoxRight: number; | ||
readonly fontBoundingBoxAscent: number; | ||
readonly fontBoundingBoxDescent: number; | ||
readonly width: number; | ||
} | ||
export type CanvasFillRule = 'evenodd' | 'nonzero'; | ||
export type GlobalCompositeOperation = | ||
| 'clear' | ||
| 'copy' | ||
| 'destination' | ||
| 'source-over' | ||
| 'destination-over' | ||
| 'source-in' | ||
| 'destination-in' | ||
| 'source-out' | ||
| 'destination-out' | ||
| 'source-atop' | ||
| 'destination-atop' | ||
| 'xor' | ||
| 'lighter' | ||
| 'normal' | ||
| 'multiply' | ||
| 'screen' | ||
| 'overlay' | ||
| 'darken' | ||
| 'lighten' | ||
| 'color-dodge' | ||
| 'color-burn' | ||
| 'hard-light' | ||
| 'soft-light' | ||
| 'difference' | ||
| 'exclusion' | ||
| 'hue' | ||
| 'saturation' | ||
| 'color' | ||
| 'luminosity' | ||
| 'saturate'; | ||
export type CanvasLineCap = 'butt' | 'round' | 'square'; | ||
export type CanvasLineJoin = 'bevel' | 'miter' | 'round'; | ||
export type CanvasTextBaseline = 'alphabetic' | 'bottom' | 'hanging' | 'ideographic' | 'middle' | 'top'; | ||
export type CanvasTextAlign = 'center' | 'end' | 'left' | 'right' | 'start'; | ||
export class CanvasRenderingContext2D { | ||
drawImage(image: Canvas|Image, dx: number, dy: number): void | ||
drawImage(image: Canvas|Image, dx: number, dy: number, dw: number, dh: number): void | ||
drawImage(image: Canvas|Image, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void | ||
putImageData(imagedata: ImageData, dx: number, dy: number): void; | ||
putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; | ||
getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; | ||
createImageData(sw: number, sh: number): ImageData; | ||
createImageData(imagedata: ImageData): ImageData; | ||
/** | ||
* For PDF canvases, adds another page. If width and/or height are omitted, | ||
* the canvas's initial size is used. | ||
*/ | ||
addPage(width?: number, height?: number): void | ||
save(): void; | ||
restore(): void; | ||
rotate(angle: number): void; | ||
translate(x: number, y: number): void; | ||
transform(a: number, b: number, c: number, d: number, e: number, f: number): void; | ||
getTransform(): DOMMatrix; | ||
resetTransform(): void; | ||
setTransform(transform?: DOMMatrix): void; | ||
isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; | ||
scale(x: number, y: number): void; | ||
clip(fillRule?: CanvasFillRule): void; | ||
fill(fillRule?: CanvasFillRule): void; | ||
stroke(): void; | ||
fillText(text: string, x: number, y: number, maxWidth?: number): void; | ||
strokeText(text: string, x: number, y: number, maxWidth?: number): void; | ||
fillRect(x: number, y: number, w: number, h: number): void; | ||
strokeRect(x: number, y: number, w: number, h: number): void; | ||
clearRect(x: number, y: number, w: number, h: number): void; | ||
rect(x: number, y: number, w: number, h: number): void; | ||
roundRect(x: number, y: number, w: number, h: number, radii?: number | number[]): void; | ||
measureText(text: string): TextMetrics; | ||
moveTo(x: number, y: number): void; | ||
lineTo(x: number, y: number): void; | ||
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; | ||
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; | ||
beginPath(): void; | ||
closePath(): void; | ||
arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void; | ||
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; | ||
ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void; | ||
setLineDash(segments: number[]): void; | ||
getLineDash(): number[]; | ||
createPattern(image: Canvas|Image, repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' | '' | null): CanvasPattern | ||
createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; | ||
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; | ||
/** | ||
* _Non-standard_. Defaults to 'good'. Affects pattern (gradient, image, | ||
@@ -141,10 +240,17 @@ * etc.) rendering quality. | ||
patternQuality: 'fast' | 'good' | 'best' | 'nearest' | 'bilinear' | ||
imageSmoothingEnabled: boolean; | ||
globalCompositeOperation: GlobalCompositeOperation; | ||
globalAlpha: number; | ||
shadowColor: string; | ||
miterLimit: number; | ||
lineWidth: number; | ||
lineCap: CanvasLineCap; | ||
lineJoin: CanvasLineJoin; | ||
lineDashOffset: number; | ||
shadowOffsetX: number; | ||
shadowOffsetY: number; | ||
shadowBlur: number; | ||
/** _Non-standard_. Sets the antialiasing mode. */ | ||
antialias: 'default' | 'gray' | 'none' | 'subpixel' | ||
/** | ||
* _Non-standard_. Defaults to 'good'. Like `patternQuality`, but applies to | ||
* transformations affecting more than just patterns. | ||
*/ | ||
quality: 'fast' | 'good' | 'best' | 'nearest' | 'bilinear' | ||
/** | ||
* Defaults to 'path'. The effect depends on the canvas type: | ||
@@ -173,52 +279,25 @@ * | ||
textDrawingMode: 'path' | 'glyph' | ||
/** _Non-standard_. Sets the antialiasing mode. */ | ||
antialias: 'default' | 'gray' | 'none' | 'subpixel' | ||
// Standard, but not in the TS lib and needs node-canvas class return type. | ||
/** Returns or sets a `DOMMatrix` for the current transformation matrix. */ | ||
currentTransform: NodeCanvasDOMMatrix | ||
// Standard, but need node-canvas class versions: | ||
getTransform(): NodeCanvasDOMMatrix | ||
setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void | ||
setTransform(transform?: NodeCanvasDOMMatrix): void | ||
createImageData(sw: number, sh: number): NodeCanvasImageData | ||
createImageData(imagedata: NodeCanvasImageData): NodeCanvasImageData | ||
getImageData(sx: number, sy: number, sw: number, sh: number): NodeCanvasImageData | ||
putImageData(imagedata: NodeCanvasImageData, dx: number, dy: number): void | ||
putImageData(imagedata: NodeCanvasImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void | ||
drawImage(image: Canvas|Image, dx: number, dy: number): void | ||
drawImage(image: Canvas|Image, dx: number, dy: number, dw: number, dh: number): void | ||
drawImage(image: Canvas|Image, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void | ||
/** | ||
* **Do not use this overload. Use one of the other three overloads.** This | ||
* is a catch-all definition required for compatibility with the base | ||
* `CanvasRenderingContext2D` interface. | ||
* _Non-standard_. Defaults to 'good'. Like `patternQuality`, but applies to | ||
* transformations affecting more than just patterns. | ||
*/ | ||
drawImage(...args: any[]): void | ||
createPattern(image: Canvas|Image, repetition: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' | '' | null): NodeCanvasCanvasPattern | ||
/** | ||
* **Do not use this overload. Use the other three overload.** This is a | ||
* catch-all definition required for compatibility with the base | ||
* `CanvasRenderingContext2D` interface. | ||
*/ | ||
createPattern(...args: any[]): NodeCanvasCanvasPattern | ||
createLinearGradient(x0: number, y0: number, x1: number, y1: number): NodeCanvasCanvasGradient; | ||
createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): NodeCanvasCanvasGradient; | ||
quality: 'fast' | 'good' | 'best' | 'nearest' | 'bilinear' | ||
/** Returns or sets a `DOMMatrix` for the current transformation matrix. */ | ||
currentTransform: DOMMatrix | ||
fillStyle: string | CanvasGradient | CanvasPattern; | ||
strokeStyle: string | CanvasGradient | CanvasPattern; | ||
font: string; | ||
textBaseline: CanvasTextBaseline; | ||
textAlign: CanvasTextAlign; | ||
canvas: Canvas; | ||
} | ||
/** | ||
* For PDF canvases, adds another page. If width and/or height are omitted, | ||
* the canvas's initial size is used. | ||
*/ | ||
addPage(width?: number, height?: number): void | ||
export class CanvasGradient { | ||
addColorStop(offset: number, color: string): void; | ||
} | ||
export { NodeCanvasRenderingContext2D as CanvasRenderingContext2D } | ||
declare class NodeCanvasCanvasGradient extends CanvasGradient {} | ||
export { NodeCanvasCanvasGradient as CanvasGradient } | ||
export class CanvasPattern { | ||
setTransform(transform?: DOMMatrix): void; | ||
} | ||
declare class NodeCanvasCanvasPattern extends CanvasPattern {} | ||
export { NodeCanvasCanvasPattern as CanvasPattern } | ||
// This does not extend HTMLImageElement because there are dozens of inherited | ||
@@ -309,2 +388,7 @@ // methods and properties that we do not provide. | ||
/** | ||
* Unloads all fonts | ||
*/ | ||
export function deregisterAllFonts(): void; | ||
/** This class must not be constructed directly; use `canvas.createPNGStream()`. */ | ||
@@ -317,10 +401,75 @@ export class PNGStream extends Readable {} | ||
declare class NodeCanvasDOMMatrix extends DOMMatrix {} | ||
export { NodeCanvasDOMMatrix as DOMMatrix } | ||
export class DOMPoint { | ||
w: number; | ||
x: number; | ||
y: number; | ||
z: number; | ||
} | ||
declare class NodeCanvasDOMPoint extends DOMPoint {} | ||
export { NodeCanvasDOMPoint as DOMPoint } | ||
export class DOMMatrix { | ||
constructor(init: string | number[]); | ||
toString(): string; | ||
multiply(other?: DOMMatrix): DOMMatrix; | ||
multiplySelf(other?: DOMMatrix): DOMMatrix; | ||
preMultiplySelf(other?: DOMMatrix): DOMMatrix; | ||
translate(tx?: number, ty?: number, tz?: number): DOMMatrix; | ||
translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; | ||
scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; | ||
scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; | ||
scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; | ||
scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; | ||
rotateFromVector(x?: number, y?: number): DOMMatrix; | ||
rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; | ||
rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; | ||
rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; | ||
rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; | ||
rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; | ||
skewX(sx?: number): DOMMatrix; | ||
skewXSelf(sx?: number): DOMMatrix; | ||
skewY(sy?: number): DOMMatrix; | ||
skewYSelf(sy?: number): DOMMatrix; | ||
flipX(): DOMMatrix; | ||
flipY(): DOMMatrix; | ||
inverse(): DOMMatrix; | ||
invertSelf(): DOMMatrix; | ||
setMatrixValue(transformList: string): DOMMatrix; | ||
transformPoint(point?: DOMPoint): DOMPoint; | ||
toFloat32Array(): Float32Array; | ||
toFloat64Array(): Float64Array; | ||
readonly is2D: boolean; | ||
readonly isIdentity: boolean; | ||
a: number; | ||
b: number; | ||
c: number; | ||
d: number; | ||
e: number; | ||
f: number; | ||
m11: number; | ||
m12: number; | ||
m13: number; | ||
m14: number; | ||
m21: number; | ||
m22: number; | ||
m23: number; | ||
m24: number; | ||
m31: number; | ||
m32: number; | ||
m33: number; | ||
m34: number; | ||
m41: number; | ||
m42: number; | ||
m43: number; | ||
m44: number; | ||
static fromMatrix(other: DOMMatrix): DOMMatrix; | ||
static fromFloat32Array(a: Float32Array): DOMMatrix; | ||
static fromFloat64Array(a: Float64Array): DOMMatrix; | ||
} | ||
declare class NodeCanvasImageData extends ImageData {} | ||
export { NodeCanvasImageData as ImageData } | ||
export class ImageData { | ||
constructor(sw: number, sh: number); | ||
constructor(data: Uint8ClampedArray, sw: number, sh?: number); | ||
readonly data: Uint8ClampedArray; | ||
readonly height: number; | ||
readonly width: number; | ||
} | ||
@@ -327,0 +476,0 @@ // This is marked private, but is exported... |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
518375
62
1621
9
3
Updatednan@^2.17.0