| 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 = Canvas
 
- exports.Context2d = CanvasRenderingContext2D // Legacy/compat export
 
- exports.CanvasRenderingContext2D = CanvasRenderingContext2D
 
- exports.CanvasGradient = bindings.CanvasGradient
 
- exports.CanvasPattern = CanvasPattern
 
- exports.Image = Image
 
- exports.ImageData = bindings.ImageData
 
- exports.PNGStream = PNGStream
 
- exports.PDFStream = PDFStream
 
- exports.JPEGStream = JPEGStream
 
- exports.DOMMatrix = DOMMatrix
 
- exports.DOMPoint = DOMPoint
 
- exports.registerFont = registerFont
 
- exports.deregisterAllFonts = deregisterAllFonts
 
- exports.parseFont = parseFont
 
- exports.createCanvas = createCanvas
 
- exports.createImageData = createImageData
 
- exports.loadImage = loadImage
 
- exports.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
 
 
  |