f2f3d52ad5
Written to use the exact same names and semantics as particles. Cq-Include-Trybots: luci.skia.skia.primary:Test-Debian10-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit,Test-Debian10-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit Change-Id: I4031efbce06527a519f1ce8c261f79231554e1ef Reviewed-on: https://skia-review.googlesource.com/c/skia/+/365701 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
1157 lines
29 KiB
JavaScript
1157 lines
29 KiB
JavaScript
/*
|
|
* This externs file prevents the Closure JS compiler from minifying away
|
|
* names of objects created by Emscripten.
|
|
* Basically, by defining empty objects and functions here, Closure will
|
|
* know not to rename them. This is needed because of our pre-js files,
|
|
* that is, the JS we hand-write to bundle into the output. That JS will be
|
|
* hit by the closure compiler and thus needs to know about what functions
|
|
* have special names and should not be minified.
|
|
*
|
|
* Emscripten does not support automatically generating an externs file, so we
|
|
* do it by hand. The general process is to write some JS code, and then put any
|
|
* calls to CanvasKit or related things in here. Running ./compile.sh and then
|
|
* looking at the minified results or running the Release trybot should
|
|
* verify nothing was missed. Optionally, looking directly at the minified
|
|
* pathkit.js can be useful when developing locally.
|
|
*
|
|
* Docs:
|
|
* https://github.com/cljsjs/packages/wiki/Creating-Externs
|
|
* https://github.com/google/closure-compiler/wiki/Types-in-the-Closure-Type-System
|
|
*
|
|
* Example externs:
|
|
* https://github.com/google/closure-compiler/tree/master/externs
|
|
*/
|
|
|
|
var CanvasKit = {
|
|
// public API (i.e. things we declare in the pre-js file or in the cpp bindings)
|
|
Color: function() {},
|
|
Color4f: function() {},
|
|
ColorAsInt: function() {},
|
|
LTRBRect: function() {},
|
|
XYWHRect: function() {},
|
|
LTRBiRect: function() {},
|
|
XYWHiRect: function() {},
|
|
RRectXY: function() {},
|
|
/** @return {ImageData} */
|
|
ImageData: function() {},
|
|
|
|
GetWebGLContext: function() {},
|
|
MakeCanvas: function() {},
|
|
MakeCanvasSurface: function() {},
|
|
MakeGrContext: function() {},
|
|
/** @return {CanvasKit.AnimatedImage} */
|
|
MakeAnimatedImageFromEncoded: function() {},
|
|
/** @return {CanvasKit.Image} */
|
|
MakeImage: function() {},
|
|
/** @return {CanvasKit.Image} */
|
|
MakeImageFromEncoded: function() {},
|
|
MakeImageFromCanvasImageSource: function() {},
|
|
MakeOnScreenGLSurface: function() {},
|
|
MakeRenderTarget: function() {},
|
|
MakePicture: function() {},
|
|
MakeSWCanvasSurface: function() {},
|
|
MakeManagedAnimation: function() {},
|
|
MakeParticles: function() {},
|
|
MakeVertices: function() {},
|
|
MakeSurface: function() {},
|
|
MakeRasterDirectSurface: function() {},
|
|
MakeWebGLCanvasSurface: function() {},
|
|
Malloc: function() {},
|
|
MallocGlyphIDs: function() {},
|
|
Free: function() {},
|
|
computeTonalColors: function() {},
|
|
currentContext: function() {},
|
|
deleteContext: function() {},
|
|
getColorComponents: function() {},
|
|
getDecodeCacheLimitBytes: function() {},
|
|
getDecodeCacheUsageBytes: function() {},
|
|
getDataBytes: function() {},
|
|
multiplyByAlpha: function() {},
|
|
parseColorString: function() {},
|
|
setCurrentContext: function() {},
|
|
setDecodeCacheLimitBytes: function() {},
|
|
getShadowLocalBounds: function() {},
|
|
// Defined by emscripten.
|
|
createContext: function() {},
|
|
|
|
// private API (i.e. things declared in the bindings that we use
|
|
// in the pre-js file)
|
|
_computeTonalColors: function() {},
|
|
_MakeImage: function() {},
|
|
_MakeManagedAnimation: function() {},
|
|
_MakeParticles: function() {},
|
|
_MakePicture: function() {},
|
|
_decodeAnimatedImage: function() {},
|
|
_decodeImage: function() {},
|
|
_drawShapedText: function() {},
|
|
_getShadowLocalBounds: function() {},
|
|
|
|
// The testing object is meant to expose internal functions
|
|
// for more fine-grained testing, e.g. parseColor
|
|
_testing: {},
|
|
|
|
// Objects and properties on CanvasKit
|
|
|
|
Animation: {
|
|
prototype: {
|
|
render: function() {},
|
|
size: function() {},
|
|
},
|
|
_render: function() {},
|
|
_size: function() {},
|
|
},
|
|
|
|
GrContext: {
|
|
// public API (from C++ bindings)
|
|
getResourceCacheLimitBytes: function() {},
|
|
getResourceCacheUsageBytes: function() {},
|
|
releaseResourcesAndAbandonContext: function() {},
|
|
setResourceCacheLimitBytes: function() {},
|
|
},
|
|
|
|
ManagedAnimation: {
|
|
prototype: {
|
|
render: function() {},
|
|
seek: function() {},
|
|
seekFrame: function() {},
|
|
setColor: function() {},
|
|
size: function() {},
|
|
},
|
|
_render: function() {},
|
|
_seek: function() {},
|
|
_seekFrame: function() {},
|
|
_size: function() {},
|
|
},
|
|
|
|
Paragraph: {
|
|
// public API (from C++ bindings)
|
|
didExceedMaxLines: function() {},
|
|
getAlphabeticBaseline: function() {},
|
|
getGlyphPositionAtCoordinate: function() {},
|
|
getHeight: function() {},
|
|
getIdeographicBaseline: function() {},
|
|
getLineMetrics: function() {},
|
|
getLongestLine: function() {},
|
|
getMaxIntrinsicWidth: function() {},
|
|
getMaxWidth: function() {},
|
|
getMinIntrinsicWidth: function() {},
|
|
getWordBoundary: function() {},
|
|
layout: function() {},
|
|
|
|
// private API
|
|
/** @return {Float32Array} */
|
|
_getRectsForRange: function() {},
|
|
_getRectsForPlaceholders: function() {},
|
|
},
|
|
|
|
ParagraphBuilder: {
|
|
Make: function() {},
|
|
MakeFromFontProvider: function() {},
|
|
addText: function() {},
|
|
build: function() {},
|
|
pop: function() {},
|
|
|
|
prototype: {
|
|
pushStyle: function() {},
|
|
pushPaintStyle: function() {},
|
|
addPlaceholder: function() {},
|
|
},
|
|
|
|
// private API
|
|
_Make: function() {},
|
|
_MakeFromFontProvider: function() {},
|
|
_pushStyle: function() {},
|
|
_pushPaintStyle: function() {},
|
|
_addPlaceholder: function() {},
|
|
},
|
|
|
|
RuntimeEffect: {
|
|
// public API (from JS bindings)
|
|
Make: function() {},
|
|
getUniform: function() {},
|
|
getUniformCount: function() {},
|
|
getUniformFloatCount: function() {},
|
|
getUniformName: function() {},
|
|
prototype: {
|
|
makeShader: function() {},
|
|
makeShaderWithChildren: function() {},
|
|
},
|
|
// private API (from C++ bindings)
|
|
_Make: function() {},
|
|
_makeShader: function() {},
|
|
_makeShaderWithChildren: function() {},
|
|
},
|
|
|
|
ParagraphStyle: function() {},
|
|
RSXFormBuilder: function() {},
|
|
ColorBuilder: function() {},
|
|
RectBuilder: function() {},
|
|
|
|
ShapedText: {
|
|
prototype: {
|
|
getBounds: function() {},
|
|
},
|
|
// private API (from C++ bindings)
|
|
_getBounds: function() {},
|
|
},
|
|
|
|
AnimatedImage: {
|
|
// public API (from C++ bindings)
|
|
decodeNextFrame: function() {},
|
|
getFrameCount: function() {},
|
|
getRepetitionCount: function() {},
|
|
height: function() {},
|
|
reset: function() {},
|
|
width: function() {},
|
|
},
|
|
|
|
Canvas: {
|
|
// public API (from C++ bindings)
|
|
clipPath: function() {},
|
|
drawCircle: function() {},
|
|
drawColorInt: function() {},
|
|
drawImage: function() {},
|
|
drawImageCubic: function() {},
|
|
drawImageOptions: function() {},
|
|
drawImageAtCurrentFrame: function() {},
|
|
drawLine: function() {},
|
|
drawPaint: function() {},
|
|
drawParagraph: function() {},
|
|
drawPath: function() {},
|
|
drawPicture: function() {},
|
|
drawRect4f: function() {},
|
|
drawText: function() {},
|
|
drawTextBlob: function() {},
|
|
drawVertices: function() {},
|
|
flush: function() {},
|
|
getSaveCount: function() {},
|
|
makeSurface: function() {},
|
|
markCTM: function() {},
|
|
findMarkedCTM: function() {},
|
|
restore: function() {},
|
|
restoreToCount: function() {},
|
|
rotate: function() {},
|
|
save: function() {},
|
|
saveLayerPaint: function() {},
|
|
scale: function() {},
|
|
skew: function() {},
|
|
translate: function() {},
|
|
|
|
prototype: {
|
|
clear: function() {},
|
|
clipRRect: function() {},
|
|
clipRect: function() {},
|
|
concat: function() {},
|
|
drawArc: function() {},
|
|
drawAtlas: function() {},
|
|
drawColor: function() {},
|
|
drawColorComponents: function() {},
|
|
drawDRRect: function() {},
|
|
drawImageNine: function() {},
|
|
drawImageRect: function() {},
|
|
drawImageRectCubic: function() {},
|
|
drawImageRectOptions: function() {},
|
|
drawOval: function() {},
|
|
drawPoints: function() {},
|
|
drawRect: function() {},
|
|
drawRRect: function() {},
|
|
drawShadow: function() {},
|
|
drawText: function() {},
|
|
findMarkedCTM: function() {},
|
|
getLocalToDevice: function() {},
|
|
getTotalMatrix: function() {},
|
|
readPixels: function() {},
|
|
saveLayer: function() {},
|
|
writePixels : function() {},
|
|
},
|
|
|
|
// private API
|
|
_clear: function() {},
|
|
_clipRRect: function() {},
|
|
_clipRect: function() {},
|
|
_concat: function() {},
|
|
_drawArc: function() {},
|
|
_drawAtlas: function() {},
|
|
_drawColor: function() {},
|
|
_drawDRRect: function() {},
|
|
_drawImageNine: function() {},
|
|
_drawImageRect: function() {},
|
|
_drawImageRectCubic: function() {},
|
|
_drawImageRectOptions: function() {},
|
|
_drawOval: function() {},
|
|
_drawPoints: function() {},
|
|
_drawRect: function() {},
|
|
_drawRRect: function() {},
|
|
_drawShadow: function() {},
|
|
_drawSimpleText: function() {},
|
|
_findMarkedCTM: function() {},
|
|
_getLocalToDevice: function() {},
|
|
_getTotalMatrix: function() {},
|
|
_readPixels: function() {},
|
|
_saveLayer: function() {},
|
|
_writePixels: function() {},
|
|
delete: function() {},
|
|
},
|
|
|
|
ColorFilter: {
|
|
// public API (from C++ bindings and JS interface)
|
|
MakeBlend: function() {},
|
|
MakeCompose: function() {},
|
|
MakeLerp: function() {},
|
|
MakeLinearToSRGBGamma: function() {},
|
|
MakeMatrix: function() {},
|
|
MakeSRGBToLinearGamma: function() {},
|
|
// private API (from C++ bindings)
|
|
_MakeBlend: function() {},
|
|
_makeMatrix: function() {},
|
|
},
|
|
|
|
ColorMatrix: {
|
|
concat: function() {},
|
|
identity: function() {},
|
|
postTranslate: function() {},
|
|
rotated: function() {},
|
|
scaled: function() {},
|
|
},
|
|
|
|
ColorSpace: {
|
|
Equals: function() {},
|
|
SRGB: {},
|
|
DISPLAY_P3: {},
|
|
ADOBE_RGB: {},
|
|
// private API (from C++ bindings)
|
|
_MakeSRGB: function() {},
|
|
_MakeDisplayP3: function() {},
|
|
_MakeAdobeRGB: function() {},
|
|
},
|
|
|
|
ContourMeasureIter: {
|
|
next: function() {},
|
|
},
|
|
|
|
ContourMeasure: {
|
|
getSegment: function() {},
|
|
isClosed: function() {},
|
|
length: function() {},
|
|
prototype: {
|
|
getPosTan: function() {},
|
|
},
|
|
_getPosTan: function() {},
|
|
},
|
|
|
|
Font: {
|
|
// public API (from C++ bindings)
|
|
getScaleX: function() {},
|
|
getSize: function() {},
|
|
getSkewX: function() {},
|
|
getTypeface: function() {},
|
|
measureText: function() {},
|
|
setHinting: function() {},
|
|
setLinearMetrics: function() {},
|
|
setScaleX: function() {},
|
|
setSize: function() {},
|
|
setSkewX: function() {},
|
|
setSubpixel: function() {},
|
|
setTypeface: function() {},
|
|
|
|
prototype: {
|
|
getGlyphBounds: function() {},
|
|
getGlyphIDs: function() {},
|
|
getGlyphWidths: function() {},
|
|
getWidths: function() {},
|
|
},
|
|
|
|
// private API (from C++ bindings)
|
|
_getGlyphIDs: function() {},
|
|
_getGlyphWidthBounds: function() {},
|
|
_getWidths: function() {},
|
|
},
|
|
|
|
FontMgr: {
|
|
// public API (from C++ and JS bindings)
|
|
FromData: function() {},
|
|
RefDefault: function() {},
|
|
countFamilies: function() {},
|
|
getFamilyName: function() {},
|
|
|
|
// private API
|
|
_makeTypefaceFromData: function() {},
|
|
_fromData: function() {},
|
|
},
|
|
|
|
TypefaceFontProvider: {
|
|
// public API (from C++ and JS bindings)
|
|
Make: function() {},
|
|
registerFont: function() {},
|
|
|
|
// private API
|
|
_registerFont: function() {},
|
|
},
|
|
|
|
Image: {
|
|
// public API (from C++ bindings)
|
|
getColorSpace: function() {},
|
|
getImageInfo: function() {},
|
|
makeCopyWithDefaultMipmaps: function() {},
|
|
height: function() {},
|
|
width: function() {},
|
|
|
|
prototype: {
|
|
encodeToData: function() {},
|
|
makeShaderCubic: function() {},
|
|
makeShaderOptions: function() {},
|
|
},
|
|
// private API
|
|
_encodeToData: function() {},
|
|
_encodeToDataWithFormat: function() {},
|
|
_makeShaderCubic: function() {},
|
|
_makeShaderOptions: function() {},
|
|
},
|
|
|
|
ImageFilter: {
|
|
MakeBlur: function() {},
|
|
MakeColorFilter: function() {},
|
|
MakeCompose: function() {},
|
|
MakeMatrixTransform: function() {},
|
|
|
|
// private API
|
|
_MakeMatrixTransform: function() {},
|
|
},
|
|
|
|
// These are defined in interface.js
|
|
M44: {
|
|
identity: function() {},
|
|
invert: function() {},
|
|
mustInvert: function() {},
|
|
multiply: function() {},
|
|
rotatedUnitSinCos: function() {},
|
|
rotated: function() {},
|
|
scaled: function() {},
|
|
translated: function() {},
|
|
lookat: function() {},
|
|
perspective: function() {},
|
|
rc: function() {},
|
|
transpose: function() {},
|
|
setupCamera: function() {},
|
|
},
|
|
|
|
Matrix: {
|
|
identity: function() {},
|
|
invert: function() {},
|
|
mapPoints: function() {},
|
|
multiply: function() {},
|
|
rotated: function() {},
|
|
scaled: function() {},
|
|
skewed: function() {},
|
|
translated: function() {},
|
|
},
|
|
|
|
MaskFilter: {
|
|
MakeBlur: function() {},
|
|
},
|
|
|
|
Paint: {
|
|
// public API (from C++ bindings)
|
|
/** @return {CanvasKit.Paint} */
|
|
copy: function() {},
|
|
getBlendMode: function() {},
|
|
getFilterQuality: function() {},
|
|
getStrokeCap: function() {},
|
|
getStrokeJoin: function() {},
|
|
getStrokeMiter: function() {},
|
|
getStrokeWidth: function() {},
|
|
setAntiAlias: function() {},
|
|
setBlendMode: function() {},
|
|
setColorInt: function() {},
|
|
setFilterQuality: function() {},
|
|
setImageFilter: function() {},
|
|
setMaskFilter: function() {},
|
|
setPathEffect: function() {},
|
|
setShader: function() {},
|
|
setStrokeCap: function() {},
|
|
setStrokeJoin: function() {},
|
|
setStrokeMiter: function() {},
|
|
setStrokeWidth: function() {},
|
|
setStyle: function() {},
|
|
|
|
prototype: {
|
|
getColor: function() {},
|
|
setColor: function() {},
|
|
setColorComponents: function() {},
|
|
setColorInt: function() {},
|
|
},
|
|
|
|
// Private API
|
|
delete: function() {},
|
|
_getColor: function() {},
|
|
_setColor: function() {},
|
|
},
|
|
|
|
PathEffect: {
|
|
MakeCorner: function() {},
|
|
MakeDash: function() {},
|
|
MakeDiscrete: function() {},
|
|
|
|
// Private C++ API
|
|
_MakeDash: function() {},
|
|
},
|
|
|
|
ParticleEffect: {
|
|
// public API (from C++ bindings)
|
|
draw: function() {},
|
|
getUniform: function() {},
|
|
getUniformCount: function() {},
|
|
getUniformFloatCount: function() {},
|
|
getUniformName: function() {},
|
|
setRate: function() {},
|
|
start: function() {},
|
|
update: function() {},
|
|
|
|
prototype: {
|
|
setPosition: function() {},
|
|
uniforms: function() {},
|
|
},
|
|
|
|
// private API (from C++ bindings)
|
|
_uniformPtr: function() {},
|
|
_setPosition: function() {},
|
|
},
|
|
|
|
Path: {
|
|
// public API (from C++ and JS bindings)
|
|
MakeFromCmds: function() {},
|
|
MakeFromSVGString: function() {},
|
|
MakeFromOp: function() {},
|
|
MakeFromVerbsPointsWeights: function() {},
|
|
contains: function() {},
|
|
/** @return {CanvasKit.Path} */
|
|
copy: function() {},
|
|
countPoints: function() {},
|
|
equals: function() {},
|
|
getBounds: function() {},
|
|
getFillType: function() {},
|
|
isEmpty: function() {},
|
|
isVolatile: function() {},
|
|
reset: function() {},
|
|
rewind: function() {},
|
|
setFillType: function() {},
|
|
setIsVolatile: function() {},
|
|
toCmds: function() {},
|
|
toSVGString: function() {},
|
|
|
|
prototype: {
|
|
addArc: function() {},
|
|
addOval: function() {},
|
|
addPath: function() {},
|
|
addPoly: function() {},
|
|
addRect: function() {},
|
|
addRRect: function() {},
|
|
addVerbsPointsWeights: function() {},
|
|
arc: function() {},
|
|
arcToOval: function() {},
|
|
arcToRotated: function() {},
|
|
arcToTangent: function() {},
|
|
close: function() {},
|
|
conicTo: function() {},
|
|
computeTightBounds: function() {},
|
|
cubicTo: function() {},
|
|
dash: function() {},
|
|
getPoint: function() {},
|
|
lineTo: function() {},
|
|
moveTo: function() {},
|
|
offset: function() {},
|
|
op: function() {},
|
|
quadTo: function() {},
|
|
rArcTo: function() {},
|
|
rConicTo: function() {},
|
|
rCubicTo: function() {},
|
|
rLineTo: function() {},
|
|
rMoveTo: function() {},
|
|
rQuadTo: function() {},
|
|
simplify: function() {},
|
|
stroke: function() {},
|
|
transform: function() {},
|
|
trim: function() {},
|
|
},
|
|
|
|
// private API
|
|
_MakeFromCmds: function() {},
|
|
_MakeFromVerbsPointsWeights: function() {},
|
|
_addArc: function() {},
|
|
_addOval: function() {},
|
|
_addPath: function() {},
|
|
_addPoly: function() {},
|
|
_addRect: function() {},
|
|
_addRRect: function() {},
|
|
_addVerbsPointsWeights: function() {},
|
|
_arcToOval: function() {},
|
|
_arcToRotated: function() {},
|
|
_arcToTangent: function() {},
|
|
_close: function() {},
|
|
_conicTo: function() {},
|
|
_computeTightBounds: function() {},
|
|
_cubicTo: function() {},
|
|
_dash: function() {},
|
|
_getPoint: function() {},
|
|
_lineTo: function() {},
|
|
_moveTo: function() {},
|
|
_op: function() {},
|
|
_quadTo: function() {},
|
|
_rArcTo: function() {},
|
|
_rConicTo: function() {},
|
|
_rCubicTo: function() {},
|
|
_rect: function() {},
|
|
_rLineTo: function() {},
|
|
_rMoveTo: function() {},
|
|
_rQuadTo: function() {},
|
|
_simplify: function() {},
|
|
_stroke: function() {},
|
|
_transform: function() {},
|
|
_trim: function() {},
|
|
delete: function() {},
|
|
dump: function() {},
|
|
dumpHex: function() {},
|
|
},
|
|
|
|
Picture: {
|
|
serialize: function() {},
|
|
},
|
|
|
|
PictureRecorder: {
|
|
finishRecordingAsPicture: function() {},
|
|
prototype: {
|
|
beginRecording: function() {},
|
|
},
|
|
_beginRecording: function() {},
|
|
},
|
|
|
|
Shader: {
|
|
// Deprecated names
|
|
Blend: function() {},
|
|
Color: function() {},
|
|
Lerp: function() {},
|
|
// public API (from JS / C++ bindings)
|
|
MakeBlend: function() {},
|
|
MakeColor: function() {},
|
|
MakeFractalNoise: function() {},
|
|
MakeLerp: function() {},
|
|
MakeLinearGradient: function() {},
|
|
MakeRadialGradient: function() {},
|
|
MakeSweepGradient: function() {},
|
|
MakeTurbulence: function() {},
|
|
MakeTwoPointConicalGradient: function() {},
|
|
|
|
// private API (from C++ bindings)
|
|
_MakeColor: function() {},
|
|
_MakeLinearGradient: function() {},
|
|
_MakeRadialGradient: function() {},
|
|
_MakeSweepGradient: function() {},
|
|
_MakeTwoPointConicalGradient: function() {},
|
|
},
|
|
|
|
Surface: {
|
|
// public API (from C++ bindings)
|
|
/** @return {CanvasKit.Canvas} */
|
|
getCanvas: function() {},
|
|
imageInfo: function() {},
|
|
|
|
makeSurface: function() {},
|
|
sampleCnt: function() {},
|
|
reportBackendTypeIsGPU: function() {},
|
|
grContext: {},
|
|
openGLversion: {},
|
|
|
|
prototype: {
|
|
/** @return {CanvasKit.Image} */
|
|
makeImageSnapshot: function() {},
|
|
},
|
|
|
|
// private API
|
|
_flush: function() {},
|
|
_makeImageSnapshot: function() {},
|
|
_makeRasterDirect: function() {},
|
|
delete: function() {},
|
|
},
|
|
|
|
TextBlob: {
|
|
// public API (both C++ and JS bindings)
|
|
MakeFromGlyphs: function() {},
|
|
MakeFromRSXform: function() {},
|
|
MakeFromRSXformGlyphs: function() {},
|
|
MakeFromText: function() {},
|
|
MakeOnPath: function() {},
|
|
// private API (from C++ bindings)
|
|
_MakeFromGlyphs: function() {},
|
|
_MakeFromRSXform: function() {},
|
|
_MakeFromRSXformGlyphs: function() {},
|
|
_MakeFromText: function() {},
|
|
},
|
|
|
|
// These are defined in interface.js
|
|
Vector: {
|
|
add: function() {},
|
|
sub: function() {},
|
|
dot: function() {},
|
|
cross: function() {},
|
|
normalize: function() {},
|
|
mulScalar: function() {},
|
|
length: function() {},
|
|
lengthSquared: function() {},
|
|
dist: function() {},
|
|
},
|
|
|
|
Vertices: {
|
|
// public API (from C++ bindings)
|
|
uniqueID: function() {},
|
|
|
|
prototype: {
|
|
bounds: function() {},
|
|
},
|
|
// private API (from C++ bindings)
|
|
|
|
_bounds: function() {},
|
|
},
|
|
|
|
_VerticesBuilder: {
|
|
colors: function() {},
|
|
detach: function() {},
|
|
indices: function() {},
|
|
positions: function() {},
|
|
texCoords: function() {},
|
|
},
|
|
|
|
TextStyle: function() {},
|
|
|
|
// Constants and Enums
|
|
gpu: {},
|
|
skottie: {},
|
|
|
|
TRANSPARENT: {},
|
|
BLACK: {},
|
|
WHITE: {},
|
|
RED: {},
|
|
GREEN: {},
|
|
BLUE: {},
|
|
YELLOW: {},
|
|
CYAN: {},
|
|
MAGENTA: {},
|
|
|
|
MOVE_VERB: {},
|
|
LINE_VERB: {},
|
|
QUAD_VERB: {},
|
|
CONIC_VERB: {},
|
|
CUBIC_VERB: {},
|
|
CLOSE_VERB: {},
|
|
|
|
NoDecoration: {},
|
|
UnderlineDecoration: {},
|
|
OverlineDecoration: {},
|
|
LineThroughDecoration: {},
|
|
|
|
SaveLayerInitWithPrevious: {},
|
|
SaveLayerF16ColorType: {},
|
|
|
|
Affinity: {
|
|
Upstream: {},
|
|
Downstream: {},
|
|
},
|
|
|
|
AlphaType: {
|
|
Opaque: {},
|
|
Premul: {},
|
|
Unpremul: {},
|
|
},
|
|
|
|
BlendMode: {
|
|
Clear: {},
|
|
Src: {},
|
|
Dst: {},
|
|
SrcOver: {},
|
|
DstOver: {},
|
|
SrcIn: {},
|
|
DstIn: {},
|
|
SrcOut: {},
|
|
DstOut: {},
|
|
SrcATop: {},
|
|
DstATop: {},
|
|
Xor: {},
|
|
Plus: {},
|
|
Modulate: {},
|
|
Screen: {},
|
|
Overlay: {},
|
|
Darken: {},
|
|
Lighten: {},
|
|
ColorDodge: {},
|
|
ColorBurn: {},
|
|
HardLight: {},
|
|
SoftLight: {},
|
|
Difference: {},
|
|
Exclusion: {},
|
|
Multiply: {},
|
|
Hue: {},
|
|
Saturation: {},
|
|
Color: {},
|
|
Luminosity: {},
|
|
},
|
|
|
|
BlurStyle: {
|
|
Normal: {},
|
|
Solid: {},
|
|
Outer: {},
|
|
Inner: {},
|
|
},
|
|
|
|
ClipOp: {
|
|
Difference: {},
|
|
Intersect: {},
|
|
},
|
|
|
|
ColorType: {
|
|
Alpha_8: {},
|
|
RGB_565: {},
|
|
ARGB_4444: {},
|
|
RGBA_8888: {},
|
|
RGB_888x: {},
|
|
BGRA_8888: {},
|
|
RGBA_1010102: {},
|
|
RGB_101010x: {},
|
|
Gray_8: {},
|
|
RGBA_F16: {},
|
|
RGBA_F32: {},
|
|
},
|
|
|
|
FillType: {
|
|
Winding: {},
|
|
EvenOdd: {},
|
|
},
|
|
|
|
FilterMode: {
|
|
Linear: {},
|
|
Nearest: {},
|
|
},
|
|
|
|
FilterQuality: {
|
|
None: {},
|
|
Low: {},
|
|
Medium: {},
|
|
High: {},
|
|
},
|
|
|
|
FontSlant: {
|
|
Upright: {},
|
|
Italic: {},
|
|
Oblique: {},
|
|
},
|
|
|
|
FontHinting: {
|
|
None: {},
|
|
Slight: {},
|
|
Normal: {},
|
|
Full: {},
|
|
},
|
|
|
|
FontWeight: {
|
|
Invisible: {},
|
|
Thin: {},
|
|
ExtraLight: {},
|
|
Light: {},
|
|
Normal: {},
|
|
Medium: {},
|
|
SemiBold: {},
|
|
Bold: {},
|
|
ExtraBold: {},
|
|
Black: {},
|
|
ExtraBlack: {},
|
|
},
|
|
|
|
FontWidth: {
|
|
UltraCondensed: {},
|
|
ExtraCondensed: {},
|
|
Condensed: {},
|
|
SemiCondensed: {},
|
|
Normal: {},
|
|
SemiExpanded: {},
|
|
Expanded: {},
|
|
ExtraExpanded: {},
|
|
UltraExpanded: {},
|
|
},
|
|
|
|
ImageFormat: {
|
|
PNG: {},
|
|
JPEG: {},
|
|
},
|
|
|
|
PaintStyle: {
|
|
Fill: {},
|
|
Stroke: {},
|
|
},
|
|
|
|
PathOp: {
|
|
Difference: {},
|
|
Intersect: {},
|
|
Union: {},
|
|
XOR: {},
|
|
ReverseDifference: {},
|
|
},
|
|
|
|
PointMode: {
|
|
Points: {},
|
|
Lines: {},
|
|
Polygon: {},
|
|
},
|
|
|
|
RectHeightStyle: {
|
|
Tight: {},
|
|
Max: {},
|
|
IncludeLineSpacingMiddle: {},
|
|
IncludeLineSpacingTop: {},
|
|
IncludeLineSpacingBottom: {},
|
|
},
|
|
|
|
RectWidthStyle: {
|
|
Tight: {},
|
|
Max: {},
|
|
},
|
|
|
|
StrokeCap: {
|
|
Butt: {},
|
|
Round: {},
|
|
Square: {},
|
|
},
|
|
|
|
StrokeJoin: {
|
|
Miter: {},
|
|
Round: {},
|
|
Bevel: {},
|
|
},
|
|
|
|
TextAlign: {
|
|
Left: {},
|
|
Right: {},
|
|
Center: {},
|
|
Justify: {},
|
|
Start: {},
|
|
End: {},
|
|
},
|
|
|
|
TextDirection: {
|
|
LTR: {},
|
|
RTL: {},
|
|
},
|
|
|
|
DecorationStyle: {
|
|
Solid: {},
|
|
Double: {},
|
|
Dotted: {},
|
|
Dashed: {},
|
|
Wavy: {},
|
|
},
|
|
|
|
PlaceholderAlignment: {
|
|
Baseline: {},
|
|
AboveBaseline: {},
|
|
BelowBaseline: {},
|
|
Top: {},
|
|
Bottom: {},
|
|
Middle: {},
|
|
},
|
|
|
|
TextBaseline: {
|
|
Alphabetic: {},
|
|
Ideographic: {},
|
|
},
|
|
|
|
TileMode: {
|
|
Clamp: {},
|
|
Repeat: {},
|
|
Mirror: {},
|
|
Decal: {},
|
|
},
|
|
|
|
VertexMode: {
|
|
Triangles: {},
|
|
TrianglesStrip: {},
|
|
TriangleFan: {},
|
|
},
|
|
|
|
// Things Enscriptem adds for us
|
|
|
|
/**
|
|
* @type {Float32Array}
|
|
*/
|
|
HEAPF32: {},
|
|
/**
|
|
* @type {Float64Array}
|
|
*/
|
|
HEAPF64: {},
|
|
/**
|
|
* @type {Uint8Array}
|
|
*/
|
|
HEAPU8: {},
|
|
/**
|
|
* @type {Uint16Array}
|
|
*/
|
|
HEAPU16: {},
|
|
/**
|
|
* @type {Uint32Array}
|
|
*/
|
|
HEAPU32: {},
|
|
/**
|
|
* @type {Int8Array}
|
|
*/
|
|
HEAP8: {},
|
|
/**
|
|
* @type {Int16Array}
|
|
*/
|
|
HEAP16: {},
|
|
/**
|
|
* @type {Int32Array}
|
|
*/
|
|
HEAP32: {},
|
|
|
|
_malloc: function() {},
|
|
_free: function() {},
|
|
onRuntimeInitialized: function() {},
|
|
};
|
|
|
|
// Public API things that are newly declared in the JS should go here.
|
|
// It's not enough to declare them above, because closure can still erase them
|
|
// unless they go on the prototype.
|
|
CanvasKit.Paragraph.prototype.getRectsForRange = function() {};
|
|
CanvasKit.Paragraph.prototype.getRectsForPlaceholders = function() {};
|
|
|
|
CanvasKit.Picture.prototype.saveAsFile = function() {};
|
|
|
|
CanvasKit.Surface.prototype.dispose = function() {};
|
|
CanvasKit.Surface.prototype.flush = function() {};
|
|
CanvasKit.Surface.prototype.requestAnimationFrame = function() {};
|
|
CanvasKit.Surface.prototype.drawOnce = function() {};
|
|
|
|
CanvasKit.FontMgr.prototype.MakeTypefaceFromData = function() {};
|
|
|
|
CanvasKit.RSXFormBuilder.prototype.build = function() {};
|
|
CanvasKit.RSXFormBuilder.prototype.delete = function() {};
|
|
CanvasKit.RSXFormBuilder.prototype.push = function() {};
|
|
CanvasKit.RSXFormBuilder.prototype.set = function() {};
|
|
|
|
CanvasKit.ColorBuilder.prototype.build = function() {};
|
|
CanvasKit.ColorBuilder.prototype.delete = function() {};
|
|
CanvasKit.ColorBuilder.prototype.push = function() {};
|
|
CanvasKit.ColorBuilder.prototype.set = function() {};
|
|
|
|
CanvasKit.RuntimeEffect.prototype.makeShader = function() {};
|
|
CanvasKit.RuntimeEffect.prototype.makeShaderWithChildren = function() {};
|
|
|
|
// Define StrokeOpts object
|
|
var StrokeOpts = {};
|
|
StrokeOpts.prototype.width;
|
|
StrokeOpts.prototype.miter_limit;
|
|
StrokeOpts.prototype.cap;
|
|
StrokeOpts.prototype.join;
|
|
StrokeOpts.prototype.precision;
|
|
|
|
// Define everything created in the canvas2d spec here
|
|
var HTMLCanvas = {};
|
|
HTMLCanvas.prototype.decodeImage = function() {};
|
|
HTMLCanvas.prototype.dispose = function() {};
|
|
HTMLCanvas.prototype.getContext = function() {};
|
|
HTMLCanvas.prototype.loadFont = function() {};
|
|
HTMLCanvas.prototype.makePath2D = function() {};
|
|
HTMLCanvas.prototype.toDataURL = function() {};
|
|
|
|
var ImageBitmapRenderingContext = {};
|
|
ImageBitmapRenderingContext.prototype.transferFromImageBitmap = function() {};
|
|
|
|
var CanvasRenderingContext2D = {};
|
|
CanvasRenderingContext2D.prototype.addHitRegion = function() {};
|
|
CanvasRenderingContext2D.prototype.arc = function() {};
|
|
CanvasRenderingContext2D.prototype.arcTo = function() {};
|
|
CanvasRenderingContext2D.prototype.beginPath = function() {};
|
|
CanvasRenderingContext2D.prototype.bezierCurveTo = function() {};
|
|
CanvasRenderingContext2D.prototype.clearHitRegions = function() {};
|
|
CanvasRenderingContext2D.prototype.clearRect = function() {};
|
|
CanvasRenderingContext2D.prototype.clip = function() {};
|
|
CanvasRenderingContext2D.prototype.closePath = function() {};
|
|
CanvasRenderingContext2D.prototype.createImageData = function() {};
|
|
CanvasRenderingContext2D.prototype.createLinearGradient = function() {};
|
|
CanvasRenderingContext2D.prototype.createPattern = function() {};
|
|
CanvasRenderingContext2D.prototype.createRadialGradient = function() {};
|
|
CanvasRenderingContext2D.prototype.drawFocusIfNeeded = function() {};
|
|
CanvasRenderingContext2D.prototype.drawImage = function() {};
|
|
CanvasRenderingContext2D.prototype.ellipse = function() {};
|
|
CanvasRenderingContext2D.prototype.fill = function() {};
|
|
CanvasRenderingContext2D.prototype.fillRect = function() {};
|
|
CanvasRenderingContext2D.prototype.fillText = function() {};
|
|
CanvasRenderingContext2D.prototype.getImageData = function() {};
|
|
CanvasRenderingContext2D.prototype.getLineDash = function() {};
|
|
CanvasRenderingContext2D.prototype.isPointInPath = function() {};
|
|
CanvasRenderingContext2D.prototype.isPointInStroke = function() {};
|
|
CanvasRenderingContext2D.prototype.lineTo = function() {};
|
|
CanvasRenderingContext2D.prototype.measureText = function() {};
|
|
CanvasRenderingContext2D.prototype.moveTo = function() {};
|
|
CanvasRenderingContext2D.prototype.putImageData = function() {};
|
|
CanvasRenderingContext2D.prototype.quadraticCurveTo = function() {};
|
|
CanvasRenderingContext2D.prototype.rect = function() {};
|
|
CanvasRenderingContext2D.prototype.removeHitRegion = function() {};
|
|
CanvasRenderingContext2D.prototype.resetTransform = function() {};
|
|
CanvasRenderingContext2D.prototype.restore = function() {};
|
|
CanvasRenderingContext2D.prototype.rotate = function() {};
|
|
CanvasRenderingContext2D.prototype.save = function() {};
|
|
CanvasRenderingContext2D.prototype.scale = function() {};
|
|
CanvasRenderingContext2D.prototype.scrollPathIntoView = function() {};
|
|
CanvasRenderingContext2D.prototype.setLineDash = function() {};
|
|
CanvasRenderingContext2D.prototype.setTransform = function() {};
|
|
CanvasRenderingContext2D.prototype.stroke = function() {};
|
|
CanvasRenderingContext2D.prototype.strokeRect = function() {};
|
|
CanvasRenderingContext2D.prototype.strokeText = function() {};
|
|
CanvasRenderingContext2D.prototype.transform = function() {};
|
|
CanvasRenderingContext2D.prototype.translate = function() {};
|
|
|
|
var Path2D = {};
|
|
Path2D.prototype.addPath = function() {};
|
|
Path2D.prototype.arc = function() {};
|
|
Path2D.prototype.arcTo = function() {};
|
|
Path2D.prototype.bezierCurveTo = function() {};
|
|
Path2D.prototype.closePath = function() {};
|
|
Path2D.prototype.ellipse = function() {};
|
|
Path2D.prototype.lineTo = function() {};
|
|
Path2D.prototype.moveTo = function() {};
|
|
Path2D.prototype.quadraticCurveTo = function() {};
|
|
Path2D.prototype.rect = function() {};
|
|
|
|
var LinearCanvasGradient = {};
|
|
LinearCanvasGradient.prototype.addColorStop = function() {};
|
|
var RadialCanvasGradient = {};
|
|
RadialCanvasGradient.prototype.addColorStop = function() {};
|
|
var CanvasPattern = {};
|
|
CanvasPattern.prototype.setTransform = function() {};
|
|
|
|
var ImageData = {
|
|
/**
|
|
* @type {Uint8ClampedArray}
|
|
*/
|
|
data: {},
|
|
height: {},
|
|
width: {},
|
|
};
|
|
|
|
var DOMMatrix = {
|
|
a: {},
|
|
b: {},
|
|
c: {},
|
|
d: {},
|
|
e: {},
|
|
f: {},
|
|
};
|
|
|
|
// Not sure why this is needed - might be a bug in emsdk that this isn't properly declared.
|
|
function loadWebAssemblyModule() {};
|
|
|
|
// This is a part of emscripten's webgl glue code. Preserving this attribute is necessary
|
|
// to override it in the puppeteer tests
|
|
var LibraryEGL = {
|
|
contextAttributes: {
|
|
majorVersion: {}
|
|
}
|
|
}
|