#define NAPI_EXPERIMENTAL

#include <assert.h>
#include <node_api.h>

#include "calls.c"

#define DECLARE_NAPI_METHOD(name, func)                                        \
  { name, 0, func, 0, 0, 0, napi_default, 0 }

napi_value Init(napi_env env, napi_value exports) {
  napi_status status;
  napi_property_descriptor desc[] = { DECLARE_NAPI_METHOD("getMemory", getMemory), DECLARE_NAPI_METHOD("grContextMakeGl", grContextMakeGl), DECLARE_NAPI_METHOD("grContextUnref", grContextUnref), DECLARE_NAPI_METHOD("grContextAbandonContext", grContextAbandonContext), DECLARE_NAPI_METHOD("grContextReleaseResourcesAndAbandonContext", grContextReleaseResourcesAndAbandonContext), DECLARE_NAPI_METHOD("grContextGetResourceCacheLimits", grContextGetResourceCacheLimits), DECLARE_NAPI_METHOD("grContextSetResourceCacheLimits", grContextSetResourceCacheLimits), DECLARE_NAPI_METHOD("grContextGetResourceCacheUsage", grContextGetResourceCacheUsage), DECLARE_NAPI_METHOD("grContextGetMaxSurfaceSampleCountForColorType", grContextGetMaxSurfaceSampleCountForColorType), DECLARE_NAPI_METHOD("grContextFlush", grContextFlush), DECLARE_NAPI_METHOD("grContextResetContext", grContextResetContext), DECLARE_NAPI_METHOD("grContextGetBackend", grContextGetBackend), DECLARE_NAPI_METHOD("grGlinterfaceCreateNativeInterface", grGlinterfaceCreateNativeInterface), DECLARE_NAPI_METHOD("grGlinterfaceAssembleInterface", grGlinterfaceAssembleInterface), DECLARE_NAPI_METHOD("grGlinterfaceAssembleGlInterface", grGlinterfaceAssembleGlInterface), DECLARE_NAPI_METHOD("grGlinterfaceAssembleGlesInterface", grGlinterfaceAssembleGlesInterface), DECLARE_NAPI_METHOD("grGlinterfaceUnref", grGlinterfaceUnref), DECLARE_NAPI_METHOD("grGlinterfaceValidate", grGlinterfaceValidate), DECLARE_NAPI_METHOD("grGlinterfaceHasExtension", grGlinterfaceHasExtension), DECLARE_NAPI_METHOD("grBackendtextureNewGl", grBackendtextureNewGl), DECLARE_NAPI_METHOD("grBackendtextureDelete", grBackendtextureDelete), DECLARE_NAPI_METHOD("grBackendtextureIsValid", grBackendtextureIsValid), DECLARE_NAPI_METHOD("grBackendtextureGetWidth", grBackendtextureGetWidth), DECLARE_NAPI_METHOD("grBackendtextureGetHeight", grBackendtextureGetHeight), DECLARE_NAPI_METHOD("grBackendtextureHasMipmaps", grBackendtextureHasMipmaps), DECLARE_NAPI_METHOD("grBackendtextureGetBackend", grBackendtextureGetBackend), DECLARE_NAPI_METHOD("grBackendtextureGetGlTextureinfo", grBackendtextureGetGlTextureinfo), DECLARE_NAPI_METHOD("grBackendrendertargetNewGl", grBackendrendertargetNewGl), DECLARE_NAPI_METHOD("grBackendrendertargetDelete", grBackendrendertargetDelete), DECLARE_NAPI_METHOD("grBackendrendertargetIsValid", grBackendrendertargetIsValid), DECLARE_NAPI_METHOD("grBackendrendertargetGetWidth", grBackendrendertargetGetWidth), DECLARE_NAPI_METHOD("grBackendrendertargetGetHeight", grBackendrendertargetGetHeight), DECLARE_NAPI_METHOD("grBackendrendertargetGetSamples", grBackendrendertargetGetSamples), DECLARE_NAPI_METHOD("grBackendrendertargetGetStencils", grBackendrendertargetGetStencils), DECLARE_NAPI_METHOD("grBackendrendertargetGetBackend", grBackendrendertargetGetBackend), DECLARE_NAPI_METHOD("grBackendrendertargetGetGlFramebufferinfo", grBackendrendertargetGetGlFramebufferinfo), DECLARE_NAPI_METHOD("skBitmapDestructor", skBitmapDestructor), DECLARE_NAPI_METHOD("skBitmapNew", skBitmapNew), DECLARE_NAPI_METHOD("skBitmapGetInfo", skBitmapGetInfo), DECLARE_NAPI_METHOD("skBitmapGetPixels", skBitmapGetPixels), DECLARE_NAPI_METHOD("skBitmapGetRowBytes", skBitmapGetRowBytes), DECLARE_NAPI_METHOD("skBitmapGetByteCount", skBitmapGetByteCount), DECLARE_NAPI_METHOD("skBitmapReset", skBitmapReset), DECLARE_NAPI_METHOD("skBitmapIsNull", skBitmapIsNull), DECLARE_NAPI_METHOD("skBitmapIsImmutable", skBitmapIsImmutable), DECLARE_NAPI_METHOD("skBitmapSetImmutable", skBitmapSetImmutable), DECLARE_NAPI_METHOD("skBitmapIsVolatile", skBitmapIsVolatile), DECLARE_NAPI_METHOD("skBitmapSetVolatile", skBitmapSetVolatile), DECLARE_NAPI_METHOD("skBitmapErase", skBitmapErase), DECLARE_NAPI_METHOD("skBitmapEraseRect", skBitmapEraseRect), DECLARE_NAPI_METHOD("skBitmapGetAddr_8", skBitmapGetAddr_8), DECLARE_NAPI_METHOD("skBitmapGetAddr_16", skBitmapGetAddr_16), DECLARE_NAPI_METHOD("skBitmapGetAddr_32", skBitmapGetAddr_32), DECLARE_NAPI_METHOD("skBitmapGetAddr", skBitmapGetAddr), DECLARE_NAPI_METHOD("skBitmapGetPixelColor", skBitmapGetPixelColor), DECLARE_NAPI_METHOD("skBitmapSetPixelColor", skBitmapSetPixelColor), DECLARE_NAPI_METHOD("skBitmapReadyToDraw", skBitmapReadyToDraw), DECLARE_NAPI_METHOD("skBitmapGetPixelColors", skBitmapGetPixelColors), DECLARE_NAPI_METHOD("skBitmapSetPixelColors", skBitmapSetPixelColors), DECLARE_NAPI_METHOD("skBitmapInstallPixels", skBitmapInstallPixels), DECLARE_NAPI_METHOD("skBitmapInstallPixelsWithPixmap", skBitmapInstallPixelsWithPixmap), DECLARE_NAPI_METHOD("skBitmapInstallMaskPixels", skBitmapInstallMaskPixels), DECLARE_NAPI_METHOD("skBitmapTryAllocPixels", skBitmapTryAllocPixels), DECLARE_NAPI_METHOD("skBitmapTryAllocPixelsWithFlags", skBitmapTryAllocPixelsWithFlags), DECLARE_NAPI_METHOD("skBitmapSetPixels", skBitmapSetPixels), DECLARE_NAPI_METHOD("skBitmapPeekPixels", skBitmapPeekPixels), DECLARE_NAPI_METHOD("skBitmapExtractSubset", skBitmapExtractSubset), DECLARE_NAPI_METHOD("skBitmapExtractAlpha", skBitmapExtractAlpha), DECLARE_NAPI_METHOD("skBitmapNotifyPixelsChanged", skBitmapNotifyPixelsChanged), DECLARE_NAPI_METHOD("skBitmapSwap", skBitmapSwap), DECLARE_NAPI_METHOD("skCanvasDestroy", skCanvasDestroy), DECLARE_NAPI_METHOD("skCanvasSave", skCanvasSave), DECLARE_NAPI_METHOD("skCanvasSaveLayer", skCanvasSaveLayer), DECLARE_NAPI_METHOD("skCanvasRestore", skCanvasRestore), DECLARE_NAPI_METHOD("skCanvasTranslate", skCanvasTranslate), DECLARE_NAPI_METHOD("skCanvasScale", skCanvasScale), DECLARE_NAPI_METHOD("skCanvasRotateDegrees", skCanvasRotateDegrees), DECLARE_NAPI_METHOD("skCanvasRotateRadians", skCanvasRotateRadians), DECLARE_NAPI_METHOD("skCanvasSkew", skCanvasSkew), DECLARE_NAPI_METHOD("skCanvasConcat", skCanvasConcat), DECLARE_NAPI_METHOD("skCanvasQuickReject", skCanvasQuickReject), DECLARE_NAPI_METHOD("skCanvasClipRegion", skCanvasClipRegion), DECLARE_NAPI_METHOD("skCanvasDrawPaint", skCanvasDrawPaint), DECLARE_NAPI_METHOD("skCanvasDrawRect", skCanvasDrawRect), DECLARE_NAPI_METHOD("skCanvasDrawRrect", skCanvasDrawRrect), DECLARE_NAPI_METHOD("skCanvasDrawRegion", skCanvasDrawRegion), DECLARE_NAPI_METHOD("skCanvasDrawCircle", skCanvasDrawCircle), DECLARE_NAPI_METHOD("skCanvasDrawOval", skCanvasDrawOval), DECLARE_NAPI_METHOD("skCanvasDrawPath", skCanvasDrawPath), DECLARE_NAPI_METHOD("skCanvasDrawImage", skCanvasDrawImage), DECLARE_NAPI_METHOD("skCanvasDrawImageRect", skCanvasDrawImageRect), DECLARE_NAPI_METHOD("skCanvasDrawPicture", skCanvasDrawPicture), DECLARE_NAPI_METHOD("skCanvasDrawDrawable", skCanvasDrawDrawable), DECLARE_NAPI_METHOD("skCanvasClear", skCanvasClear), DECLARE_NAPI_METHOD("skCanvasDiscard", skCanvasDiscard), DECLARE_NAPI_METHOD("skCanvasGetSaveCount", skCanvasGetSaveCount), DECLARE_NAPI_METHOD("skCanvasRestoreToCount", skCanvasRestoreToCount), DECLARE_NAPI_METHOD("skCanvasDrawColor", skCanvasDrawColor), DECLARE_NAPI_METHOD("skCanvasDrawPoints", skCanvasDrawPoints), DECLARE_NAPI_METHOD("skCanvasDrawPoint", skCanvasDrawPoint), DECLARE_NAPI_METHOD("skCanvasDrawLine", skCanvasDrawLine), DECLARE_NAPI_METHOD("skCanvasDrawText", skCanvasDrawText), DECLARE_NAPI_METHOD("skCanvasDrawPosText", skCanvasDrawPosText), DECLARE_NAPI_METHOD("skCanvasDrawTextOnPath", skCanvasDrawTextOnPath), DECLARE_NAPI_METHOD("skCanvasDrawTextBlob", skCanvasDrawTextBlob), DECLARE_NAPI_METHOD("skCanvasDrawBitmap", skCanvasDrawBitmap), DECLARE_NAPI_METHOD("skCanvasDrawBitmapRect", skCanvasDrawBitmapRect), DECLARE_NAPI_METHOD("skCanvasResetMatrix", skCanvasResetMatrix), DECLARE_NAPI_METHOD("skCanvasSetMatrix", skCanvasSetMatrix), DECLARE_NAPI_METHOD("skCanvasGetTotalMatrix", skCanvasGetTotalMatrix), DECLARE_NAPI_METHOD("skCanvasDrawRoundRect", skCanvasDrawRoundRect), DECLARE_NAPI_METHOD("skCanvasClipRectWithOperation", skCanvasClipRectWithOperation), DECLARE_NAPI_METHOD("skCanvasClipPathWithOperation", skCanvasClipPathWithOperation), DECLARE_NAPI_METHOD("skCanvasClipRrectWithOperation", skCanvasClipRrectWithOperation), DECLARE_NAPI_METHOD("skCanvasGetLocalClipBounds", skCanvasGetLocalClipBounds), DECLARE_NAPI_METHOD("skCanvasGetDeviceClipBounds", skCanvasGetDeviceClipBounds), DECLARE_NAPI_METHOD("skCanvasFlush", skCanvasFlush), DECLARE_NAPI_METHOD("skCanvasNewFromBitmap", skCanvasNewFromBitmap), DECLARE_NAPI_METHOD("skCanvasDrawAnnotation", skCanvasDrawAnnotation), DECLARE_NAPI_METHOD("skCanvasDrawUrlAnnotation", skCanvasDrawUrlAnnotation), DECLARE_NAPI_METHOD("skCanvasDrawNamedDestinationAnnotation", skCanvasDrawNamedDestinationAnnotation), DECLARE_NAPI_METHOD("skCanvasDrawLinkDestinationAnnotation", skCanvasDrawLinkDestinationAnnotation), DECLARE_NAPI_METHOD("skCanvasDrawBitmapLattice", skCanvasDrawBitmapLattice), DECLARE_NAPI_METHOD("skCanvasDrawImageLattice", skCanvasDrawImageLattice), DECLARE_NAPI_METHOD("skCanvasDrawBitmapNine", skCanvasDrawBitmapNine), DECLARE_NAPI_METHOD("skCanvasDrawImageNine", skCanvasDrawImageNine), DECLARE_NAPI_METHOD("skCanvasDrawVertices", skCanvasDrawVertices), DECLARE_NAPI_METHOD("skCanvasDrawArc", skCanvasDrawArc), DECLARE_NAPI_METHOD("skCanvasDrawDrrect", skCanvasDrawDrrect), DECLARE_NAPI_METHOD("skCanvasDrawAtlas", skCanvasDrawAtlas), DECLARE_NAPI_METHOD("skCanvasDrawPatch", skCanvasDrawPatch), DECLARE_NAPI_METHOD("skCanvasIsClipEmpty", skCanvasIsClipEmpty), DECLARE_NAPI_METHOD("skCanvasIsClipRect", skCanvasIsClipRect), DECLARE_NAPI_METHOD("skNodrawCanvasNew", skNodrawCanvasNew), DECLARE_NAPI_METHOD("skNodrawCanvasDestroy", skNodrawCanvasDestroy), DECLARE_NAPI_METHOD("skNwayCanvasNew", skNwayCanvasNew), DECLARE_NAPI_METHOD("skNwayCanvasDestroy", skNwayCanvasDestroy), DECLARE_NAPI_METHOD("skNwayCanvasAddCanvas", skNwayCanvasAddCanvas), DECLARE_NAPI_METHOD("skNwayCanvasRemoveCanvas", skNwayCanvasRemoveCanvas), DECLARE_NAPI_METHOD("skNwayCanvasRemoveAll", skNwayCanvasRemoveAll), DECLARE_NAPI_METHOD("skOverdrawCanvasNew", skOverdrawCanvasNew), DECLARE_NAPI_METHOD("skOverdrawCanvasDestroy", skOverdrawCanvasDestroy), DECLARE_NAPI_METHOD("skCodecMinBufferedBytesNeeded", skCodecMinBufferedBytesNeeded), DECLARE_NAPI_METHOD("skCodecNewFromStream", skCodecNewFromStream), DECLARE_NAPI_METHOD("skCodecNewFromData", skCodecNewFromData), DECLARE_NAPI_METHOD("skCodecDestroy", skCodecDestroy), DECLARE_NAPI_METHOD("skCodecGetInfo", skCodecGetInfo), DECLARE_NAPI_METHOD("skCodecGetOrigin", skCodecGetOrigin), DECLARE_NAPI_METHOD("skCodecGetScaledDimensions", skCodecGetScaledDimensions), DECLARE_NAPI_METHOD("skCodecGetValidSubset", skCodecGetValidSubset), DECLARE_NAPI_METHOD("skCodecGetEncodedFormat", skCodecGetEncodedFormat), DECLARE_NAPI_METHOD("skCodecGetPixels", skCodecGetPixels), DECLARE_NAPI_METHOD("skCodecStartIncrementalDecode", skCodecStartIncrementalDecode), DECLARE_NAPI_METHOD("skCodecIncrementalDecode", skCodecIncrementalDecode), DECLARE_NAPI_METHOD("skCodecStartScanlineDecode", skCodecStartScanlineDecode), DECLARE_NAPI_METHOD("skCodecGetScanlines", skCodecGetScanlines), DECLARE_NAPI_METHOD("skCodecSkipScanlines", skCodecSkipScanlines), DECLARE_NAPI_METHOD("skCodecGetScanlineOrder", skCodecGetScanlineOrder), DECLARE_NAPI_METHOD("skCodecNextScanline", skCodecNextScanline), DECLARE_NAPI_METHOD("skCodecOutputScanline", skCodecOutputScanline), DECLARE_NAPI_METHOD("skCodecGetFrameCount", skCodecGetFrameCount), DECLARE_NAPI_METHOD("skCodecGetFrameInfo", skCodecGetFrameInfo), DECLARE_NAPI_METHOD("skCodecGetFrameInfoForIndex", skCodecGetFrameInfoForIndex), DECLARE_NAPI_METHOD("skCodecGetRepetitionCount", skCodecGetRepetitionCount), DECLARE_NAPI_METHOD("skColorfilterUnref", skColorfilterUnref), DECLARE_NAPI_METHOD("skColorfilterNewMode", skColorfilterNewMode), DECLARE_NAPI_METHOD("skColorfilterNewLighting", skColorfilterNewLighting), DECLARE_NAPI_METHOD("skColorfilterNewCompose", skColorfilterNewCompose), DECLARE_NAPI_METHOD("skColorfilterNewColorMatrix", skColorfilterNewColorMatrix), DECLARE_NAPI_METHOD("skColorfilterNewLumaColor", skColorfilterNewLumaColor), DECLARE_NAPI_METHOD("skColorfilterNewHighContrast", skColorfilterNewHighContrast), DECLARE_NAPI_METHOD("skColorfilterNewTable", skColorfilterNewTable), DECLARE_NAPI_METHOD("skColorfilterNewTableArgb", skColorfilterNewTableArgb), DECLARE_NAPI_METHOD("skColorspaceUnref", skColorspaceUnref), DECLARE_NAPI_METHOD("skColorspaceNewSrgb", skColorspaceNewSrgb), DECLARE_NAPI_METHOD("skColorspaceNewSrgbLinear", skColorspaceNewSrgbLinear), DECLARE_NAPI_METHOD("skColorspaceNewIcc", skColorspaceNewIcc), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithGamma", skColorspaceNewRgbWithGamma), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithGammaAndGamut", skColorspaceNewRgbWithGammaAndGamut), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithCoeffs", skColorspaceNewRgbWithCoeffs), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithCoeffsAndGamut", skColorspaceNewRgbWithCoeffsAndGamut), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithGammaNamed", skColorspaceNewRgbWithGammaNamed), DECLARE_NAPI_METHOD("skColorspaceNewRgbWithGammaNamedAndGamut", skColorspaceNewRgbWithGammaNamedAndGamut), DECLARE_NAPI_METHOD("skColorspaceGammaGetType", skColorspaceGammaGetType), DECLARE_NAPI_METHOD("skColorspaceGammaGetGammaNamed", skColorspaceGammaGetGammaNamed), DECLARE_NAPI_METHOD("skColorspaceGammaCloseToSrgb", skColorspaceGammaCloseToSrgb), DECLARE_NAPI_METHOD("skColorspaceGammaIsLinear", skColorspaceGammaIsLinear), DECLARE_NAPI_METHOD("skColorspaceIsSrgb", skColorspaceIsSrgb), DECLARE_NAPI_METHOD("skColorspaceEquals", skColorspaceEquals), DECLARE_NAPI_METHOD("skColorspaceToXyzd50", skColorspaceToXyzd50), DECLARE_NAPI_METHOD("skColorspaceAsToXyzd50", skColorspaceAsToXyzd50), DECLARE_NAPI_METHOD("skColorspaceAsFromXyzd50", skColorspaceAsFromXyzd50), DECLARE_NAPI_METHOD("skColorspaceIsNumericalTransferFn", skColorspaceIsNumericalTransferFn), DECLARE_NAPI_METHOD("skColorspaceprimariesToXyzd50", skColorspaceprimariesToXyzd50), DECLARE_NAPI_METHOD("skColorspaceTransferFnInvert", skColorspaceTransferFnInvert), DECLARE_NAPI_METHOD("skColorspaceTransferFnTransform", skColorspaceTransferFnTransform), DECLARE_NAPI_METHOD("skColortableUnref", skColortableUnref), DECLARE_NAPI_METHOD("skColortableNew", skColortableNew), DECLARE_NAPI_METHOD("skColortableCount", skColortableCount), DECLARE_NAPI_METHOD("skColortableReadColors", skColortableReadColors), DECLARE_NAPI_METHOD("skDataNewEmpty", skDataNewEmpty), DECLARE_NAPI_METHOD("skDataNewWithCopy", skDataNewWithCopy), DECLARE_NAPI_METHOD("skDataNewSubset", skDataNewSubset), DECLARE_NAPI_METHOD("skDataRef", skDataRef), DECLARE_NAPI_METHOD("skDataUnref", skDataUnref), DECLARE_NAPI_METHOD("skDataGetSize", skDataGetSize), DECLARE_NAPI_METHOD("skDataGetData", skDataGetData), DECLARE_NAPI_METHOD("skDataNewFromFile", skDataNewFromFile), DECLARE_NAPI_METHOD("skDataNewFromStream", skDataNewFromStream), DECLARE_NAPI_METHOD("skDataGetBytes", skDataGetBytes), DECLARE_NAPI_METHOD("skDataNewWithProc", skDataNewWithProc), DECLARE_NAPI_METHOD("skDataNewUninitialized", skDataNewUninitialized), DECLARE_NAPI_METHOD("skDocumentUnref", skDocumentUnref), DECLARE_NAPI_METHOD("skDocumentCreatePdfFromStream", skDocumentCreatePdfFromStream), DECLARE_NAPI_METHOD("skDocumentCreatePdfFromStreamWithMetadata", skDocumentCreatePdfFromStreamWithMetadata), DECLARE_NAPI_METHOD("skDocumentCreateXpsFromStream", skDocumentCreateXpsFromStream), DECLARE_NAPI_METHOD("skDocumentBeginPage", skDocumentBeginPage), DECLARE_NAPI_METHOD("skDocumentEndPage", skDocumentEndPage), DECLARE_NAPI_METHOD("skDocumentClose", skDocumentClose), DECLARE_NAPI_METHOD("skDocumentAbort", skDocumentAbort), DECLARE_NAPI_METHOD("skDrawableUnref", skDrawableUnref), DECLARE_NAPI_METHOD("skDrawableGetGenerationId", skDrawableGetGenerationId), DECLARE_NAPI_METHOD("skDrawableGetBounds", skDrawableGetBounds), DECLARE_NAPI_METHOD("skDrawableDraw", skDrawableDraw), DECLARE_NAPI_METHOD("skDrawableNewPictureSnapshot", skDrawableNewPictureSnapshot), DECLARE_NAPI_METHOD("skDrawableNotifyDrawingChanged", skDrawableNotifyDrawingChanged), DECLARE_NAPI_METHOD("skRefcntUnique", skRefcntUnique), DECLARE_NAPI_METHOD("skRefcntGetRefCount", skRefcntGetRefCount), DECLARE_NAPI_METHOD("skRefcntSafeRef", skRefcntSafeRef), DECLARE_NAPI_METHOD("skRefcntSafeUnref", skRefcntSafeUnref), DECLARE_NAPI_METHOD("skNvrefcntUnique", skNvrefcntUnique), DECLARE_NAPI_METHOD("skNvrefcntGetRefCount", skNvrefcntGetRefCount), DECLARE_NAPI_METHOD("skNvrefcntSafeRef", skNvrefcntSafeRef), DECLARE_NAPI_METHOD("skNvrefcntSafeUnref", skNvrefcntSafeUnref), DECLARE_NAPI_METHOD("skColortypeGetDefault_8888", skColortypeGetDefault_8888), DECLARE_NAPI_METHOD("skImageNewRasterCopy", skImageNewRasterCopy), DECLARE_NAPI_METHOD("skImageNewRasterCopyWithPixmap", skImageNewRasterCopyWithPixmap), DECLARE_NAPI_METHOD("skImageNewRasterData", skImageNewRasterData), DECLARE_NAPI_METHOD("skImageNewRaster", skImageNewRaster), DECLARE_NAPI_METHOD("skImageNewFromBitmap", skImageNewFromBitmap), DECLARE_NAPI_METHOD("skImageNewFromEncoded", skImageNewFromEncoded), DECLARE_NAPI_METHOD("skImageNewFromTexture", skImageNewFromTexture), DECLARE_NAPI_METHOD("skImageNewFromAdoptedTexture", skImageNewFromAdoptedTexture), DECLARE_NAPI_METHOD("skImageNewFromPicture", skImageNewFromPicture), DECLARE_NAPI_METHOD("skImageMakeSubset", skImageMakeSubset), DECLARE_NAPI_METHOD("skImageMakeNonTextureImage", skImageMakeNonTextureImage), DECLARE_NAPI_METHOD("skImageMakeWithFilter", skImageMakeWithFilter), DECLARE_NAPI_METHOD("skImageRef", skImageRef), DECLARE_NAPI_METHOD("skImageUnref", skImageUnref), DECLARE_NAPI_METHOD("skImageGetWidth", skImageGetWidth), DECLARE_NAPI_METHOD("skImageGetHeight", skImageGetHeight), DECLARE_NAPI_METHOD("skImageGetUniqueId", skImageGetUniqueId), DECLARE_NAPI_METHOD("skImageGetAlphaType", skImageGetAlphaType), DECLARE_NAPI_METHOD("skImageGetColorType", skImageGetColorType), DECLARE_NAPI_METHOD("skImageGetColorspace", skImageGetColorspace), DECLARE_NAPI_METHOD("skImageIsAlphaOnly", skImageIsAlphaOnly), DECLARE_NAPI_METHOD("skImageMakeShader", skImageMakeShader), DECLARE_NAPI_METHOD("skImagePeekPixels", skImagePeekPixels), DECLARE_NAPI_METHOD("skImageIsTextureBacked", skImageIsTextureBacked), DECLARE_NAPI_METHOD("skImageIsLazyGenerated", skImageIsLazyGenerated), DECLARE_NAPI_METHOD("skImageReadPixels", skImageReadPixels), DECLARE_NAPI_METHOD("skImageReadPixelsIntoPixmap", skImageReadPixelsIntoPixmap), DECLARE_NAPI_METHOD("skImageScalePixels", skImageScalePixels), DECLARE_NAPI_METHOD("skImageRefEncoded", skImageRefEncoded), DECLARE_NAPI_METHOD("skImageEncode", skImageEncode), DECLARE_NAPI_METHOD("skImageEncodeSpecific", skImageEncodeSpecific), DECLARE_NAPI_METHOD("skImagefilterCroprectNew", skImagefilterCroprectNew), DECLARE_NAPI_METHOD("skImagefilterCroprectNewWithRect", skImagefilterCroprectNewWithRect), DECLARE_NAPI_METHOD("skImagefilterCroprectDestructor", skImagefilterCroprectDestructor), DECLARE_NAPI_METHOD("skImagefilterCroprectGetRect", skImagefilterCroprectGetRect), DECLARE_NAPI_METHOD("skImagefilterCroprectGetFlags", skImagefilterCroprectGetFlags), DECLARE_NAPI_METHOD("skImagefilterUnref", skImagefilterUnref), DECLARE_NAPI_METHOD("skImagefilterNewMatrix", skImagefilterNewMatrix), DECLARE_NAPI_METHOD("skImagefilterNewAlphaThreshold", skImagefilterNewAlphaThreshold), DECLARE_NAPI_METHOD("skImagefilterNewBlur", skImagefilterNewBlur), DECLARE_NAPI_METHOD("skImagefilterNewColorFilter", skImagefilterNewColorFilter), DECLARE_NAPI_METHOD("skImagefilterNewCompose", skImagefilterNewCompose), DECLARE_NAPI_METHOD("skImagefilterNewDisplacementMapEffect", skImagefilterNewDisplacementMapEffect), DECLARE_NAPI_METHOD("skImagefilterNewDropShadow", skImagefilterNewDropShadow), DECLARE_NAPI_METHOD("skImagefilterNewDistantLitDiffuse", skImagefilterNewDistantLitDiffuse), DECLARE_NAPI_METHOD("skImagefilterNewPointLitDiffuse", skImagefilterNewPointLitDiffuse), DECLARE_NAPI_METHOD("skImagefilterNewSpotLitDiffuse", skImagefilterNewSpotLitDiffuse), DECLARE_NAPI_METHOD("skImagefilterNewDistantLitSpecular", skImagefilterNewDistantLitSpecular), DECLARE_NAPI_METHOD("skImagefilterNewPointLitSpecular", skImagefilterNewPointLitSpecular), DECLARE_NAPI_METHOD("skImagefilterNewSpotLitSpecular", skImagefilterNewSpotLitSpecular), DECLARE_NAPI_METHOD("skImagefilterNewMagnifier", skImagefilterNewMagnifier), DECLARE_NAPI_METHOD("skImagefilterNewMatrixConvolution", skImagefilterNewMatrixConvolution), DECLARE_NAPI_METHOD("skImagefilterNewMerge", skImagefilterNewMerge), DECLARE_NAPI_METHOD("skImagefilterNewDilate", skImagefilterNewDilate), DECLARE_NAPI_METHOD("skImagefilterNewErode", skImagefilterNewErode), DECLARE_NAPI_METHOD("skImagefilterNewOffset", skImagefilterNewOffset), DECLARE_NAPI_METHOD("skImagefilterNewPicture", skImagefilterNewPicture), DECLARE_NAPI_METHOD("skImagefilterNewPictureWithCroprect", skImagefilterNewPictureWithCroprect), DECLARE_NAPI_METHOD("skImagefilterNewTile", skImagefilterNewTile), DECLARE_NAPI_METHOD("skImagefilterNewXfermode", skImagefilterNewXfermode), DECLARE_NAPI_METHOD("skImagefilterNewArithmetic", skImagefilterNewArithmetic), DECLARE_NAPI_METHOD("skImagefilterNewImageSource", skImagefilterNewImageSource), DECLARE_NAPI_METHOD("skImagefilterNewImageSourceDefault", skImagefilterNewImageSourceDefault), DECLARE_NAPI_METHOD("skImagefilterNewPaint", skImagefilterNewPaint), DECLARE_NAPI_METHOD("skMaskAllocImage", skMaskAllocImage), DECLARE_NAPI_METHOD("skMaskFreeImage", skMaskFreeImage), DECLARE_NAPI_METHOD("skMaskIsEmpty", skMaskIsEmpty), DECLARE_NAPI_METHOD("skMaskComputeImageSize", skMaskComputeImageSize), DECLARE_NAPI_METHOD("skMaskComputeTotalImageSize", skMaskComputeTotalImageSize), DECLARE_NAPI_METHOD("skMaskGetAddr_1", skMaskGetAddr_1), DECLARE_NAPI_METHOD("skMaskGetAddr_8", skMaskGetAddr_8), DECLARE_NAPI_METHOD("skMaskGetAddrLcd_16", skMaskGetAddrLcd_16), DECLARE_NAPI_METHOD("skMaskGetAddr_32", skMaskGetAddr_32), DECLARE_NAPI_METHOD("skMaskGetAddr", skMaskGetAddr), DECLARE_NAPI_METHOD("skMaskfilterRef", skMaskfilterRef), DECLARE_NAPI_METHOD("skMaskfilterUnref", skMaskfilterUnref), DECLARE_NAPI_METHOD("skMaskfilterNewBlur", skMaskfilterNewBlur), DECLARE_NAPI_METHOD("skMaskfilterNewBlurWithFlags", skMaskfilterNewBlurWithFlags), DECLARE_NAPI_METHOD("skMaskfilterNewTable", skMaskfilterNewTable), DECLARE_NAPI_METHOD("skMaskfilterNewGamma", skMaskfilterNewGamma), DECLARE_NAPI_METHOD("skMaskfilterNewClip", skMaskfilterNewClip), DECLARE_NAPI_METHOD("skMatrixTryInvert", skMatrixTryInvert), DECLARE_NAPI_METHOD("skMatrixConcat", skMatrixConcat), DECLARE_NAPI_METHOD("skMatrixPreConcat", skMatrixPreConcat), DECLARE_NAPI_METHOD("skMatrixPostConcat", skMatrixPostConcat), DECLARE_NAPI_METHOD("skMatrixMapRect", skMatrixMapRect), DECLARE_NAPI_METHOD("skMatrixMapPoints", skMatrixMapPoints), DECLARE_NAPI_METHOD("skMatrixMapVectors", skMatrixMapVectors), DECLARE_NAPI_METHOD("skMatrixMapXy", skMatrixMapXy), DECLARE_NAPI_METHOD("skMatrixMapVector", skMatrixMapVector), DECLARE_NAPI_METHOD("skMatrixMapRadius", skMatrixMapRadius), DECLARE_NAPI_METHOD("sk_3dviewNew", sk_3dviewNew), DECLARE_NAPI_METHOD("sk_3dviewDestroy", sk_3dviewDestroy), DECLARE_NAPI_METHOD("sk_3dviewSave", sk_3dviewSave), DECLARE_NAPI_METHOD("sk_3dviewRestore", sk_3dviewRestore), DECLARE_NAPI_METHOD("sk_3dviewTranslate", sk_3dviewTranslate), DECLARE_NAPI_METHOD("sk_3dviewRotateXDegrees", sk_3dviewRotateXDegrees), DECLARE_NAPI_METHOD("sk_3dviewRotateYDegrees", sk_3dviewRotateYDegrees), DECLARE_NAPI_METHOD("sk_3dviewRotateZDegrees", sk_3dviewRotateZDegrees), DECLARE_NAPI_METHOD("sk_3dviewRotateXRadians", sk_3dviewRotateXRadians), DECLARE_NAPI_METHOD("sk_3dviewRotateYRadians", sk_3dviewRotateYRadians), DECLARE_NAPI_METHOD("sk_3dviewRotateZRadians", sk_3dviewRotateZRadians), DECLARE_NAPI_METHOD("sk_3dviewGetMatrix", sk_3dviewGetMatrix), DECLARE_NAPI_METHOD("sk_3dviewApplyToCanvas", sk_3dviewApplyToCanvas), DECLARE_NAPI_METHOD("sk_3dviewDotWithNormal", sk_3dviewDotWithNormal), DECLARE_NAPI_METHOD("skMatrix44Destroy", skMatrix44Destroy), DECLARE_NAPI_METHOD("skMatrix44New", skMatrix44New), DECLARE_NAPI_METHOD("skMatrix44NewIdentity", skMatrix44NewIdentity), DECLARE_NAPI_METHOD("skMatrix44NewCopy", skMatrix44NewCopy), DECLARE_NAPI_METHOD("skMatrix44NewConcat", skMatrix44NewConcat), DECLARE_NAPI_METHOD("skMatrix44NewMatrix", skMatrix44NewMatrix), DECLARE_NAPI_METHOD("skMatrix44Equals", skMatrix44Equals), DECLARE_NAPI_METHOD("skMatrix44ToMatrix", skMatrix44ToMatrix), DECLARE_NAPI_METHOD("skMatrix44GetType", skMatrix44GetType), DECLARE_NAPI_METHOD("skMatrix44SetIdentity", skMatrix44SetIdentity), DECLARE_NAPI_METHOD("skMatrix44Get", skMatrix44Get), DECLARE_NAPI_METHOD("skMatrix44Set", skMatrix44Set), DECLARE_NAPI_METHOD("skMatrix44AsColMajor", skMatrix44AsColMajor), DECLARE_NAPI_METHOD("skMatrix44AsRowMajor", skMatrix44AsRowMajor), DECLARE_NAPI_METHOD("skMatrix44SetColMajor", skMatrix44SetColMajor), DECLARE_NAPI_METHOD("skMatrix44SetRowMajor", skMatrix44SetRowMajor), DECLARE_NAPI_METHOD("skMatrix44SetTranslate", skMatrix44SetTranslate), DECLARE_NAPI_METHOD("skMatrix44PreTranslate", skMatrix44PreTranslate), DECLARE_NAPI_METHOD("skMatrix44PostTranslate", skMatrix44PostTranslate), DECLARE_NAPI_METHOD("skMatrix44SetScale", skMatrix44SetScale), DECLARE_NAPI_METHOD("skMatrix44PreScale", skMatrix44PreScale), DECLARE_NAPI_METHOD("skMatrix44PostScale", skMatrix44PostScale), DECLARE_NAPI_METHOD("skMatrix44SetRotateAboutDegrees", skMatrix44SetRotateAboutDegrees), DECLARE_NAPI_METHOD("skMatrix44SetRotateAboutRadians", skMatrix44SetRotateAboutRadians), DECLARE_NAPI_METHOD("skMatrix44SetRotateAboutRadiansUnit", skMatrix44SetRotateAboutRadiansUnit), DECLARE_NAPI_METHOD("skMatrix44SetConcat", skMatrix44SetConcat), DECLARE_NAPI_METHOD("skMatrix44PreConcat", skMatrix44PreConcat), DECLARE_NAPI_METHOD("skMatrix44PostConcat", skMatrix44PostConcat), DECLARE_NAPI_METHOD("skMatrix44Invert", skMatrix44Invert), DECLARE_NAPI_METHOD("skMatrix44Transpose", skMatrix44Transpose), DECLARE_NAPI_METHOD("skMatrix44MapScalars", skMatrix44MapScalars), DECLARE_NAPI_METHOD("skMatrix44Map2", skMatrix44Map2), DECLARE_NAPI_METHOD("skMatrix44Preserves_2dAxisAlignment", skMatrix44Preserves_2dAxisAlignment), DECLARE_NAPI_METHOD("skMatrix44Determinant", skMatrix44Determinant), DECLARE_NAPI_METHOD("skPaintNew", skPaintNew), DECLARE_NAPI_METHOD("skPaintClone", skPaintClone), DECLARE_NAPI_METHOD("skPaintDelete", skPaintDelete), DECLARE_NAPI_METHOD("skPaintReset", skPaintReset), DECLARE_NAPI_METHOD("skPaintIsAntialias", skPaintIsAntialias), DECLARE_NAPI_METHOD("skPaintSetAntialias", skPaintSetAntialias), DECLARE_NAPI_METHOD("skPaintGetColor", skPaintGetColor), DECLARE_NAPI_METHOD("skPaintSetColor", skPaintSetColor), DECLARE_NAPI_METHOD("skPaintGetStyle", skPaintGetStyle), DECLARE_NAPI_METHOD("skPaintSetStyle", skPaintSetStyle), DECLARE_NAPI_METHOD("skPaintGetStrokeWidth", skPaintGetStrokeWidth), DECLARE_NAPI_METHOD("skPaintSetStrokeWidth", skPaintSetStrokeWidth), DECLARE_NAPI_METHOD("skPaintGetStrokeMiter", skPaintGetStrokeMiter), DECLARE_NAPI_METHOD("skPaintSetStrokeMiter", skPaintSetStrokeMiter), DECLARE_NAPI_METHOD("skPaintGetStrokeCap", skPaintGetStrokeCap), DECLARE_NAPI_METHOD("skPaintSetStrokeCap", skPaintSetStrokeCap), DECLARE_NAPI_METHOD("skPaintGetStrokeJoin", skPaintGetStrokeJoin), DECLARE_NAPI_METHOD("skPaintSetStrokeJoin", skPaintSetStrokeJoin), DECLARE_NAPI_METHOD("skPaintSetShader", skPaintSetShader), DECLARE_NAPI_METHOD("skPaintSetMaskfilter", skPaintSetMaskfilter), DECLARE_NAPI_METHOD("skPaintSetBlendmode", skPaintSetBlendmode), DECLARE_NAPI_METHOD("skPaintIsDither", skPaintIsDither), DECLARE_NAPI_METHOD("skPaintSetDither", skPaintSetDither), DECLARE_NAPI_METHOD("skPaintIsVerticaltext", skPaintIsVerticaltext), DECLARE_NAPI_METHOD("skPaintSetVerticaltext", skPaintSetVerticaltext), DECLARE_NAPI_METHOD("skPaintGetShader", skPaintGetShader), DECLARE_NAPI_METHOD("skPaintGetMaskfilter", skPaintGetMaskfilter), DECLARE_NAPI_METHOD("skPaintSetColorfilter", skPaintSetColorfilter), DECLARE_NAPI_METHOD("skPaintGetColorfilter", skPaintGetColorfilter), DECLARE_NAPI_METHOD("skPaintSetImagefilter", skPaintSetImagefilter), DECLARE_NAPI_METHOD("skPaintGetImagefilter", skPaintGetImagefilter), DECLARE_NAPI_METHOD("skPaintGetBlendmode", skPaintGetBlendmode), DECLARE_NAPI_METHOD("skPaintSetFilterQuality", skPaintSetFilterQuality), DECLARE_NAPI_METHOD("skPaintGetFilterQuality", skPaintGetFilterQuality), DECLARE_NAPI_METHOD("skPaintGetTypeface", skPaintGetTypeface), DECLARE_NAPI_METHOD("skPaintSetTypeface", skPaintSetTypeface), DECLARE_NAPI_METHOD("skPaintGetTextsize", skPaintGetTextsize), DECLARE_NAPI_METHOD("skPaintSetTextsize", skPaintSetTextsize), DECLARE_NAPI_METHOD("skPaintGetTextAlign", skPaintGetTextAlign), DECLARE_NAPI_METHOD("skPaintSetTextAlign", skPaintSetTextAlign), DECLARE_NAPI_METHOD("skPaintGetTextEncoding", skPaintGetTextEncoding), DECLARE_NAPI_METHOD("skPaintSetTextEncoding", skPaintSetTextEncoding), DECLARE_NAPI_METHOD("skPaintGetTextScaleX", skPaintGetTextScaleX), DECLARE_NAPI_METHOD("skPaintSetTextScaleX", skPaintSetTextScaleX), DECLARE_NAPI_METHOD("skPaintGetTextSkewX", skPaintGetTextSkewX), DECLARE_NAPI_METHOD("skPaintSetTextSkewX", skPaintSetTextSkewX), DECLARE_NAPI_METHOD("skPaintBreakText", skPaintBreakText), DECLARE_NAPI_METHOD("skPaintMeasureText", skPaintMeasureText), DECLARE_NAPI_METHOD("skPaintGetTextPath", skPaintGetTextPath), DECLARE_NAPI_METHOD("skPaintGetPosTextPath", skPaintGetPosTextPath), DECLARE_NAPI_METHOD("skPaintGetFontmetrics", skPaintGetFontmetrics), DECLARE_NAPI_METHOD("skPaintGetPathEffect", skPaintGetPathEffect), DECLARE_NAPI_METHOD("skPaintSetPathEffect", skPaintSetPathEffect), DECLARE_NAPI_METHOD("skPaintIsLinearText", skPaintIsLinearText), DECLARE_NAPI_METHOD("skPaintSetLinearText", skPaintSetLinearText), DECLARE_NAPI_METHOD("skPaintIsSubpixelText", skPaintIsSubpixelText), DECLARE_NAPI_METHOD("skPaintSetSubpixelText", skPaintSetSubpixelText), DECLARE_NAPI_METHOD("skPaintIsLcdRenderText", skPaintIsLcdRenderText), DECLARE_NAPI_METHOD("skPaintSetLcdRenderText", skPaintSetLcdRenderText), DECLARE_NAPI_METHOD("skPaintIsEmbeddedBitmapText", skPaintIsEmbeddedBitmapText), DECLARE_NAPI_METHOD("skPaintSetEmbeddedBitmapText", skPaintSetEmbeddedBitmapText), DECLARE_NAPI_METHOD("skPaintGetHinting", skPaintGetHinting), DECLARE_NAPI_METHOD("skPaintSetHinting", skPaintSetHinting), DECLARE_NAPI_METHOD("skPaintIsAutohinted", skPaintIsAutohinted), DECLARE_NAPI_METHOD("skPaintSetAutohinted", skPaintSetAutohinted), DECLARE_NAPI_METHOD("skPaintIsFakeBoldText", skPaintIsFakeBoldText), DECLARE_NAPI_METHOD("skPaintSetFakeBoldText", skPaintSetFakeBoldText), DECLARE_NAPI_METHOD("skPaintIsDevKernText", skPaintIsDevKernText), DECLARE_NAPI_METHOD("skPaintSetDevKernText", skPaintSetDevKernText), DECLARE_NAPI_METHOD("skPaintGetFillPath", skPaintGetFillPath), DECLARE_NAPI_METHOD("skPaintTextToGlyphs", skPaintTextToGlyphs), DECLARE_NAPI_METHOD("skPaintContainsText", skPaintContainsText), DECLARE_NAPI_METHOD("skPaintCountText", skPaintCountText), DECLARE_NAPI_METHOD("skPaintGetTextWidths", skPaintGetTextWidths), DECLARE_NAPI_METHOD("skPaintGetTextIntercepts", skPaintGetTextIntercepts), DECLARE_NAPI_METHOD("skPaintGetPosTextIntercepts", skPaintGetPosTextIntercepts), DECLARE_NAPI_METHOD("skPaintGetPosTextHIntercepts", skPaintGetPosTextHIntercepts), DECLARE_NAPI_METHOD("skPaintGetPosTextBlobIntercepts", skPaintGetPosTextBlobIntercepts), DECLARE_NAPI_METHOD("skPathNew", skPathNew), DECLARE_NAPI_METHOD("skPathDelete", skPathDelete), DECLARE_NAPI_METHOD("skPathMoveTo", skPathMoveTo), DECLARE_NAPI_METHOD("skPathLineTo", skPathLineTo), DECLARE_NAPI_METHOD("skPathQuadTo", skPathQuadTo), DECLARE_NAPI_METHOD("skPathConicTo", skPathConicTo), DECLARE_NAPI_METHOD("skPathCubicTo", skPathCubicTo), DECLARE_NAPI_METHOD("skPathArcTo", skPathArcTo), DECLARE_NAPI_METHOD("skPathRarcTo", skPathRarcTo), DECLARE_NAPI_METHOD("skPathArcToWithOval", skPathArcToWithOval), DECLARE_NAPI_METHOD("skPathArcToWithPoints", skPathArcToWithPoints), DECLARE_NAPI_METHOD("skPathClose", skPathClose), DECLARE_NAPI_METHOD("skPathAddRect", skPathAddRect), DECLARE_NAPI_METHOD("skPathAddRrect", skPathAddRrect), DECLARE_NAPI_METHOD("skPathAddRrectStart", skPathAddRrectStart), DECLARE_NAPI_METHOD("skPathAddRoundedRect", skPathAddRoundedRect), DECLARE_NAPI_METHOD("skPathAddOval", skPathAddOval), DECLARE_NAPI_METHOD("skPathAddCircle", skPathAddCircle), DECLARE_NAPI_METHOD("skPathGetBounds", skPathGetBounds), DECLARE_NAPI_METHOD("skPathComputeTightBounds", skPathComputeTightBounds), DECLARE_NAPI_METHOD("skPathRmoveTo", skPathRmoveTo), DECLARE_NAPI_METHOD("skPathRlineTo", skPathRlineTo), DECLARE_NAPI_METHOD("skPathRquadTo", skPathRquadTo), DECLARE_NAPI_METHOD("skPathRconicTo", skPathRconicTo), DECLARE_NAPI_METHOD("skPathRcubicTo", skPathRcubicTo), DECLARE_NAPI_METHOD("skPathAddRectStart", skPathAddRectStart), DECLARE_NAPI_METHOD("skPathAddArc", skPathAddArc), DECLARE_NAPI_METHOD("skPathGetFilltype", skPathGetFilltype), DECLARE_NAPI_METHOD("skPathSetFilltype", skPathSetFilltype), DECLARE_NAPI_METHOD("skPathTransform", skPathTransform), DECLARE_NAPI_METHOD("skPathClone", skPathClone), DECLARE_NAPI_METHOD("skPathAddPathOffset", skPathAddPathOffset), DECLARE_NAPI_METHOD("skPathAddPathMatrix", skPathAddPathMatrix), DECLARE_NAPI_METHOD("skPathAddPath", skPathAddPath), DECLARE_NAPI_METHOD("skPathAddPathReverse", skPathAddPathReverse), DECLARE_NAPI_METHOD("skPathReset", skPathReset), DECLARE_NAPI_METHOD("skPathRewind", skPathRewind), DECLARE_NAPI_METHOD("skPathCountPoints", skPathCountPoints), DECLARE_NAPI_METHOD("skPathCountVerbs", skPathCountVerbs), DECLARE_NAPI_METHOD("skPathGetPoint", skPathGetPoint), DECLARE_NAPI_METHOD("skPathGetPoints", skPathGetPoints), DECLARE_NAPI_METHOD("skPathContains", skPathContains), DECLARE_NAPI_METHOD("skPathGetConvexity", skPathGetConvexity), DECLARE_NAPI_METHOD("skPathSetConvexity", skPathSetConvexity), DECLARE_NAPI_METHOD("skPathParseSvgString", skPathParseSvgString), DECLARE_NAPI_METHOD("skPathToSvgString", skPathToSvgString), DECLARE_NAPI_METHOD("skPathGetLastPoint", skPathGetLastPoint), DECLARE_NAPI_METHOD("skPathConvertConicToQuads", skPathConvertConicToQuads), DECLARE_NAPI_METHOD("skPathAddPoly", skPathAddPoly), DECLARE_NAPI_METHOD("skPathGetSegmentMasks", skPathGetSegmentMasks), DECLARE_NAPI_METHOD("skPathIsOval", skPathIsOval), DECLARE_NAPI_METHOD("skPathIsRrect", skPathIsRrect), DECLARE_NAPI_METHOD("skPathIsLine", skPathIsLine), DECLARE_NAPI_METHOD("skPathIsRect", skPathIsRect), DECLARE_NAPI_METHOD("skPathCreateIter", skPathCreateIter), DECLARE_NAPI_METHOD("skPathIterNext", skPathIterNext), DECLARE_NAPI_METHOD("skPathIterConicWeight", skPathIterConicWeight), DECLARE_NAPI_METHOD("skPathIterIsCloseLine", skPathIterIsCloseLine), DECLARE_NAPI_METHOD("skPathIterIsClosedContour", skPathIterIsClosedContour), DECLARE_NAPI_METHOD("skPathIterDestroy", skPathIterDestroy), DECLARE_NAPI_METHOD("skPathCreateRawiter", skPathCreateRawiter), DECLARE_NAPI_METHOD("skPathRawiterPeek", skPathRawiterPeek), DECLARE_NAPI_METHOD("skPathRawiterNext", skPathRawiterNext), DECLARE_NAPI_METHOD("skPathRawiterConicWeight", skPathRawiterConicWeight), DECLARE_NAPI_METHOD("skPathRawiterDestroy", skPathRawiterDestroy), DECLARE_NAPI_METHOD("skPathopOp", skPathopOp), DECLARE_NAPI_METHOD("skPathopSimplify", skPathopSimplify), DECLARE_NAPI_METHOD("skPathopTightBounds", skPathopTightBounds), DECLARE_NAPI_METHOD("skOpbuilderNew", skOpbuilderNew), DECLARE_NAPI_METHOD("skOpbuilderDestroy", skOpbuilderDestroy), DECLARE_NAPI_METHOD("skOpbuilderAdd", skOpbuilderAdd), DECLARE_NAPI_METHOD("skOpbuilderResolve", skOpbuilderResolve), DECLARE_NAPI_METHOD("skPathmeasureNew", skPathmeasureNew), DECLARE_NAPI_METHOD("skPathmeasureNewWithPath", skPathmeasureNewWithPath), DECLARE_NAPI_METHOD("skPathmeasureDestroy", skPathmeasureDestroy), DECLARE_NAPI_METHOD("skPathmeasureSetPath", skPathmeasureSetPath), DECLARE_NAPI_METHOD("skPathmeasureGetLength", skPathmeasureGetLength), DECLARE_NAPI_METHOD("skPathmeasureGetPosTan", skPathmeasureGetPosTan), DECLARE_NAPI_METHOD("skPathmeasureGetMatrix", skPathmeasureGetMatrix), DECLARE_NAPI_METHOD("skPathmeasureGetSegment", skPathmeasureGetSegment), DECLARE_NAPI_METHOD("skPathmeasureIsClosed", skPathmeasureIsClosed), DECLARE_NAPI_METHOD("skPathmeasureNextContour", skPathmeasureNextContour), DECLARE_NAPI_METHOD("skPathEffectUnref", skPathEffectUnref), DECLARE_NAPI_METHOD("skPathEffectCreateCompose", skPathEffectCreateCompose), DECLARE_NAPI_METHOD("skPathEffectCreateSum", skPathEffectCreateSum), DECLARE_NAPI_METHOD("skPathEffectCreateDiscrete", skPathEffectCreateDiscrete), DECLARE_NAPI_METHOD("skPathEffectCreateCorner", skPathEffectCreateCorner), DECLARE_NAPI_METHOD("skPathEffectCreate_1dPath", skPathEffectCreate_1dPath), DECLARE_NAPI_METHOD("skPathEffectCreate_2dLine", skPathEffectCreate_2dLine), DECLARE_NAPI_METHOD("skPathEffectCreate_2dPath", skPathEffectCreate_2dPath), DECLARE_NAPI_METHOD("skPathEffectCreateDash", skPathEffectCreateDash), DECLARE_NAPI_METHOD("skPathEffectCreateTrim", skPathEffectCreateTrim), DECLARE_NAPI_METHOD("skPictureRecorderNew", skPictureRecorderNew), DECLARE_NAPI_METHOD("skPictureRecorderDelete", skPictureRecorderDelete), DECLARE_NAPI_METHOD("skPictureRecorderBeginRecording", skPictureRecorderBeginRecording), DECLARE_NAPI_METHOD("skPictureRecorderEndRecording", skPictureRecorderEndRecording), DECLARE_NAPI_METHOD("skPictureRecorderEndRecordingAsDrawable", skPictureRecorderEndRecordingAsDrawable), DECLARE_NAPI_METHOD("skPictureGetRecordingCanvas", skPictureGetRecordingCanvas), DECLARE_NAPI_METHOD("skPictureRef", skPictureRef), DECLARE_NAPI_METHOD("skPictureUnref", skPictureUnref), DECLARE_NAPI_METHOD("skPictureGetUniqueId", skPictureGetUniqueId), DECLARE_NAPI_METHOD("skPictureGetCullRect", skPictureGetCullRect), DECLARE_NAPI_METHOD("skPixmapDestructor", skPixmapDestructor), DECLARE_NAPI_METHOD("skPixmapNew", skPixmapNew), DECLARE_NAPI_METHOD("skPixmapNewWithParams", skPixmapNewWithParams), DECLARE_NAPI_METHOD("skPixmapReset", skPixmapReset), DECLARE_NAPI_METHOD("skPixmapResetWithParams", skPixmapResetWithParams), DECLARE_NAPI_METHOD("skPixmapGetInfo", skPixmapGetInfo), DECLARE_NAPI_METHOD("skPixmapGetRowBytes", skPixmapGetRowBytes), DECLARE_NAPI_METHOD("skPixmapGetPixels", skPixmapGetPixels), DECLARE_NAPI_METHOD("skPixmapGetPixelsWithXy", skPixmapGetPixelsWithXy), DECLARE_NAPI_METHOD("skPixmapGetPixelColor", skPixmapGetPixelColor), DECLARE_NAPI_METHOD("skPixmapEncodeImage", skPixmapEncodeImage), DECLARE_NAPI_METHOD("skPixmapReadPixels", skPixmapReadPixels), DECLARE_NAPI_METHOD("skPixmapScalePixels", skPixmapScalePixels), DECLARE_NAPI_METHOD("skPixmapExtractSubset", skPixmapExtractSubset), DECLARE_NAPI_METHOD("skPixmapEraseColor", skPixmapEraseColor), DECLARE_NAPI_METHOD("skColorUnpremultiply", skColorUnpremultiply), DECLARE_NAPI_METHOD("skColorPremultiply", skColorPremultiply), DECLARE_NAPI_METHOD("skColorUnpremultiplyArray", skColorUnpremultiplyArray), DECLARE_NAPI_METHOD("skColorPremultiplyArray", skColorPremultiplyArray), DECLARE_NAPI_METHOD("skColorGetBitShift", skColorGetBitShift), DECLARE_NAPI_METHOD("skSwizzleSwapRb", skSwizzleSwapRb), DECLARE_NAPI_METHOD("skWebpencoderEncode", skWebpencoderEncode), DECLARE_NAPI_METHOD("skJpegencoderEncode", skJpegencoderEncode), DECLARE_NAPI_METHOD("skPngencoderEncode", skPngencoderEncode), DECLARE_NAPI_METHOD("skRegionNew", skRegionNew), DECLARE_NAPI_METHOD("skRegionNew2", skRegionNew2), DECLARE_NAPI_METHOD("skRegionDelete", skRegionDelete), DECLARE_NAPI_METHOD("skRegionContains", skRegionContains), DECLARE_NAPI_METHOD("skRegionContains2", skRegionContains2), DECLARE_NAPI_METHOD("skRegionIntersectsRect", skRegionIntersectsRect), DECLARE_NAPI_METHOD("skRegionIntersects", skRegionIntersects), DECLARE_NAPI_METHOD("skRegionSetPath", skRegionSetPath), DECLARE_NAPI_METHOD("skRegionSetRect", skRegionSetRect), DECLARE_NAPI_METHOD("skRegionSetRegion", skRegionSetRegion), DECLARE_NAPI_METHOD("skRegionOp", skRegionOp), DECLARE_NAPI_METHOD("skRegionOp2", skRegionOp2), DECLARE_NAPI_METHOD("skRegionGetBounds", skRegionGetBounds), DECLARE_NAPI_METHOD("skRrectNew", skRrectNew), DECLARE_NAPI_METHOD("skRrectNewCopy", skRrectNewCopy), DECLARE_NAPI_METHOD("skRrectDelete", skRrectDelete), DECLARE_NAPI_METHOD("skRrectGetType", skRrectGetType), DECLARE_NAPI_METHOD("skRrectGetRect", skRrectGetRect), DECLARE_NAPI_METHOD("skRrectGetRadii", skRrectGetRadii), DECLARE_NAPI_METHOD("skRrectGetWidth", skRrectGetWidth), DECLARE_NAPI_METHOD("skRrectGetHeight", skRrectGetHeight), DECLARE_NAPI_METHOD("skRrectSetEmpty", skRrectSetEmpty), DECLARE_NAPI_METHOD("skRrectSetRect", skRrectSetRect), DECLARE_NAPI_METHOD("skRrectSetOval", skRrectSetOval), DECLARE_NAPI_METHOD("skRrectSetRectXy", skRrectSetRectXy), DECLARE_NAPI_METHOD("skRrectSetNinePatch", skRrectSetNinePatch), DECLARE_NAPI_METHOD("skRrectSetRectRadii", skRrectSetRectRadii), DECLARE_NAPI_METHOD("skRrectInset", skRrectInset), DECLARE_NAPI_METHOD("skRrectOutset", skRrectOutset), DECLARE_NAPI_METHOD("skRrectOffset", skRrectOffset), DECLARE_NAPI_METHOD("skRrectContains", skRrectContains), DECLARE_NAPI_METHOD("skRrectIsValid", skRrectIsValid), DECLARE_NAPI_METHOD("skRrectTransform", skRrectTransform), DECLARE_NAPI_METHOD("skShaderRef", skShaderRef), DECLARE_NAPI_METHOD("skShaderUnref", skShaderUnref), DECLARE_NAPI_METHOD("skShaderNewLinearGradient", skShaderNewLinearGradient), DECLARE_NAPI_METHOD("skShaderNewRadialGradient", skShaderNewRadialGradient), DECLARE_NAPI_METHOD("skShaderNewSweepGradient", skShaderNewSweepGradient), DECLARE_NAPI_METHOD("skShaderNewTwoPointConicalGradient", skShaderNewTwoPointConicalGradient), DECLARE_NAPI_METHOD("skShaderNewEmpty", skShaderNewEmpty), DECLARE_NAPI_METHOD("skShaderNewColor", skShaderNewColor), DECLARE_NAPI_METHOD("skShaderNewBitmap", skShaderNewBitmap), DECLARE_NAPI_METHOD("skShaderNewPicture", skShaderNewPicture), DECLARE_NAPI_METHOD("skShaderNewLocalMatrix", skShaderNewLocalMatrix), DECLARE_NAPI_METHOD("skShaderNewColorFilter", skShaderNewColorFilter), DECLARE_NAPI_METHOD("skShaderNewPerlinNoiseFractalNoise", skShaderNewPerlinNoiseFractalNoise), DECLARE_NAPI_METHOD("skShaderNewPerlinNoiseTurbulence", skShaderNewPerlinNoiseTurbulence), DECLARE_NAPI_METHOD("skShaderNewPerlinNoiseImprovedNoise", skShaderNewPerlinNoiseImprovedNoise), DECLARE_NAPI_METHOD("skShaderNewCompose", skShaderNewCompose), DECLARE_NAPI_METHOD("skShaderNewComposeWithMode", skShaderNewComposeWithMode), DECLARE_NAPI_METHOD("skStreamAssetDestroy", skStreamAssetDestroy), DECLARE_NAPI_METHOD("skFilestreamNew", skFilestreamNew), DECLARE_NAPI_METHOD("skFilestreamDestroy", skFilestreamDestroy), DECLARE_NAPI_METHOD("skFilestreamIsValid", skFilestreamIsValid), DECLARE_NAPI_METHOD("skMemorystreamNew", skMemorystreamNew), DECLARE_NAPI_METHOD("skMemorystreamNewWithLength", skMemorystreamNewWithLength), DECLARE_NAPI_METHOD("skMemorystreamNewWithData", skMemorystreamNewWithData), DECLARE_NAPI_METHOD("skMemorystreamNewWithSkdata", skMemorystreamNewWithSkdata), DECLARE_NAPI_METHOD("skMemorystreamSetMemory", skMemorystreamSetMemory), DECLARE_NAPI_METHOD("skMemorystreamDestroy", skMemorystreamDestroy), DECLARE_NAPI_METHOD("skStreamRead", skStreamRead), DECLARE_NAPI_METHOD("skStreamPeek", skStreamPeek), DECLARE_NAPI_METHOD("skStreamSkip", skStreamSkip), DECLARE_NAPI_METHOD("skStreamIsAtEnd", skStreamIsAtEnd), DECLARE_NAPI_METHOD("skStreamReadS8", skStreamReadS8), DECLARE_NAPI_METHOD("skStreamReadS16", skStreamReadS16), DECLARE_NAPI_METHOD("skStreamReadS32", skStreamReadS32), DECLARE_NAPI_METHOD("skStreamReadU8", skStreamReadU8), DECLARE_NAPI_METHOD("skStreamReadU16", skStreamReadU16), DECLARE_NAPI_METHOD("skStreamReadU32", skStreamReadU32), DECLARE_NAPI_METHOD("skStreamReadBool", skStreamReadBool), DECLARE_NAPI_METHOD("skStreamRewind", skStreamRewind), DECLARE_NAPI_METHOD("skStreamHasPosition", skStreamHasPosition), DECLARE_NAPI_METHOD("skStreamGetPosition", skStreamGetPosition), DECLARE_NAPI_METHOD("skStreamSeek", skStreamSeek), DECLARE_NAPI_METHOD("skStreamMove", skStreamMove), DECLARE_NAPI_METHOD("skStreamHasLength", skStreamHasLength), DECLARE_NAPI_METHOD("skStreamGetLength", skStreamGetLength), DECLARE_NAPI_METHOD("skStreamGetMemoryBase", skStreamGetMemoryBase), DECLARE_NAPI_METHOD("skStreamFork", skStreamFork), DECLARE_NAPI_METHOD("skStreamDuplicate", skStreamDuplicate), DECLARE_NAPI_METHOD("skStreamDestroy", skStreamDestroy), DECLARE_NAPI_METHOD("skFilewstreamNew", skFilewstreamNew), DECLARE_NAPI_METHOD("skFilewstreamDestroy", skFilewstreamDestroy), DECLARE_NAPI_METHOD("skFilewstreamIsValid", skFilewstreamIsValid), DECLARE_NAPI_METHOD("skDynamicmemorywstreamNew", skDynamicmemorywstreamNew), DECLARE_NAPI_METHOD("skDynamicmemorywstreamDetachAsStream", skDynamicmemorywstreamDetachAsStream), DECLARE_NAPI_METHOD("skDynamicmemorywstreamDetachAsData", skDynamicmemorywstreamDetachAsData), DECLARE_NAPI_METHOD("skDynamicmemorywstreamCopyTo", skDynamicmemorywstreamCopyTo), DECLARE_NAPI_METHOD("skDynamicmemorywstreamWriteToStream", skDynamicmemorywstreamWriteToStream), DECLARE_NAPI_METHOD("skDynamicmemorywstreamDestroy", skDynamicmemorywstreamDestroy), DECLARE_NAPI_METHOD("skWstreamWrite", skWstreamWrite), DECLARE_NAPI_METHOD("skWstreamNewline", skWstreamNewline), DECLARE_NAPI_METHOD("skWstreamFlush", skWstreamFlush), DECLARE_NAPI_METHOD("skWstreamBytesWritten", skWstreamBytesWritten), DECLARE_NAPI_METHOD("skWstreamWrite_8", skWstreamWrite_8), DECLARE_NAPI_METHOD("skWstreamWrite_16", skWstreamWrite_16), DECLARE_NAPI_METHOD("skWstreamWrite_32", skWstreamWrite_32), DECLARE_NAPI_METHOD("skWstreamWriteText", skWstreamWriteText), DECLARE_NAPI_METHOD("skWstreamWriteDecAsText", skWstreamWriteDecAsText), DECLARE_NAPI_METHOD("skWstreamWriteBigdecAsText", skWstreamWriteBigdecAsText), DECLARE_NAPI_METHOD("skWstreamWriteHexAsText", skWstreamWriteHexAsText), DECLARE_NAPI_METHOD("skWstreamWriteScalarAsText", skWstreamWriteScalarAsText), DECLARE_NAPI_METHOD("skWstreamWriteBool", skWstreamWriteBool), DECLARE_NAPI_METHOD("skWstreamWriteScalar", skWstreamWriteScalar), DECLARE_NAPI_METHOD("skWstreamWritePackedUint", skWstreamWritePackedUint), DECLARE_NAPI_METHOD("skWstreamWriteStream", skWstreamWriteStream), DECLARE_NAPI_METHOD("skWstreamGetSizeOfPackedUint", skWstreamGetSizeOfPackedUint), DECLARE_NAPI_METHOD("skStringNewEmpty", skStringNewEmpty), DECLARE_NAPI_METHOD("skStringNewWithCopy", skStringNewWithCopy), DECLARE_NAPI_METHOD("skStringDestructor", skStringDestructor), DECLARE_NAPI_METHOD("skStringGetSize", skStringGetSize), DECLARE_NAPI_METHOD("skStringGetCStr", skStringGetCStr), DECLARE_NAPI_METHOD("skSurfaceNewNull", skSurfaceNewNull), DECLARE_NAPI_METHOD("skSurfaceNewRaster", skSurfaceNewRaster), DECLARE_NAPI_METHOD("skSurfaceNewRasterDirect", skSurfaceNewRasterDirect), DECLARE_NAPI_METHOD("skSurfaceNewBackendTexture", skSurfaceNewBackendTexture), DECLARE_NAPI_METHOD("skSurfaceNewBackendRenderTarget", skSurfaceNewBackendRenderTarget), DECLARE_NAPI_METHOD("skSurfaceNewBackendTextureAsRenderTarget", skSurfaceNewBackendTextureAsRenderTarget), DECLARE_NAPI_METHOD("skSurfaceNewRenderTarget", skSurfaceNewRenderTarget), DECLARE_NAPI_METHOD("skSurfaceUnref", skSurfaceUnref), DECLARE_NAPI_METHOD("skSurfaceGetCanvas", skSurfaceGetCanvas), DECLARE_NAPI_METHOD("skSurfaceNewImageSnapshot", skSurfaceNewImageSnapshot), DECLARE_NAPI_METHOD("skSurfaceDraw", skSurfaceDraw), DECLARE_NAPI_METHOD("skSurfacePeekPixels", skSurfacePeekPixels), DECLARE_NAPI_METHOD("skSurfaceReadPixels", skSurfaceReadPixels), DECLARE_NAPI_METHOD("skSurfaceGetProps", skSurfaceGetProps), DECLARE_NAPI_METHOD("skSurfacepropsNew", skSurfacepropsNew), DECLARE_NAPI_METHOD("skSurfacepropsDelete", skSurfacepropsDelete), DECLARE_NAPI_METHOD("skSurfacepropsGetFlags", skSurfacepropsGetFlags), DECLARE_NAPI_METHOD("skSurfacepropsGetPixelGeometry", skSurfacepropsGetPixelGeometry), DECLARE_NAPI_METHOD("skSvgcanvasCreate", skSvgcanvasCreate), DECLARE_NAPI_METHOD("skTextblobRef", skTextblobRef), DECLARE_NAPI_METHOD("skTextblobUnref", skTextblobUnref), DECLARE_NAPI_METHOD("skTextblobGetUniqueId", skTextblobGetUniqueId), DECLARE_NAPI_METHOD("skTextblobGetBounds", skTextblobGetBounds), DECLARE_NAPI_METHOD("skTextblobBuilderNew", skTextblobBuilderNew), DECLARE_NAPI_METHOD("skTextblobBuilderDelete", skTextblobBuilderDelete), DECLARE_NAPI_METHOD("skTextblobBuilderMake", skTextblobBuilderMake), DECLARE_NAPI_METHOD("skTextblobBuilderAllocRunText", skTextblobBuilderAllocRunText), DECLARE_NAPI_METHOD("skTextblobBuilderAllocRunTextPosH", skTextblobBuilderAllocRunTextPosH), DECLARE_NAPI_METHOD("skTextblobBuilderAllocRunTextPos", skTextblobBuilderAllocRunTextPos), DECLARE_NAPI_METHOD("skTypefaceCreateDefault", skTypefaceCreateDefault), DECLARE_NAPI_METHOD("skTypefaceRefDefault", skTypefaceRefDefault), DECLARE_NAPI_METHOD("skTypefaceCreateFromNameWithFontStyle", skTypefaceCreateFromNameWithFontStyle), DECLARE_NAPI_METHOD("skTypefaceUnref", skTypefaceUnref), DECLARE_NAPI_METHOD("skTypefaceCreateFromFile", skTypefaceCreateFromFile), DECLARE_NAPI_METHOD("skTypefaceCreateFromStream", skTypefaceCreateFromStream), DECLARE_NAPI_METHOD("skTypefaceCharsToGlyphs", skTypefaceCharsToGlyphs), DECLARE_NAPI_METHOD("skTypefaceOpenStream", skTypefaceOpenStream), DECLARE_NAPI_METHOD("skTypefaceGetUnitsPerEm", skTypefaceGetUnitsPerEm), DECLARE_NAPI_METHOD("skTypefaceGetFamilyName", skTypefaceGetFamilyName), DECLARE_NAPI_METHOD("skTypefaceGetFontstyle", skTypefaceGetFontstyle), DECLARE_NAPI_METHOD("skTypefaceGetFontWeight", skTypefaceGetFontWeight), DECLARE_NAPI_METHOD("skTypefaceGetFontWidth", skTypefaceGetFontWidth), DECLARE_NAPI_METHOD("skTypefaceGetFontSlant", skTypefaceGetFontSlant), DECLARE_NAPI_METHOD("skTypefaceCountTables", skTypefaceCountTables), DECLARE_NAPI_METHOD("skTypefaceGetTableTags", skTypefaceGetTableTags), DECLARE_NAPI_METHOD("skTypefaceGetTableSize", skTypefaceGetTableSize), DECLARE_NAPI_METHOD("skTypefaceGetTableData", skTypefaceGetTableData), DECLARE_NAPI_METHOD("skTypefaceIsFixedPitch", skTypefaceIsFixedPitch), DECLARE_NAPI_METHOD("skFontmgrCreateDefault", skFontmgrCreateDefault), DECLARE_NAPI_METHOD("skFontmgrRefDefault", skFontmgrRefDefault), DECLARE_NAPI_METHOD("skFontmgrUnref", skFontmgrUnref), DECLARE_NAPI_METHOD("skFontmgrCountFamilies", skFontmgrCountFamilies), DECLARE_NAPI_METHOD("skFontmgrGetFamilyName", skFontmgrGetFamilyName), DECLARE_NAPI_METHOD("skFontmgrCreateStyleset", skFontmgrCreateStyleset), DECLARE_NAPI_METHOD("skFontmgrMatchFamily", skFontmgrMatchFamily), DECLARE_NAPI_METHOD("skFontmgrMatchFamilyStyle", skFontmgrMatchFamilyStyle), DECLARE_NAPI_METHOD("skFontmgrMatchFamilyStyleCharacter", skFontmgrMatchFamilyStyleCharacter), DECLARE_NAPI_METHOD("skFontmgrMatchFaceStyle", skFontmgrMatchFaceStyle), DECLARE_NAPI_METHOD("skFontmgrCreateFromData", skFontmgrCreateFromData), DECLARE_NAPI_METHOD("skFontmgrCreateFromStream", skFontmgrCreateFromStream), DECLARE_NAPI_METHOD("skFontmgrCreateFromFile", skFontmgrCreateFromFile), DECLARE_NAPI_METHOD("skFontstyleNew", skFontstyleNew), DECLARE_NAPI_METHOD("skFontstyleDelete", skFontstyleDelete), DECLARE_NAPI_METHOD("skFontstyleGetWeight", skFontstyleGetWeight), DECLARE_NAPI_METHOD("skFontstyleGetWidth", skFontstyleGetWidth), DECLARE_NAPI_METHOD("skFontstyleGetSlant", skFontstyleGetSlant), DECLARE_NAPI_METHOD("skFontstylesetCreateEmpty", skFontstylesetCreateEmpty), DECLARE_NAPI_METHOD("skFontstylesetUnref", skFontstylesetUnref), DECLARE_NAPI_METHOD("skFontstylesetGetCount", skFontstylesetGetCount), DECLARE_NAPI_METHOD("skFontstylesetGetStyle", skFontstylesetGetStyle), DECLARE_NAPI_METHOD("skFontstylesetCreateTypeface", skFontstylesetCreateTypeface), DECLARE_NAPI_METHOD("skFontstylesetMatchStyle", skFontstylesetMatchStyle), DECLARE_NAPI_METHOD("skVerticesUnref", skVerticesUnref), DECLARE_NAPI_METHOD("skVerticesRef", skVerticesRef), DECLARE_NAPI_METHOD("skVerticesMakeCopy", skVerticesMakeCopy), DECLARE_NAPI_METHOD("skXmlstreamwriterNew", skXmlstreamwriterNew), DECLARE_NAPI_METHOD("skXmlstreamwriterDelete", skXmlstreamwriterDelete),  };
  status = napi_define_properties(env, exports, 768, desc);
  assert(status == napi_ok);
  return exports;
}

NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)
