| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | const Canvas = require('./lib/canvas')const Image = require('./lib/image')const CanvasRenderingContext2D = require('./lib/context2d')const CanvasPattern = require('./lib/pattern')const parseFont = require('./lib/parse-font')const packageJson = require('./package.json')const bindings = require('./lib/bindings')const fs = require('fs')const PNGStream = require('./lib/pngstream')const PDFStream = require('./lib/pdfstream')const JPEGStream = require('./lib/jpegstream')const { DOMPoint, DOMMatrix } = require('./lib/DOMMatrix')function createCanvas (width, height, type) {  return new Canvas(width, height, type)}function createImageData (array, width, height) {  return new bindings.ImageData(array, width, height)}function loadImage (src) {  return new Promise((resolve, reject) => {    const image = new Image()    function cleanup () {      image.onload = null      image.onerror = null    }    image.onload = () => { cleanup(); resolve(image) }    image.onerror = (err) => { cleanup(); reject(err) }    image.src = src  })}/** * Resolve paths for registerFont. Must be called *before* creating a Canvas * instance. * @param src {string} Path to font file. * @param fontFace {{family: string, weight?: string, style?: string}} Object * specifying font information. `weight` and `style` default to `"normal"`. */function registerFont (src, fontFace) {  // TODO this doesn't need to be on Canvas; it should just be a static method  // of `bindings`.  return Canvas._registerFont(fs.realpathSync(src), fontFace)}/** * Unload all fonts from pango to free up memory */function deregisterAllFonts () {  return Canvas._deregisterAllFonts()}exports.Canvas = Canvasexports.Context2d = CanvasRenderingContext2D // Legacy/compat exportexports.CanvasRenderingContext2D = CanvasRenderingContext2Dexports.CanvasGradient = bindings.CanvasGradientexports.CanvasPattern = CanvasPatternexports.Image = Imageexports.ImageData = bindings.ImageDataexports.PNGStream = PNGStreamexports.PDFStream = PDFStreamexports.JPEGStream = JPEGStreamexports.DOMMatrix = DOMMatrixexports.DOMPoint = DOMPointexports.registerFont = registerFontexports.deregisterAllFonts = deregisterAllFontsexports.parseFont = parseFontexports.createCanvas = createCanvasexports.createImageData = createImageDataexports.loadImage = loadImageexports.backends = bindings.Backends/** Library version. */exports.version = packageJson.version/** Cairo version. */exports.cairoVersion = bindings.cairoVersion/** jpeglib version. */exports.jpegVersion = bindings.jpegVersion/** gif_lib version. */exports.gifVersion = bindings.gifVersion ? bindings.gifVersion.replace(/[^.\d]/g, '') : undefined/** freetype version. */exports.freetypeVersion = bindings.freetypeVersion/** rsvg version. */exports.rsvgVersion = bindings.rsvgVersion/** pango version. */exports.pangoVersion = bindings.pangoVersion
 |