@swf2es/player 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/LICENSE.third-party +51 -0
- package/README.md +38 -2
- package/dist/air-definitions.d.ts +2 -0
- package/dist/air-definitions.d.ts.map +1 -0
- package/dist/air-definitions.js +130 -0
- package/dist/air-definitions.js.map +1 -0
- package/dist/audio.d.ts +22 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/audio.js +106 -0
- package/dist/audio.js.map +1 -0
- package/dist/avm1/amf.d.ts +155 -0
- package/dist/avm1/amf.d.ts.map +1 -0
- package/dist/avm1/amf.js +508 -0
- package/dist/avm1/amf.js.map +1 -0
- package/dist/avm1/avm1.d.ts +448 -0
- package/dist/avm1/avm1.d.ts.map +1 -0
- package/dist/avm1/avm1.js +1305 -0
- package/dist/avm1/avm1.js.map +1 -0
- package/dist/avm1/bindings.d.ts +56 -0
- package/dist/avm1/bindings.d.ts.map +1 -0
- package/dist/avm1/bindings.js +215 -0
- package/dist/avm1/bindings.js.map +1 -0
- package/dist/avm1/classes.d.ts +33 -0
- package/dist/avm1/classes.d.ts.map +1 -0
- package/dist/avm1/classes.js +76 -0
- package/dist/avm1/classes.js.map +1 -0
- package/dist/avm1/clips.d.ts +54 -0
- package/dist/avm1/clips.d.ts.map +1 -0
- package/dist/avm1/clips.js +230 -0
- package/dist/avm1/clips.js.map +1 -0
- package/dist/avm1/compile.d.ts +8 -0
- package/dist/avm1/compile.d.ts.map +1 -0
- package/dist/avm1/compile.js +141 -0
- package/dist/avm1/compile.js.map +1 -0
- package/dist/avm1/external.d.ts +44 -0
- package/dist/avm1/external.d.ts.map +1 -0
- package/dist/avm1/external.js +80 -0
- package/dist/avm1/external.js.map +1 -0
- package/dist/avm1/focus.d.ts +68 -0
- package/dist/avm1/focus.d.ts.map +1 -0
- package/dist/avm1/focus.js +279 -0
- package/dist/avm1/focus.js.map +1 -0
- package/dist/avm1/globals/BitmapData.d.ts +30 -0
- package/dist/avm1/globals/BitmapData.d.ts.map +1 -0
- package/dist/avm1/globals/BitmapData.js +543 -0
- package/dist/avm1/globals/BitmapData.js.map +1 -0
- package/dist/avm1/globals/Button.d.ts +8 -0
- package/dist/avm1/globals/Button.d.ts.map +1 -0
- package/dist/avm1/globals/Button.js +32 -0
- package/dist/avm1/globals/Button.js.map +1 -0
- package/dist/avm1/globals/Color.d.ts +11 -0
- package/dist/avm1/globals/Color.d.ts.map +1 -0
- package/dist/avm1/globals/Color.js +116 -0
- package/dist/avm1/globals/Color.js.map +1 -0
- package/dist/avm1/globals/ExternalInterface.d.ts +20 -0
- package/dist/avm1/globals/ExternalInterface.d.ts.map +1 -0
- package/dist/avm1/globals/ExternalInterface.js +311 -0
- package/dist/avm1/globals/ExternalInterface.js.map +1 -0
- package/dist/avm1/globals/FileReference.d.ts +4 -0
- package/dist/avm1/globals/FileReference.d.ts.map +1 -0
- package/dist/avm1/globals/FileReference.js +218 -0
- package/dist/avm1/globals/FileReference.js.map +1 -0
- package/dist/avm1/globals/Key.d.ts +21 -0
- package/dist/avm1/globals/Key.d.ts.map +1 -0
- package/dist/avm1/globals/Key.js +61 -0
- package/dist/avm1/globals/Key.js.map +1 -0
- package/dist/avm1/globals/LoadVars.d.ts +39 -0
- package/dist/avm1/globals/LoadVars.d.ts.map +1 -0
- package/dist/avm1/globals/LoadVars.js +209 -0
- package/dist/avm1/globals/LoadVars.js.map +1 -0
- package/dist/avm1/globals/LocalConnection.d.ts +5 -0
- package/dist/avm1/globals/LocalConnection.d.ts.map +1 -0
- package/dist/avm1/globals/LocalConnection.js +93 -0
- package/dist/avm1/globals/LocalConnection.js.map +1 -0
- package/dist/avm1/globals/MovieClip.d.ts +156 -0
- package/dist/avm1/globals/MovieClip.d.ts.map +1 -0
- package/dist/avm1/globals/MovieClip.js +1071 -0
- package/dist/avm1/globals/MovieClip.js.map +1 -0
- package/dist/avm1/globals/MovieClipLoader.d.ts +29 -0
- package/dist/avm1/globals/MovieClipLoader.d.ts.map +1 -0
- package/dist/avm1/globals/MovieClipLoader.js +91 -0
- package/dist/avm1/globals/MovieClipLoader.js.map +1 -0
- package/dist/avm1/globals/NetConnection.d.ts +68 -0
- package/dist/avm1/globals/NetConnection.d.ts.map +1 -0
- package/dist/avm1/globals/NetConnection.js +262 -0
- package/dist/avm1/globals/NetConnection.js.map +1 -0
- package/dist/avm1/globals/PrintJob.d.ts +4 -0
- package/dist/avm1/globals/PrintJob.d.ts.map +1 -0
- package/dist/avm1/globals/PrintJob.js +38 -0
- package/dist/avm1/globals/PrintJob.js.map +1 -0
- package/dist/avm1/globals/Selection.d.ts +17 -0
- package/dist/avm1/globals/Selection.d.ts.map +1 -0
- package/dist/avm1/globals/Selection.js +63 -0
- package/dist/avm1/globals/Selection.js.map +1 -0
- package/dist/avm1/globals/SharedObject.d.ts +20 -0
- package/dist/avm1/globals/SharedObject.d.ts.map +1 -0
- package/dist/avm1/globals/SharedObject.js +246 -0
- package/dist/avm1/globals/SharedObject.js.map +1 -0
- package/dist/avm1/globals/Sound.d.ts +36 -0
- package/dist/avm1/globals/Sound.d.ts.map +1 -0
- package/dist/avm1/globals/Sound.js +239 -0
- package/dist/avm1/globals/Sound.js.map +1 -0
- package/dist/avm1/globals/Stage.d.ts +7 -0
- package/dist/avm1/globals/Stage.d.ts.map +1 -0
- package/dist/avm1/globals/Stage.js +13 -0
- package/dist/avm1/globals/Stage.js.map +1 -0
- package/dist/avm1/globals/StyleSheet.d.ts +10 -0
- package/dist/avm1/globals/StyleSheet.d.ts.map +1 -0
- package/dist/avm1/globals/StyleSheet.js +206 -0
- package/dist/avm1/globals/StyleSheet.js.map +1 -0
- package/dist/avm1/globals/TextField.d.ts +44 -0
- package/dist/avm1/globals/TextField.d.ts.map +1 -0
- package/dist/avm1/globals/TextField.js +397 -0
- package/dist/avm1/globals/TextField.js.map +1 -0
- package/dist/avm1/globals/TextFormat.d.ts +19 -0
- package/dist/avm1/globals/TextFormat.d.ts.map +1 -0
- package/dist/avm1/globals/TextFormat.js +195 -0
- package/dist/avm1/globals/TextFormat.js.map +1 -0
- package/dist/avm1/globals/TextSnapshot.d.ts +6 -0
- package/dist/avm1/globals/TextSnapshot.d.ts.map +1 -0
- package/dist/avm1/globals/TextSnapshot.js +89 -0
- package/dist/avm1/globals/TextSnapshot.js.map +1 -0
- package/dist/avm1/globals/XML.d.ts +9 -0
- package/dist/avm1/globals/XML.d.ts.map +1 -0
- package/dist/avm1/globals/XML.js +397 -0
- package/dist/avm1/globals/XML.js.map +1 -0
- package/dist/avm1/globals/XMLNode.d.ts +93 -0
- package/dist/avm1/globals/XMLNode.d.ts.map +1 -0
- package/dist/avm1/globals/XMLNode.js +414 -0
- package/dist/avm1/globals/XMLNode.js.map +1 -0
- package/dist/avm1/globals/XMLSocket.d.ts +19 -0
- package/dist/avm1/globals/XMLSocket.d.ts.map +1 -0
- package/dist/avm1/globals/XMLSocket.js +206 -0
- package/dist/avm1/globals/XMLSocket.js.map +1 -0
- package/dist/avm1/globals/drawing.d.ts +8 -0
- package/dist/avm1/globals/drawing.d.ts.map +1 -0
- package/dist/avm1/globals/drawing.js +203 -0
- package/dist/avm1/globals/drawing.js.map +1 -0
- package/dist/avm1/globals/filters.d.ts +30 -0
- package/dist/avm1/globals/filters.d.ts.map +1 -0
- package/dist/avm1/globals/filters.js +636 -0
- package/dist/avm1/globals/filters.js.map +1 -0
- package/dist/avm1/globals/geom.d.ts +28 -0
- package/dist/avm1/globals/geom.d.ts.map +1 -0
- package/dist/avm1/globals/geom.js +601 -0
- package/dist/avm1/globals/geom.js.map +1 -0
- package/dist/avm1/input.d.ts +106 -0
- package/dist/avm1/input.d.ts.map +1 -0
- package/dist/avm1/input.js +484 -0
- package/dist/avm1/input.js.map +1 -0
- package/dist/avm1/keyboard.d.ts +17 -0
- package/dist/avm1/keyboard.d.ts.map +1 -0
- package/dist/avm1/keyboard.js +114 -0
- package/dist/avm1/keyboard.js.map +1 -0
- package/dist/avm1/loads.d.ts +67 -0
- package/dist/avm1/loads.d.ts.map +1 -0
- package/dist/avm1/loads.js +353 -0
- package/dist/avm1/loads.js.map +1 -0
- package/dist/avm1/net.d.ts +83 -0
- package/dist/avm1/net.d.ts.map +1 -0
- package/dist/avm1/net.js +220 -0
- package/dist/avm1/net.js.map +1 -0
- package/dist/avm1/paths.d.ts +30 -0
- package/dist/avm1/paths.d.ts.map +1 -0
- package/dist/avm1/paths.js +105 -0
- package/dist/avm1/paths.js.map +1 -0
- package/dist/avm1/pointer.d.ts +113 -0
- package/dist/avm1/pointer.d.ts.map +1 -0
- package/dist/avm1/pointer.js +513 -0
- package/dist/avm1/pointer.js.map +1 -0
- package/dist/avm1/queue.d.ts +106 -0
- package/dist/avm1/queue.d.ts.map +1 -0
- package/dist/avm1/queue.js +304 -0
- package/dist/avm1/queue.js.map +1 -0
- package/dist/avm1/sound.d.ts +36 -0
- package/dist/avm1/sound.d.ts.map +1 -0
- package/dist/avm1/sound.js +107 -0
- package/dist/avm1/sound.js.map +1 -0
- package/dist/avm1/swf.d.ts +90 -0
- package/dist/avm1/swf.d.ts.map +1 -0
- package/dist/avm1/swf.js +142 -0
- package/dist/avm1/swf.js.map +1 -0
- package/dist/avm1/timers.d.ts +49 -0
- package/dist/avm1/timers.d.ts.map +1 -0
- package/dist/avm1/timers.js +114 -0
- package/dist/avm1/timers.js.map +1 -0
- package/dist/bitmap/bitmap.d.ts +231 -0
- package/dist/bitmap/bitmap.d.ts.map +1 -0
- package/dist/bitmap/bitmap.js +628 -0
- package/dist/bitmap/bitmap.js.map +1 -0
- package/dist/bitmap/draw.d.ts +11 -0
- package/dist/bitmap/draw.d.ts.map +1 -0
- package/dist/bitmap/draw.js +69 -0
- package/dist/bitmap/draw.js.map +1 -0
- package/dist/bitmap/dxt.d.ts +5 -0
- package/dist/bitmap/dxt.d.ts.map +1 -0
- package/dist/bitmap/dxt.js +12 -0
- package/dist/bitmap/dxt.js.map +1 -0
- package/dist/bitmap/filters.d.ts +82 -0
- package/dist/bitmap/filters.d.ts.map +1 -0
- package/dist/bitmap/filters.js +657 -0
- package/dist/bitmap/filters.js.map +1 -0
- package/dist/bitmap/images.d.ts +30 -0
- package/dist/bitmap/images.d.ts.map +1 -0
- package/dist/bitmap/images.js +241 -0
- package/dist/bitmap/images.js.map +1 -0
- package/dist/bitmap/kernel.d.ts +12 -0
- package/dist/bitmap/kernel.d.ts.map +1 -0
- package/dist/bitmap/kernel.js +66 -0
- package/dist/bitmap/kernel.js.map +1 -0
- package/dist/bitmap/ops.d.ts +144 -0
- package/dist/bitmap/ops.d.ts.map +1 -0
- package/dist/bitmap/ops.js +1240 -0
- package/dist/bitmap/ops.js.map +1 -0
- package/dist/bitmap/pixel-bender.d.ts +89 -0
- package/dist/bitmap/pixel-bender.d.ts.map +1 -0
- package/dist/bitmap/pixel-bender.js +912 -0
- package/dist/bitmap/pixel-bender.js.map +1 -0
- package/dist/bitmap/png.d.ts +4 -0
- package/dist/bitmap/png.d.ts.map +1 -0
- package/dist/bitmap/png.js +140 -0
- package/dist/bitmap/png.js.map +1 -0
- package/dist/bitmap/turbulence.d.ts +17 -0
- package/dist/bitmap/turbulence.d.ts.map +1 -0
- package/dist/bitmap/turbulence.js +90 -0
- package/dist/bitmap/turbulence.js.map +1 -0
- package/dist/bitmap-filters.d.ts +29 -0
- package/dist/bitmap-filters.d.ts.map +1 -0
- package/dist/bitmap-filters.js +906 -0
- package/dist/bitmap-filters.js.map +1 -0
- package/dist/bitmap-ops.d.ts +113 -0
- package/dist/bitmap-ops.d.ts.map +1 -0
- package/dist/bitmap-ops.js +725 -0
- package/dist/bitmap-ops.js.map +1 -0
- package/dist/bitmap.d.ts +98 -0
- package/dist/bitmap.d.ts.map +1 -0
- package/dist/bitmap.js +314 -0
- package/dist/bitmap.js.map +1 -0
- package/dist/bounds.d.ts +26 -0
- package/dist/bounds.d.ts.map +1 -0
- package/dist/bounds.js +300 -0
- package/dist/bounds.js.map +1 -0
- package/dist/clock.d.ts +60 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +183 -0
- package/dist/clock.js.map +1 -0
- package/dist/color.d.ts +7 -0
- package/dist/color.d.ts.map +1 -0
- package/dist/color.js +42 -0
- package/dist/color.js.map +1 -0
- package/dist/display/bitmapobject.d.ts +18 -0
- package/dist/display/bitmapobject.d.ts.map +1 -0
- package/dist/display/bitmapobject.js +26 -0
- package/dist/display/bitmapobject.js.map +1 -0
- package/dist/display/bounds.d.ts +59 -0
- package/dist/display/bounds.d.ts.map +1 -0
- package/dist/display/bounds.js +521 -0
- package/dist/display/bounds.js.map +1 -0
- package/dist/display/buttonobject.d.ts +76 -0
- package/dist/display/buttonobject.d.ts.map +1 -0
- package/dist/display/buttonobject.js +306 -0
- package/dist/display/buttonobject.js.map +1 -0
- package/dist/display/color.d.ts +9 -0
- package/dist/display/color.d.ts.map +1 -0
- package/dist/display/color.js +41 -0
- package/dist/display/color.js.map +1 -0
- package/dist/display/container.d.ts +49 -0
- package/dist/display/container.d.ts.map +1 -0
- package/dist/display/container.js +151 -0
- package/dist/display/container.js.map +1 -0
- package/dist/display/display.d.ts +11 -0
- package/dist/display/display.d.ts.map +1 -0
- package/dist/display/display.js +15 -0
- package/dist/display/display.js.map +1 -0
- package/dist/display/displayobject.d.ts +363 -0
- package/dist/display/displayobject.d.ts.map +1 -0
- package/dist/display/displayobject.js +665 -0
- package/dist/display/displayobject.js.map +1 -0
- package/dist/display/drawing.d.ts +111 -0
- package/dist/display/drawing.d.ts.map +1 -0
- package/dist/display/drawing.js +614 -0
- package/dist/display/drawing.js.map +1 -0
- package/dist/display/filters.d.ts +99 -0
- package/dist/display/filters.d.ts.map +1 -0
- package/dist/display/filters.js +286 -0
- package/dist/display/filters.js.map +1 -0
- package/dist/display/geometry.d.ts +37 -0
- package/dist/display/geometry.d.ts.map +1 -0
- package/dist/display/geometry.js +190 -0
- package/dist/display/geometry.js.map +1 -0
- package/dist/display/gradients.d.ts +29 -0
- package/dist/display/gradients.d.ts.map +1 -0
- package/dist/display/gradients.js +118 -0
- package/dist/display/gradients.js.map +1 -0
- package/dist/display/graphicsdata.d.ts +41 -0
- package/dist/display/graphicsdata.d.ts.map +1 -0
- package/dist/display/graphicsdata.js +593 -0
- package/dist/display/graphicsdata.js.map +1 -0
- package/dist/display/instantiate.d.ts +15 -0
- package/dist/display/instantiate.d.ts.map +1 -0
- package/dist/display/instantiate.js +72 -0
- package/dist/display/instantiate.js.map +1 -0
- package/dist/display/matrix3d.d.ts +68 -0
- package/dist/display/matrix3d.d.ts.map +1 -0
- package/dist/display/matrix3d.js +374 -0
- package/dist/display/matrix3d.js.map +1 -0
- package/dist/display/morph.d.ts +17 -0
- package/dist/display/morph.d.ts.map +1 -0
- package/dist/display/morph.js +227 -0
- package/dist/display/morph.js.map +1 -0
- package/dist/display/movieclip.d.ts +115 -0
- package/dist/display/movieclip.d.ts.map +1 -0
- package/dist/display/movieclip.js +681 -0
- package/dist/display/movieclip.js.map +1 -0
- package/dist/display/perspective.d.ts +35 -0
- package/dist/display/perspective.d.ts.map +1 -0
- package/dist/display/perspective.js +194 -0
- package/dist/display/perspective.js.map +1 -0
- package/dist/display/plane.d.ts +52 -0
- package/dist/display/plane.d.ts.map +1 -0
- package/dist/display/plane.js +142 -0
- package/dist/display/plane.js.map +1 -0
- package/dist/display/scale9.d.ts +78 -0
- package/dist/display/scale9.d.ts.map +1 -0
- package/dist/display/scale9.js +237 -0
- package/dist/display/scale9.js.map +1 -0
- package/dist/display/shapeobject.d.ts +53 -0
- package/dist/display/shapeobject.d.ts.map +1 -0
- package/dist/display/shapeobject.js +132 -0
- package/dist/display/shapeobject.js.map +1 -0
- package/dist/display/shapes.d.ts +146 -0
- package/dist/display/shapes.d.ts.map +1 -0
- package/dist/display/shapes.js +408 -0
- package/dist/display/shapes.js.map +1 -0
- package/dist/display/stretch.d.ts +42 -0
- package/dist/display/stretch.d.ts.map +1 -0
- package/dist/display/stretch.js +192 -0
- package/dist/display/stretch.js.map +1 -0
- package/dist/display/textobjects.d.ts +98 -0
- package/dist/display/textobjects.d.ts.map +1 -0
- package/dist/display/textobjects.js +223 -0
- package/dist/display/textobjects.js.map +1 -0
- package/dist/display/timeline.d.ts +252 -0
- package/dist/display/timeline.d.ts.map +1 -0
- package/dist/display/timeline.js +472 -0
- package/dist/display/timeline.js.map +1 -0
- package/dist/display/value-lists.d.ts +10 -0
- package/dist/display/value-lists.d.ts.map +1 -0
- package/dist/display/value-lists.js +41 -0
- package/dist/display/value-lists.js.map +1 -0
- package/dist/display/videoobject.d.ts +7 -0
- package/dist/display/videoobject.d.ts.map +1 -0
- package/dist/display/videoobject.js +7 -0
- package/dist/display/videoobject.js.map +1 -0
- package/dist/display/walk.d.ts +45 -0
- package/dist/display/walk.d.ts.map +1 -0
- package/dist/display/walk.js +128 -0
- package/dist/display/walk.js.map +1 -0
- package/dist/display.d.ts +425 -0
- package/dist/display.d.ts.map +1 -0
- package/dist/display.js +1274 -0
- package/dist/display.js.map +1 -0
- package/dist/drawing.d.ts +52 -0
- package/dist/drawing.d.ts.map +1 -0
- package/dist/drawing.js +204 -0
- package/dist/drawing.js.map +1 -0
- package/dist/files.d.ts +77 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +335 -0
- package/dist/files.js.map +1 -0
- package/dist/filters.d.ts +54 -0
- package/dist/filters.d.ts.map +1 -0
- package/dist/filters.js +155 -0
- package/dist/filters.js.map +1 -0
- package/dist/fonts.d.ts +23 -0
- package/dist/fonts.d.ts.map +1 -0
- package/dist/fonts.js +91 -0
- package/dist/fonts.js.map +1 -0
- package/dist/geometry.d.ts +21 -0
- package/dist/geometry.d.ts.map +1 -0
- package/dist/geometry.js +76 -0
- package/dist/geometry.js.map +1 -0
- package/dist/gradients.d.ts +29 -0
- package/dist/gradients.d.ts.map +1 -0
- package/dist/gradients.js +116 -0
- package/dist/gradients.js.map +1 -0
- package/dist/hosts.d.ts +406 -0
- package/dist/hosts.d.ts.map +1 -0
- package/dist/hosts.js +208 -0
- package/dist/hosts.js.map +1 -0
- package/dist/images.d.ts +22 -0
- package/dist/images.d.ts.map +1 -0
- package/dist/images.js +147 -0
- package/dist/images.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/input/activation.d.ts +12 -0
- package/dist/input/activation.d.ts.map +1 -0
- package/dist/input/activation.js +57 -0
- package/dist/input/activation.js.map +1 -0
- package/dist/input/avm1.d.ts +22 -0
- package/dist/input/avm1.d.ts.map +1 -0
- package/dist/input/avm1.js +83 -0
- package/dist/input/avm1.js.map +1 -0
- package/dist/input/canvas.d.ts +19 -0
- package/dist/input/canvas.d.ts.map +1 -0
- package/dist/input/canvas.js +64 -0
- package/dist/input/canvas.js.map +1 -0
- package/dist/input/context-menu.d.ts +16 -0
- package/dist/input/context-menu.d.ts.map +1 -0
- package/dist/input/context-menu.js +64 -0
- package/dist/input/context-menu.js.map +1 -0
- package/dist/input/keyboard.d.ts +138 -0
- package/dist/input/keyboard.d.ts.map +1 -0
- package/dist/input/keyboard.js +459 -0
- package/dist/input/keyboard.js.map +1 -0
- package/dist/input/pointer.d.ts +186 -0
- package/dist/input/pointer.d.ts.map +1 -0
- package/dist/input/pointer.js +864 -0
- package/dist/input/pointer.js.map +1 -0
- package/dist/input/text-editor.d.ts +47 -0
- package/dist/input/text-editor.d.ts.map +1 -0
- package/dist/input/text-editor.js +320 -0
- package/dist/input/text-editor.js.map +1 -0
- package/dist/input/touch.d.ts +41 -0
- package/dist/input/touch.d.ts.map +1 -0
- package/dist/input/touch.js +210 -0
- package/dist/input/touch.js.map +1 -0
- package/dist/input.d.ts +79 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +366 -0
- package/dist/input.js.map +1 -0
- package/dist/keyboard.d.ts +97 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +583 -0
- package/dist/keyboard.js.map +1 -0
- package/dist/localconnection.d.ts +34 -0
- package/dist/localconnection.d.ts.map +1 -0
- package/dist/localconnection.js +91 -0
- package/dist/localconnection.js.map +1 -0
- package/dist/media/audio.d.ts +67 -0
- package/dist/media/audio.d.ts.map +1 -0
- package/dist/media/audio.js +377 -0
- package/dist/media/audio.js.map +1 -0
- package/dist/media/dynamic-sound.d.ts +10 -0
- package/dist/media/dynamic-sound.d.ts.map +1 -0
- package/dist/media/dynamic-sound.js +91 -0
- package/dist/media/dynamic-sound.js.map +1 -0
- package/dist/media/extract.d.ts +41 -0
- package/dist/media/extract.d.ts.map +1 -0
- package/dist/media/extract.js +136 -0
- package/dist/media/extract.js.map +1 -0
- package/dist/media/mp3.d.ts +19 -0
- package/dist/media/mp3.d.ts.map +1 -0
- package/dist/media/mp3.js +153 -0
- package/dist/media/mp3.js.map +1 -0
- package/dist/media/sounds.d.ts +157 -0
- package/dist/media/sounds.d.ts.map +1 -0
- package/dist/media/sounds.js +508 -0
- package/dist/media/sounds.js.map +1 -0
- package/dist/media/streaming-audio.d.ts +3 -0
- package/dist/media/streaming-audio.d.ts.map +1 -0
- package/dist/media/streaming-audio.js +134 -0
- package/dist/media/streaming-audio.js.map +1 -0
- package/dist/morph.d.ts +17 -0
- package/dist/morph.d.ts.map +1 -0
- package/dist/morph.js +218 -0
- package/dist/morph.js.map +1 -0
- package/dist/pixi-blend.d.ts +7 -0
- package/dist/pixi-blend.d.ts.map +1 -0
- package/dist/pixi-blend.js +253 -0
- package/dist/pixi-blend.js.map +1 -0
- package/dist/pixi-color.d.ts +54 -0
- package/dist/pixi-color.d.ts.map +1 -0
- package/dist/pixi-color.js +336 -0
- package/dist/pixi-color.js.map +1 -0
- package/dist/pixi-filters.d.ts +40 -0
- package/dist/pixi-filters.d.ts.map +1 -0
- package/dist/pixi-filters.js +953 -0
- package/dist/pixi-filters.js.map +1 -0
- package/dist/pixi-resolve.d.ts +4 -0
- package/dist/pixi-resolve.d.ts.map +1 -0
- package/dist/pixi-resolve.js +76 -0
- package/dist/pixi-resolve.js.map +1 -0
- package/dist/pixi.d.ts +219 -0
- package/dist/pixi.d.ts.map +1 -0
- package/dist/pixi.js +2169 -0
- package/dist/pixi.js.map +1 -0
- package/dist/player.d.ts +169 -0
- package/dist/player.d.ts.map +1 -0
- package/dist/player.js +617 -0
- package/dist/player.js.map +1 -0
- package/dist/playerglobal/air/net/WebSocket.d.ts +4 -0
- package/dist/playerglobal/air/net/WebSocket.d.ts.map +1 -0
- package/dist/playerglobal/air/net/WebSocket.js +251 -0
- package/dist/playerglobal/air/net/WebSocket.js.map +1 -0
- package/dist/playerglobal/air-library.d.ts +6 -0
- package/dist/playerglobal/air-library.d.ts.map +1 -0
- package/dist/playerglobal/air-library.js +9 -0
- package/dist/playerglobal/air-library.js.map +1 -0
- package/dist/playerglobal/context3d/context.d.ts +5 -0
- package/dist/playerglobal/context3d/context.d.ts.map +1 -0
- package/dist/playerglobal/context3d/context.js +472 -0
- package/dist/playerglobal/context3d/context.js.map +1 -0
- package/dist/playerglobal/context3d/errors.d.ts +11 -0
- package/dist/playerglobal/context3d/errors.d.ts.map +1 -0
- package/dist/playerglobal/context3d/errors.js +101 -0
- package/dist/playerglobal/context3d/errors.js.map +1 -0
- package/dist/playerglobal/context3d/lifecycle.d.ts +61 -0
- package/dist/playerglobal/context3d/lifecycle.d.ts.map +1 -0
- package/dist/playerglobal/context3d/lifecycle.js +342 -0
- package/dist/playerglobal/context3d/lifecycle.js.map +1 -0
- package/dist/playerglobal/context3d/readback.d.ts +21 -0
- package/dist/playerglobal/context3d/readback.d.ts.map +1 -0
- package/dist/playerglobal/context3d/readback.js +56 -0
- package/dist/playerglobal/context3d/readback.js.map +1 -0
- package/dist/playerglobal/context3d/resources.d.ts +5 -0
- package/dist/playerglobal/context3d/resources.d.ts.map +1 -0
- package/dist/playerglobal/context3d/resources.js +298 -0
- package/dist/playerglobal/context3d/resources.js.map +1 -0
- package/dist/playerglobal/context3d.d.ts +6 -0
- package/dist/playerglobal/context3d.d.ts.map +1 -0
- package/dist/playerglobal/context3d.js +96 -0
- package/dist/playerglobal/context3d.js.map +1 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.d.ts +4 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.d.ts.map +1 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.js +22 -0
- package/dist/playerglobal/flash/accessibility/Accessibility.js.map +1 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts +3 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts.map +1 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.js +33 -0
- package/dist/playerglobal/flash/crypto/generateRandomBytes.js.map +1 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts +4 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts.map +1 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.js +62 -0
- package/dist/playerglobal/flash/data/EncryptedLocalStore.js.map +1 -0
- package/dist/playerglobal/flash/desktop/Clipboard.d.ts +9 -0
- package/dist/playerglobal/flash/desktop/Clipboard.d.ts.map +1 -0
- package/dist/playerglobal/flash/desktop/Clipboard.js +174 -0
- package/dist/playerglobal/flash/desktop/Clipboard.js.map +1 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.d.ts +6 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.d.ts.map +1 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.js +180 -0
- package/dist/playerglobal/flash/desktop/NativeApplication.js.map +1 -0
- package/dist/playerglobal/flash/display/AVM1Movie.d.ts +3 -0
- package/dist/playerglobal/flash/display/AVM1Movie.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/AVM1Movie.js +20 -0
- package/dist/playerglobal/flash/display/AVM1Movie.js.map +1 -0
- package/dist/playerglobal/flash/display/Bitmap.d.ts +4 -0
- package/dist/playerglobal/flash/display/Bitmap.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Bitmap.js +59 -0
- package/dist/playerglobal/flash/display/Bitmap.js.map +1 -0
- package/dist/playerglobal/flash/display/BitmapData.d.ts +10 -0
- package/dist/playerglobal/flash/display/BitmapData.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/BitmapData.js +634 -0
- package/dist/playerglobal/flash/display/BitmapData.js.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObject.d.ts +8 -0
- package/dist/playerglobal/flash/display/DisplayObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObject.js +615 -0
- package/dist/playerglobal/flash/display/DisplayObject.js.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts +4 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.js +225 -0
- package/dist/playerglobal/flash/display/DisplayObjectContainer.js.map +1 -0
- package/dist/playerglobal/flash/display/Graphics.d.ts +8 -0
- package/dist/playerglobal/flash/display/Graphics.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Graphics.js +346 -0
- package/dist/playerglobal/flash/display/Graphics.js.map +1 -0
- package/dist/playerglobal/flash/display/InteractiveObject.d.ts +12 -0
- package/dist/playerglobal/flash/display/InteractiveObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/InteractiveObject.js +88 -0
- package/dist/playerglobal/flash/display/InteractiveObject.js.map +1 -0
- package/dist/playerglobal/flash/display/Loader.d.ts +4 -0
- package/dist/playerglobal/flash/display/Loader.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Loader.js +80 -0
- package/dist/playerglobal/flash/display/Loader.js.map +1 -0
- package/dist/playerglobal/flash/display/LoaderInfo.d.ts +8 -0
- package/dist/playerglobal/flash/display/LoaderInfo.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/LoaderInfo.js +129 -0
- package/dist/playerglobal/flash/display/LoaderInfo.js.map +1 -0
- package/dist/playerglobal/flash/display/MovieClip.d.ts +4 -0
- package/dist/playerglobal/flash/display/MovieClip.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/MovieClip.js +195 -0
- package/dist/playerglobal/flash/display/MovieClip.js.map +1 -0
- package/dist/playerglobal/flash/display/NativeWindow.d.ts +8 -0
- package/dist/playerglobal/flash/display/NativeWindow.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/NativeWindow.js +246 -0
- package/dist/playerglobal/flash/display/NativeWindow.js.map +1 -0
- package/dist/playerglobal/flash/display/Shader.d.ts +4 -0
- package/dist/playerglobal/flash/display/Shader.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Shader.js +27 -0
- package/dist/playerglobal/flash/display/Shader.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderData.d.ts +7 -0
- package/dist/playerglobal/flash/display/ShaderData.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderData.js +86 -0
- package/dist/playerglobal/flash/display/ShaderData.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderInput.d.ts +20 -0
- package/dist/playerglobal/flash/display/ShaderInput.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderInput.js +65 -0
- package/dist/playerglobal/flash/display/ShaderInput.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderJob.d.ts +4 -0
- package/dist/playerglobal/flash/display/ShaderJob.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderJob.js +182 -0
- package/dist/playerglobal/flash/display/ShaderJob.js.map +1 -0
- package/dist/playerglobal/flash/display/ShaderParameter.d.ts +4 -0
- package/dist/playerglobal/flash/display/ShaderParameter.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/ShaderParameter.js +24 -0
- package/dist/playerglobal/flash/display/ShaderParameter.js.map +1 -0
- package/dist/playerglobal/flash/display/Shape.d.ts +4 -0
- package/dist/playerglobal/flash/display/Shape.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Shape.js +14 -0
- package/dist/playerglobal/flash/display/Shape.js.map +1 -0
- package/dist/playerglobal/flash/display/SimpleButton.d.ts +4 -0
- package/dist/playerglobal/flash/display/SimpleButton.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/SimpleButton.js +104 -0
- package/dist/playerglobal/flash/display/SimpleButton.js.map +1 -0
- package/dist/playerglobal/flash/display/Sprite.d.ts +4 -0
- package/dist/playerglobal/flash/display/Sprite.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Sprite.js +85 -0
- package/dist/playerglobal/flash/display/Sprite.js.map +1 -0
- package/dist/playerglobal/flash/display/Stage.d.ts +4 -0
- package/dist/playerglobal/flash/display/Stage.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Stage.js +232 -0
- package/dist/playerglobal/flash/display/Stage.js.map +1 -0
- package/dist/playerglobal/flash/display/Stage3D.d.ts +4 -0
- package/dist/playerglobal/flash/display/Stage3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/Stage3D.js +55 -0
- package/dist/playerglobal/flash/display/Stage3D.js.map +1 -0
- package/dist/playerglobal/flash/display/shaders.d.ts +45 -0
- package/dist/playerglobal/flash/display/shaders.d.ts.map +1 -0
- package/dist/playerglobal/flash/display/shaders.js +229 -0
- package/dist/playerglobal/flash/display/shaders.js.map +1 -0
- package/dist/playerglobal/flash/events/Event.d.ts +4 -0
- package/dist/playerglobal/flash/events/Event.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/Event.js +59 -0
- package/dist/playerglobal/flash/events/Event.js.map +1 -0
- package/dist/playerglobal/flash/events/EventDispatcher.d.ts +11 -0
- package/dist/playerglobal/flash/events/EventDispatcher.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/EventDispatcher.js +104 -0
- package/dist/playerglobal/flash/events/EventDispatcher.js.map +1 -0
- package/dist/playerglobal/flash/events/GestureEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/GestureEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/GestureEvent.js +35 -0
- package/dist/playerglobal/flash/events/GestureEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts +3 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.js +9 -0
- package/dist/playerglobal/flash/events/HTTPStatusEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.js +52 -0
- package/dist/playerglobal/flash/events/KeyboardEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/MouseEvent.d.ts +11 -0
- package/dist/playerglobal/flash/events/MouseEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/MouseEvent.js +60 -0
- package/dist/playerglobal/flash/events/MouseEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js +31 -0
- package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/TimerEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/TimerEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/TimerEvent.js +17 -0
- package/dist/playerglobal/flash/events/TimerEvent.js.map +1 -0
- package/dist/playerglobal/flash/events/TouchEvent.d.ts +4 -0
- package/dist/playerglobal/flash/events/TouchEvent.d.ts.map +1 -0
- package/dist/playerglobal/flash/events/TouchEvent.js +46 -0
- package/dist/playerglobal/flash/events/TouchEvent.js.map +1 -0
- package/dist/playerglobal/flash/external/ExternalInterface.d.ts +4 -0
- package/dist/playerglobal/flash/external/ExternalInterface.d.ts.map +1 -0
- package/dist/playerglobal/flash/external/ExternalInterface.js +74 -0
- package/dist/playerglobal/flash/external/ExternalInterface.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/File.d.ts +22 -0
- package/dist/playerglobal/flash/filesystem/File.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/File.js +341 -0
- package/dist/playerglobal/flash/filesystem/File.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/FileStream.d.ts +4 -0
- package/dist/playerglobal/flash/filesystem/FileStream.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/FileStream.js +454 -0
- package/dist/playerglobal/flash/filesystem/FileStream.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/paths.d.ts +43 -0
- package/dist/playerglobal/flash/filesystem/paths.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/paths.js +157 -0
- package/dist/playerglobal/flash/filesystem/paths.js.map +1 -0
- package/dist/playerglobal/flash/filesystem/writes.d.ts +36 -0
- package/dist/playerglobal/flash/filesystem/writes.d.ts.map +1 -0
- package/dist/playerglobal/flash/filesystem/writes.js +144 -0
- package/dist/playerglobal/flash/filesystem/writes.js.map +1 -0
- package/dist/playerglobal/flash/filters/BevelFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/BevelFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BevelFilter.js +5 -0
- package/dist/playerglobal/flash/filters/BevelFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.d.ts +33 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.js +206 -0
- package/dist/playerglobal/flash/filters/BitmapFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/BlurFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/BlurFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/BlurFilter.js +5 -0
- package/dist/playerglobal/flash/filters/BlurFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.js +12 -0
- package/dist/playerglobal/flash/filters/ColorMatrixFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.js +27 -0
- package/dist/playerglobal/flash/filters/ConvolutionFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts +12 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.js +52 -0
- package/dist/playerglobal/flash/filters/DisplacementMapFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/DropShadowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GlowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GlowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GlowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GlowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GradientBevelFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.js +5 -0
- package/dist/playerglobal/flash/filters/GradientGlowFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.d.ts +4 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.js +54 -0
- package/dist/playerglobal/flash/filters/ShaderFilter.js.map +1 -0
- package/dist/playerglobal/flash/filters/filters.d.ts +26 -0
- package/dist/playerglobal/flash/filters/filters.d.ts.map +1 -0
- package/dist/playerglobal/flash/filters/filters.js +287 -0
- package/dist/playerglobal/flash/filters/filters.js.map +1 -0
- package/dist/playerglobal/flash/geom/Matrix3D.d.ts +4 -0
- package/dist/playerglobal/flash/geom/Matrix3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Matrix3D.js +362 -0
- package/dist/playerglobal/flash/geom/Matrix3D.js.map +1 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts +13 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.js +123 -0
- package/dist/playerglobal/flash/geom/PerspectiveProjection.js.map +1 -0
- package/dist/playerglobal/flash/geom/Transform.d.ts +13 -0
- package/dist/playerglobal/flash/geom/Transform.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Transform.js +246 -0
- package/dist/playerglobal/flash/geom/Transform.js.map +1 -0
- package/dist/playerglobal/flash/geom/Utils3D.d.ts +4 -0
- package/dist/playerglobal/flash/geom/Utils3D.d.ts.map +1 -0
- package/dist/playerglobal/flash/geom/Utils3D.js +86 -0
- package/dist/playerglobal/flash/geom/Utils3D.js.map +1 -0
- package/dist/playerglobal/flash/globalization/Collator.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/Collator.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/Collator.js +150 -0
- package/dist/playerglobal/flash/globalization/Collator.js.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.js +273 -0
- package/dist/playerglobal/flash/globalization/CurrencyFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.js +22 -0
- package/dist/playerglobal/flash/globalization/CurrencyParseResult.js.map +1 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.js +464 -0
- package/dist/playerglobal/flash/globalization/DateTimeFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/LocaleID.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/LocaleID.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/LocaleID.js +145 -0
- package/dist/playerglobal/flash/globalization/LocaleID.js.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts +67 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.js +445 -0
- package/dist/playerglobal/flash/globalization/NumberFormatter.js.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts +3 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.js +23 -0
- package/dist/playerglobal/flash/globalization/NumberParseResult.js.map +1 -0
- package/dist/playerglobal/flash/globalization/StringTools.d.ts +4 -0
- package/dist/playerglobal/flash/globalization/StringTools.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/StringTools.js +60 -0
- package/dist/playerglobal/flash/globalization/StringTools.js.map +1 -0
- package/dist/playerglobal/flash/globalization/locale.d.ts +62 -0
- package/dist/playerglobal/flash/globalization/locale.d.ts.map +1 -0
- package/dist/playerglobal/flash/globalization/locale.js +191 -0
- package/dist/playerglobal/flash/globalization/locale.js.map +1 -0
- package/dist/playerglobal/flash/media/Camera.d.ts +4 -0
- package/dist/playerglobal/flash/media/Camera.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Camera.js +90 -0
- package/dist/playerglobal/flash/media/Camera.js.map +1 -0
- package/dist/playerglobal/flash/media/Microphone.d.ts +4 -0
- package/dist/playerglobal/flash/media/Microphone.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Microphone.js +127 -0
- package/dist/playerglobal/flash/media/Microphone.js.map +1 -0
- package/dist/playerglobal/flash/media/Sound.d.ts +16 -0
- package/dist/playerglobal/flash/media/Sound.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Sound.js +544 -0
- package/dist/playerglobal/flash/media/Sound.js.map +1 -0
- package/dist/playerglobal/flash/media/SoundMixer.d.ts +4 -0
- package/dist/playerglobal/flash/media/SoundMixer.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/SoundMixer.js +75 -0
- package/dist/playerglobal/flash/media/SoundMixer.js.map +1 -0
- package/dist/playerglobal/flash/media/SoundTransform.d.ts +4 -0
- package/dist/playerglobal/flash/media/SoundTransform.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/SoundTransform.js +41 -0
- package/dist/playerglobal/flash/media/SoundTransform.js.map +1 -0
- package/dist/playerglobal/flash/media/Video.d.ts +4 -0
- package/dist/playerglobal/flash/media/Video.d.ts.map +1 -0
- package/dist/playerglobal/flash/media/Video.js +44 -0
- package/dist/playerglobal/flash/media/Video.js.map +1 -0
- package/dist/playerglobal/flash/net/FileFilter.d.ts +4 -0
- package/dist/playerglobal/flash/net/FileFilter.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/FileFilter.js +28 -0
- package/dist/playerglobal/flash/net/FileFilter.js.map +1 -0
- package/dist/playerglobal/flash/net/FileReference.d.ts +4 -0
- package/dist/playerglobal/flash/net/FileReference.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/FileReference.js +198 -0
- package/dist/playerglobal/flash/net/FileReference.js.map +1 -0
- package/dist/playerglobal/flash/net/LocalConnection.d.ts +5 -0
- package/dist/playerglobal/flash/net/LocalConnection.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/LocalConnection.js +168 -0
- package/dist/playerglobal/flash/net/LocalConnection.js.map +1 -0
- package/dist/playerglobal/flash/net/NetConnection.d.ts +4 -0
- package/dist/playerglobal/flash/net/NetConnection.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/NetConnection.js +156 -0
- package/dist/playerglobal/flash/net/NetConnection.js.map +1 -0
- package/dist/playerglobal/flash/net/SharedObject.d.ts +4 -0
- package/dist/playerglobal/flash/net/SharedObject.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/SharedObject.js +300 -0
- package/dist/playerglobal/flash/net/SharedObject.js.map +1 -0
- package/dist/playerglobal/flash/net/Socket.d.ts +4 -0
- package/dist/playerglobal/flash/net/Socket.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/Socket.js +283 -0
- package/dist/playerglobal/flash/net/Socket.js.map +1 -0
- package/dist/playerglobal/flash/net/URLRequest.d.ts +4 -0
- package/dist/playerglobal/flash/net/URLRequest.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/URLRequest.js +94 -0
- package/dist/playerglobal/flash/net/URLRequest.js.map +1 -0
- package/dist/playerglobal/flash/net/URLStream.d.ts +4 -0
- package/dist/playerglobal/flash/net/URLStream.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/URLStream.js +147 -0
- package/dist/playerglobal/flash/net/URLStream.js.map +1 -0
- package/dist/playerglobal/flash/net/XMLSocket.d.ts +4 -0
- package/dist/playerglobal/flash/net/XMLSocket.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/XMLSocket.js +15 -0
- package/dist/playerglobal/flash/net/XMLSocket.js.map +1 -0
- package/dist/playerglobal/flash/net/local-modern.d.ts +4 -0
- package/dist/playerglobal/flash/net/local-modern.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/local-modern.js +143 -0
- package/dist/playerglobal/flash/net/local-modern.js.map +1 -0
- package/dist/playerglobal/flash/net/local-values.d.ts +6 -0
- package/dist/playerglobal/flash/net/local-values.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/local-values.js +218 -0
- package/dist/playerglobal/flash/net/local-values.js.map +1 -0
- package/dist/playerglobal/flash/net/navigateToURL.d.ts +4 -0
- package/dist/playerglobal/flash/net/navigateToURL.d.ts.map +1 -0
- package/dist/playerglobal/flash/net/navigateToURL.js +30 -0
- package/dist/playerglobal/flash/net/navigateToURL.js.map +1 -0
- package/dist/playerglobal/flash/profiler/Telemetry.d.ts +3 -0
- package/dist/playerglobal/flash/profiler/Telemetry.d.ts.map +1 -0
- package/dist/playerglobal/flash/profiler/Telemetry.js +26 -0
- package/dist/playerglobal/flash/profiler/Telemetry.js.map +1 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.d.ts +3 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.d.ts.map +1 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.js +13 -0
- package/dist/playerglobal/flash/sensors/Accelerometer.js.map +1 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.d.ts +4 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.js +70 -0
- package/dist/playerglobal/flash/system/ApplicationDomain.js.map +1 -0
- package/dist/playerglobal/flash/system/Capabilities.d.ts +4 -0
- package/dist/playerglobal/flash/system/Capabilities.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Capabilities.js +164 -0
- package/dist/playerglobal/flash/system/Capabilities.js.map +1 -0
- package/dist/playerglobal/flash/system/FSCommand.d.ts +4 -0
- package/dist/playerglobal/flash/system/FSCommand.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/FSCommand.js +18 -0
- package/dist/playerglobal/flash/system/FSCommand.js.map +1 -0
- package/dist/playerglobal/flash/system/FSCommandHost.d.ts +4 -0
- package/dist/playerglobal/flash/system/FSCommandHost.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/FSCommandHost.js +18 -0
- package/dist/playerglobal/flash/system/FSCommandHost.js.map +1 -0
- package/dist/playerglobal/flash/system/Security.d.ts +4 -0
- package/dist/playerglobal/flash/system/Security.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Security.js +47 -0
- package/dist/playerglobal/flash/system/Security.js.map +1 -0
- package/dist/playerglobal/flash/system/SecurityDomain.d.ts +4 -0
- package/dist/playerglobal/flash/system/SecurityDomain.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/SecurityDomain.js +22 -0
- package/dist/playerglobal/flash/system/SecurityDomain.js.map +1 -0
- package/dist/playerglobal/flash/system/System.d.ts +4 -0
- package/dist/playerglobal/flash/system/System.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/System.js +74 -0
- package/dist/playerglobal/flash/system/System.js.map +1 -0
- package/dist/playerglobal/flash/system/Worker.d.ts +6 -0
- package/dist/playerglobal/flash/system/Worker.d.ts.map +1 -0
- package/dist/playerglobal/flash/system/Worker.js +113 -0
- package/dist/playerglobal/flash/system/Worker.js.map +1 -0
- package/dist/playerglobal/flash/text/Font.d.ts +8 -0
- package/dist/playerglobal/flash/text/Font.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/Font.js +96 -0
- package/dist/playerglobal/flash/text/Font.js.map +1 -0
- package/dist/playerglobal/flash/text/StaticText.d.ts +3 -0
- package/dist/playerglobal/flash/text/StaticText.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/StaticText.js +17 -0
- package/dist/playerglobal/flash/text/StaticText.js.map +1 -0
- package/dist/playerglobal/flash/text/StyleSheet.d.ts +9 -0
- package/dist/playerglobal/flash/text/StyleSheet.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/StyleSheet.js +66 -0
- package/dist/playerglobal/flash/text/StyleSheet.js.map +1 -0
- package/dist/playerglobal/flash/text/TextField.d.ts +4 -0
- package/dist/playerglobal/flash/text/TextField.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/TextField.js +708 -0
- package/dist/playerglobal/flash/text/TextField.js.map +1 -0
- package/dist/playerglobal/flash/text/TextRenderer.d.ts +4 -0
- package/dist/playerglobal/flash/text/TextRenderer.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/TextRenderer.js +78 -0
- package/dist/playerglobal/flash/text/TextRenderer.js.map +1 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.d.ts +4 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.js +142 -0
- package/dist/playerglobal/flash/text/engine/FontDescription.js.map +1 -0
- package/dist/playerglobal/flash/text/engine/TabStop.d.ts +4 -0
- package/dist/playerglobal/flash/text/engine/TabStop.d.ts.map +1 -0
- package/dist/playerglobal/flash/text/engine/TabStop.js +47 -0
- package/dist/playerglobal/flash/text/engine/TabStop.js.map +1 -0
- package/dist/playerglobal/flash/trace/Trace.d.ts +3 -0
- package/dist/playerglobal/flash/trace/Trace.d.ts.map +1 -0
- package/dist/playerglobal/flash/trace/Trace.js +18 -0
- package/dist/playerglobal/flash/trace/Trace.js.map +1 -0
- package/dist/playerglobal/flash/ui/ContextMenu.d.ts +4 -0
- package/dist/playerglobal/flash/ui/ContextMenu.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/ContextMenu.js +18 -0
- package/dist/playerglobal/flash/ui/ContextMenu.js.map +1 -0
- package/dist/playerglobal/flash/ui/GameInput.d.ts +4 -0
- package/dist/playerglobal/flash/ui/GameInput.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/GameInput.js +20 -0
- package/dist/playerglobal/flash/ui/GameInput.js.map +1 -0
- package/dist/playerglobal/flash/ui/Keyboard.d.ts +3 -0
- package/dist/playerglobal/flash/ui/Keyboard.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Keyboard.js +28 -0
- package/dist/playerglobal/flash/ui/Keyboard.js.map +1 -0
- package/dist/playerglobal/flash/ui/Mouse.d.ts +4 -0
- package/dist/playerglobal/flash/ui/Mouse.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Mouse.js +128 -0
- package/dist/playerglobal/flash/ui/Mouse.js.map +1 -0
- package/dist/playerglobal/flash/ui/Multitouch.d.ts +4 -0
- package/dist/playerglobal/flash/ui/Multitouch.d.ts.map +1 -0
- package/dist/playerglobal/flash/ui/Multitouch.js +47 -0
- package/dist/playerglobal/flash/ui/Multitouch.js.map +1 -0
- package/dist/playerglobal/flash/utils/ByteArray.d.ts +5 -0
- package/dist/playerglobal/flash/utils/ByteArray.d.ts.map +1 -0
- package/dist/playerglobal/flash/utils/ByteArray.js +156 -0
- package/dist/playerglobal/flash/utils/ByteArray.js.map +1 -0
- package/dist/playerglobal/flash/utils/Timer.d.ts +4 -0
- package/dist/playerglobal/flash/utils/Timer.d.ts.map +1 -0
- package/dist/playerglobal/flash/utils/Timer.js +26 -0
- package/dist/playerglobal/flash/utils/Timer.js.map +1 -0
- package/dist/playerglobal/flash/xml/XMLDocument.d.ts +4 -0
- package/dist/playerglobal/flash/xml/XMLDocument.d.ts.map +1 -0
- package/dist/playerglobal/flash/xml/XMLDocument.js +75 -0
- package/dist/playerglobal/flash/xml/XMLDocument.js.map +1 -0
- package/dist/playerglobal/index.d.ts +6 -0
- package/dist/playerglobal/index.d.ts.map +1 -0
- package/dist/playerglobal/index.js +225 -0
- package/dist/playerglobal/index.js.map +1 -0
- package/dist/playerglobal/libraries.d.ts +5 -0
- package/dist/playerglobal/libraries.d.ts.map +1 -0
- package/dist/playerglobal/libraries.js +11 -0
- package/dist/playerglobal/libraries.js.map +1 -0
- package/dist/playerglobal/natives.d.ts +10 -0
- package/dist/playerglobal/natives.d.ts.map +1 -0
- package/dist/playerglobal/natives.js +53 -0
- package/dist/playerglobal/natives.js.map +1 -0
- package/dist/playerglobal/playerglobal-library.d.ts +3 -0
- package/dist/playerglobal/playerglobal-library.d.ts.map +1 -0
- package/dist/playerglobal/playerglobal-library.js +23 -0
- package/dist/playerglobal/playerglobal-library.js.map +1 -0
- package/dist/playerglobal/toplevel.d.ts +14 -0
- package/dist/playerglobal/toplevel.d.ts.map +1 -0
- package/dist/playerglobal/toplevel.js +123 -0
- package/dist/playerglobal/toplevel.js.map +1 -0
- package/dist/png.d.ts +4 -0
- package/dist/png.d.ts.map +1 -0
- package/dist/png.js +140 -0
- package/dist/png.js.map +1 -0
- package/dist/render/art.d.ts +148 -0
- package/dist/render/art.d.ts.map +1 -0
- package/dist/render/art.js +575 -0
- package/dist/render/art.js.map +1 -0
- package/dist/render/batchers.d.ts +23 -0
- package/dist/render/batchers.d.ts.map +1 -0
- package/dist/render/batchers.js +52 -0
- package/dist/render/batchers.js.map +1 -0
- package/dist/render/bitmaps.d.ts +117 -0
- package/dist/render/bitmaps.d.ts.map +1 -0
- package/dist/render/bitmaps.js +422 -0
- package/dist/render/bitmaps.js.map +1 -0
- package/dist/render/blend.d.ts +37 -0
- package/dist/render/blend.d.ts.map +1 -0
- package/dist/render/blend.js +195 -0
- package/dist/render/blend.js.map +1 -0
- package/dist/render/color.d.ts +111 -0
- package/dist/render/color.d.ts.map +1 -0
- package/dist/render/color.js +533 -0
- package/dist/render/color.js.map +1 -0
- package/dist/render/compositing.d.ts +77 -0
- package/dist/render/compositing.d.ts.map +1 -0
- package/dist/render/compositing.js +188 -0
- package/dist/render/compositing.js.map +1 -0
- package/dist/render/filters.d.ts +98 -0
- package/dist/render/filters.d.ts.map +1 -0
- package/dist/render/filters.js +1326 -0
- package/dist/render/filters.js.map +1 -0
- package/dist/render/hooks.d.ts +4 -0
- package/dist/render/hooks.d.ts.map +1 -0
- package/dist/render/hooks.js +48 -0
- package/dist/render/hooks.js.map +1 -0
- package/dist/render/node.d.ts +139 -0
- package/dist/render/node.d.ts.map +1 -0
- package/dist/render/node.js +59 -0
- package/dist/render/node.js.map +1 -0
- package/dist/render/patches.d.ts +54 -0
- package/dist/render/patches.d.ts.map +1 -0
- package/dist/render/patches.js +154 -0
- package/dist/render/patches.js.map +1 -0
- package/dist/render/planes.d.ts +74 -0
- package/dist/render/planes.d.ts.map +1 -0
- package/dist/render/planes.js +267 -0
- package/dist/render/planes.js.map +1 -0
- package/dist/render/pointer.d.ts +5 -0
- package/dist/render/pointer.d.ts.map +1 -0
- package/dist/render/pointer.js +279 -0
- package/dist/render/pointer.js.map +1 -0
- package/dist/render/pools.d.ts +122 -0
- package/dist/render/pools.d.ts.map +1 -0
- package/dist/render/pools.js +238 -0
- package/dist/render/pools.js.map +1 -0
- package/dist/render/resolve.d.ts +4 -0
- package/dist/render/resolve.d.ts.map +1 -0
- package/dist/render/resolve.js +76 -0
- package/dist/render/resolve.js.map +1 -0
- package/dist/render/saffron.d.ts +135 -0
- package/dist/render/saffron.d.ts.map +1 -0
- package/dist/render/saffron.js +725 -0
- package/dist/render/saffron.js.map +1 -0
- package/dist/render/settle.d.ts +60 -0
- package/dist/render/settle.d.ts.map +1 -0
- package/dist/render/settle.js +128 -0
- package/dist/render/settle.js.map +1 -0
- package/dist/render/shared.d.ts +25 -0
- package/dist/render/shared.d.ts.map +1 -0
- package/dist/render/shared.js +33 -0
- package/dist/render/shared.js.map +1 -0
- package/dist/render/snapshot.d.ts +21 -0
- package/dist/render/snapshot.d.ts.map +1 -0
- package/dist/render/snapshot.js +91 -0
- package/dist/render/snapshot.js.map +1 -0
- package/dist/render/spares.d.ts +56 -0
- package/dist/render/spares.d.ts.map +1 -0
- package/dist/render/spares.js +160 -0
- package/dist/render/spares.js.map +1 -0
- package/dist/render/strokes.d.ts +107 -0
- package/dist/render/strokes.d.ts.map +1 -0
- package/dist/render/strokes.js +448 -0
- package/dist/render/strokes.js.map +1 -0
- package/dist/render/table.d.ts +213 -0
- package/dist/render/table.d.ts.map +1 -0
- package/dist/render/table.js +795 -0
- package/dist/render/table.js.map +1 -0
- package/dist/render/tessellate.d.ts +89 -0
- package/dist/render/tessellate.d.ts.map +1 -0
- package/dist/render/tessellate.js +386 -0
- package/dist/render/tessellate.js.map +1 -0
- package/dist/render/text.d.ts +40 -0
- package/dist/render/text.d.ts.map +1 -0
- package/dist/render/text.js +309 -0
- package/dist/render/text.js.map +1 -0
- package/dist/render/three.d.ts +83 -0
- package/dist/render/three.d.ts.map +1 -0
- package/dist/render/three.js +511 -0
- package/dist/render/three.js.map +1 -0
- package/dist/render/triangles.d.ts +28 -0
- package/dist/render/triangles.d.ts.map +1 -0
- package/dist/render/triangles.js +189 -0
- package/dist/render/triangles.js.map +1 -0
- package/dist/render/view.d.ts +238 -0
- package/dist/render/view.d.ts.map +1 -0
- package/dist/render/view.js +1173 -0
- package/dist/render/view.js.map +1 -0
- package/dist/render/worker/bitmaps.d.ts +43 -0
- package/dist/render/worker/bitmaps.d.ts.map +1 -0
- package/dist/render/worker/bitmaps.js +151 -0
- package/dist/render/worker/bitmaps.js.map +1 -0
- package/dist/render/worker/drawing.d.ts +21 -0
- package/dist/render/worker/drawing.d.ts.map +1 -0
- package/dist/render/worker/drawing.js +356 -0
- package/dist/render/worker/drawing.js.map +1 -0
- package/dist/render/worker/filters.d.ts +7 -0
- package/dist/render/worker/filters.d.ts.map +1 -0
- package/dist/render/worker/filters.js +125 -0
- package/dist/render/worker/filters.js.map +1 -0
- package/dist/render/worker/frames.d.ts +32 -0
- package/dist/render/worker/frames.d.ts.map +1 -0
- package/dist/render/worker/frames.js +124 -0
- package/dist/render/worker/frames.js.map +1 -0
- package/dist/render/worker/host.d.ts +60 -0
- package/dist/render/worker/host.d.ts.map +1 -0
- package/dist/render/worker/host.js +297 -0
- package/dist/render/worker/host.js.map +1 -0
- package/dist/render/worker/libraries.d.ts +36 -0
- package/dist/render/worker/libraries.d.ts.map +1 -0
- package/dist/render/worker/libraries.js +153 -0
- package/dist/render/worker/libraries.js.map +1 -0
- package/dist/render/worker/presentation.d.ts +18 -0
- package/dist/render/worker/presentation.d.ts.map +1 -0
- package/dist/render/worker/presentation.js +47 -0
- package/dist/render/worker/presentation.js.map +1 -0
- package/dist/render/worker/renderer.d.ts +4 -0
- package/dist/render/worker/renderer.d.ts.map +1 -0
- package/dist/render/worker/renderer.js +21 -0
- package/dist/render/worker/renderer.js.map +1 -0
- package/dist/render/worker/scene.d.ts +32 -0
- package/dist/render/worker/scene.d.ts.map +1 -0
- package/dist/render/worker/scene.js +611 -0
- package/dist/render/worker/scene.js.map +1 -0
- package/dist/render/worker/text.d.ts +47 -0
- package/dist/render/worker/text.d.ts.map +1 -0
- package/dist/render/worker/text.js +261 -0
- package/dist/render/worker/text.js.map +1 -0
- package/dist/render/worker/thread.d.ts +23 -0
- package/dist/render/worker/thread.d.ts.map +1 -0
- package/dist/render/worker/thread.js +107 -0
- package/dist/render/worker/thread.js.map +1 -0
- package/dist/render/worker/values.d.ts +18 -0
- package/dist/render/worker/values.d.ts.map +1 -0
- package/dist/render/worker/values.js +64 -0
- package/dist/render/worker/values.js.map +1 -0
- package/dist/scene/advanced.d.ts +28 -0
- package/dist/scene/advanced.d.ts.map +1 -0
- package/dist/scene/advanced.js +182 -0
- package/dist/scene/advanced.js.map +1 -0
- package/dist/scene/context-menu.d.ts +16 -0
- package/dist/scene/context-menu.d.ts.map +1 -0
- package/dist/scene/context-menu.js +230 -0
- package/dist/scene/context-menu.js.map +1 -0
- package/dist/scene/fills.d.ts +45 -0
- package/dist/scene/fills.d.ts.map +1 -0
- package/dist/scene/fills.js +39 -0
- package/dist/scene/fills.js.map +1 -0
- package/dist/scene/filter-layers.d.ts +99 -0
- package/dist/scene/filter-layers.d.ts.map +1 -0
- package/dist/scene/filter-layers.js +352 -0
- package/dist/scene/filter-layers.js.map +1 -0
- package/dist/scene/filters.d.ts +47 -0
- package/dist/scene/filters.d.ts.map +1 -0
- package/dist/scene/filters.js +314 -0
- package/dist/scene/filters.js.map +1 -0
- package/dist/scene/hidden.d.ts +8 -0
- package/dist/scene/hidden.d.ts.map +1 -0
- package/dist/scene/hidden.js +33 -0
- package/dist/scene/hidden.js.map +1 -0
- package/dist/scene/lines.d.ts +87 -0
- package/dist/scene/lines.d.ts.map +1 -0
- package/dist/scene/lines.js +242 -0
- package/dist/scene/lines.js.map +1 -0
- package/dist/scene/masks.d.ts +32 -0
- package/dist/scene/masks.d.ts.map +1 -0
- package/dist/scene/masks.js +136 -0
- package/dist/scene/masks.js.map +1 -0
- package/dist/scene/paints.d.ts +86 -0
- package/dist/scene/paints.d.ts.map +1 -0
- package/dist/scene/paints.js +282 -0
- package/dist/scene/paints.js.map +1 -0
- package/dist/scene/parts.d.ts +57 -0
- package/dist/scene/parts.d.ts.map +1 -0
- package/dist/scene/parts.js +156 -0
- package/dist/scene/parts.js.map +1 -0
- package/dist/scene/pixel-bender-glsl.d.ts +32 -0
- package/dist/scene/pixel-bender-glsl.d.ts.map +1 -0
- package/dist/scene/pixel-bender-glsl.js +618 -0
- package/dist/scene/pixel-bender-glsl.js.map +1 -0
- package/dist/scene/planes.d.ts +89 -0
- package/dist/scene/planes.d.ts.map +1 -0
- package/dist/scene/planes.js +177 -0
- package/dist/scene/planes.js.map +1 -0
- package/dist/scene/pointer.d.ts +18 -0
- package/dist/scene/pointer.d.ts.map +1 -0
- package/dist/scene/pointer.js +245 -0
- package/dist/scene/pointer.js.map +1 -0
- package/dist/scene/shapes.d.ts +56 -0
- package/dist/scene/shapes.d.ts.map +1 -0
- package/dist/scene/shapes.js +300 -0
- package/dist/scene/shapes.js.map +1 -0
- package/dist/scene/stale-shapes.d.ts +18 -0
- package/dist/scene/stale-shapes.d.ts.map +1 -0
- package/dist/scene/stale-shapes.js +39 -0
- package/dist/scene/stale-shapes.js.map +1 -0
- package/dist/scene/strokes.d.ts +20 -0
- package/dist/scene/strokes.d.ts.map +1 -0
- package/dist/scene/strokes.js +111 -0
- package/dist/scene/strokes.js.map +1 -0
- package/dist/scene/text-items.d.ts +48 -0
- package/dist/scene/text-items.d.ts.map +1 -0
- package/dist/scene/text-items.js +206 -0
- package/dist/scene/text-items.js.map +1 -0
- package/dist/scene/text.d.ts +98 -0
- package/dist/scene/text.d.ts.map +1 -0
- package/dist/scene/text.js +249 -0
- package/dist/scene/text.js.map +1 -0
- package/dist/scene/view.d.ts +277 -0
- package/dist/scene/view.d.ts.map +1 -0
- package/dist/scene/view.js +1185 -0
- package/dist/scene/view.js.map +1 -0
- package/dist/scripting/clipboard.d.ts +61 -0
- package/dist/scripting/clipboard.d.ts.map +1 -0
- package/dist/scripting/clipboard.js +147 -0
- package/dist/scripting/clipboard.js.map +1 -0
- package/dist/scripting/code.d.ts +294 -0
- package/dist/scripting/code.d.ts.map +1 -0
- package/dist/scripting/code.js +901 -0
- package/dist/scripting/code.js.map +1 -0
- package/dist/scripting/evaluate.d.ts +38 -0
- package/dist/scripting/evaluate.d.ts.map +1 -0
- package/dist/scripting/evaluate.js +145 -0
- package/dist/scripting/evaluate.js.map +1 -0
- package/dist/scripting/events.d.ts +69 -0
- package/dist/scripting/events.d.ts.map +1 -0
- package/dist/scripting/events.js +173 -0
- package/dist/scripting/events.js.map +1 -0
- package/dist/scripting/handover.d.ts +76 -0
- package/dist/scripting/handover.d.ts.map +1 -0
- package/dist/scripting/handover.js +183 -0
- package/dist/scripting/handover.js.map +1 -0
- package/dist/scripting/lazy.d.ts +9 -0
- package/dist/scripting/lazy.d.ts.map +1 -0
- package/dist/scripting/lazy.js +39 -0
- package/dist/scripting/lazy.js.map +1 -0
- package/dist/scripting/lifecycle.d.ts +90 -0
- package/dist/scripting/lifecycle.d.ts.map +1 -0
- package/dist/scripting/lifecycle.js +273 -0
- package/dist/scripting/lifecycle.js.map +1 -0
- package/dist/scripting/loads.d.ts +220 -0
- package/dist/scripting/loads.d.ts.map +1 -0
- package/dist/scripting/loads.js +861 -0
- package/dist/scripting/loads.js.map +1 -0
- package/dist/scripting/sha256.d.ts +5 -0
- package/dist/scripting/sha256.d.ts.map +1 -0
- package/dist/scripting/sha256.js +96 -0
- package/dist/scripting/sha256.js.map +1 -0
- package/dist/scripting/symbols.d.ts +74 -0
- package/dist/scripting/symbols.d.ts.map +1 -0
- package/dist/scripting/symbols.js +349 -0
- package/dist/scripting/symbols.js.map +1 -0
- package/dist/scripting/timers.d.ts +145 -0
- package/dist/scripting/timers.d.ts.map +1 -0
- package/dist/scripting/timers.js +435 -0
- package/dist/scripting/timers.js.map +1 -0
- package/dist/scripting/workers.d.ts +138 -0
- package/dist/scripting/workers.d.ts.map +1 -0
- package/dist/scripting/workers.js +924 -0
- package/dist/scripting/workers.js.map +1 -0
- package/dist/scripting.d.ts +486 -0
- package/dist/scripting.d.ts.map +1 -0
- package/dist/scripting.js +1019 -0
- package/dist/scripting.js.map +1 -0
- package/dist/sha256.d.ts +5 -0
- package/dist/sha256.d.ts.map +1 -0
- package/dist/sha256.js +96 -0
- package/dist/sha256.js.map +1 -0
- package/dist/shapes.d.ts +71 -0
- package/dist/shapes.d.ts.map +1 -0
- package/dist/shapes.js +340 -0
- package/dist/shapes.js.map +1 -0
- package/dist/stage.d.ts +3 -0
- package/dist/stage.d.ts.map +1 -0
- package/dist/stage.js +5 -0
- package/dist/stage.js.map +1 -0
- package/dist/static-text.d.ts +33 -0
- package/dist/static-text.d.ts.map +1 -0
- package/dist/static-text.js +105 -0
- package/dist/static-text.js.map +1 -0
- package/dist/text/csm.d.ts +34 -0
- package/dist/text/csm.d.ts.map +1 -0
- package/dist/text/csm.js +114 -0
- package/dist/text/csm.js.map +1 -0
- package/dist/text/css.d.ts +9 -0
- package/dist/text/css.d.ts.map +1 -0
- package/dist/text/css.js +168 -0
- package/dist/text/css.js.map +1 -0
- package/dist/text/fonts.d.ts +23 -0
- package/dist/text/fonts.d.ts.map +1 -0
- package/dist/text/fonts.js +98 -0
- package/dist/text/fonts.js.map +1 -0
- package/dist/text/layout.d.ts +79 -0
- package/dist/text/layout.d.ts.map +1 -0
- package/dist/text/layout.js +394 -0
- package/dist/text/layout.js.map +1 -0
- package/dist/text/saffron.d.ts +121 -0
- package/dist/text/saffron.d.ts.map +1 -0
- package/dist/text/saffron.js +442 -0
- package/dist/text/saffron.js.map +1 -0
- package/dist/text/static.d.ts +33 -0
- package/dist/text/static.d.ts.map +1 -0
- package/dist/text/static.js +110 -0
- package/dist/text/static.js.map +1 -0
- package/dist/text/text.d.ts +69 -0
- package/dist/text/text.d.ts.map +1 -0
- package/dist/text/text.js +432 -0
- package/dist/text/text.js.map +1 -0
- package/dist/text-layout.d.ts +66 -0
- package/dist/text-layout.d.ts.map +1 -0
- package/dist/text-layout.js +315 -0
- package/dist/text-layout.js.map +1 -0
- package/dist/text.d.ts +67 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +383 -0
- package/dist/text.js.map +1 -0
- package/dist/timeline.d.ts +150 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +266 -0
- package/dist/timeline.js.map +1 -0
- package/dist/workers/protocol.d.ts +128 -0
- package/dist/workers/protocol.d.ts.map +1 -0
- package/dist/workers/protocol.js +2 -0
- package/dist/workers/protocol.js.map +1 -0
- package/dist/workers/thread.d.ts +15 -0
- package/dist/workers/thread.d.ts.map +1 -0
- package/dist/workers/thread.js +160 -0
- package/dist/workers/thread.js.map +1 -0
- package/dist/workers/wire.d.ts +53 -0
- package/dist/workers/wire.d.ts.map +1 -0
- package/dist/workers/wire.js +199 -0
- package/dist/workers/wire.js.map +1 -0
- package/package.json +55 -3
- package/src/air-definitions.ts +129 -0
- package/src/avm1/amf.ts +564 -0
- package/src/avm1/avm1.ts +1652 -0
- package/src/avm1/bindings.ts +257 -0
- package/src/avm1/classes.ts +85 -0
- package/src/avm1/clips.ts +305 -0
- package/src/avm1/compile.ts +179 -0
- package/src/avm1/external.ts +99 -0
- package/src/avm1/focus.ts +342 -0
- package/src/avm1/globals/BitmapData.ts +736 -0
- package/src/avm1/globals/Button.ts +43 -0
- package/src/avm1/globals/Color.ts +138 -0
- package/src/avm1/globals/ExternalInterface.ts +402 -0
- package/src/avm1/globals/FileReference.ts +249 -0
- package/src/avm1/globals/Key.ts +102 -0
- package/src/avm1/globals/LoadVars.ts +280 -0
- package/src/avm1/globals/LocalConnection.ts +137 -0
- package/src/avm1/globals/MovieClip.ts +1365 -0
- package/src/avm1/globals/MovieClipLoader.ts +150 -0
- package/src/avm1/globals/NetConnection.ts +352 -0
- package/src/avm1/globals/PrintJob.ts +57 -0
- package/src/avm1/globals/Selection.ts +103 -0
- package/src/avm1/globals/SharedObject.ts +300 -0
- package/src/avm1/globals/Sound.ts +326 -0
- package/src/avm1/globals/Stage.ts +19 -0
- package/src/avm1/globals/StyleSheet.ts +280 -0
- package/src/avm1/globals/TextField.ts +611 -0
- package/src/avm1/globals/TextFormat.ts +250 -0
- package/src/avm1/globals/TextSnapshot.ts +128 -0
- package/src/avm1/globals/XML.ts +521 -0
- package/src/avm1/globals/XMLNode.ts +502 -0
- package/src/avm1/globals/XMLSocket.ts +267 -0
- package/src/avm1/globals/drawing.ts +253 -0
- package/src/avm1/globals/filters.ts +782 -0
- package/src/avm1/globals/geom.ts +887 -0
- package/src/avm1/input.ts +556 -0
- package/src/avm1/keyboard.ts +133 -0
- package/src/avm1/loads.ts +461 -0
- package/src/avm1/net.ts +287 -0
- package/src/avm1/paths.ts +132 -0
- package/src/avm1/pointer.ts +607 -0
- package/src/avm1/queue.ts +335 -0
- package/src/avm1/sound.ts +135 -0
- package/src/avm1/swf.ts +193 -0
- package/src/avm1/timers.ts +141 -0
- package/src/bitmap/bitmap.ts +796 -0
- package/src/bitmap/draw.ts +96 -0
- package/src/bitmap/dxt.ts +20 -0
- package/src/bitmap/filters.ts +810 -0
- package/src/bitmap/images.ts +304 -0
- package/src/bitmap/kernel.ts +77 -0
- package/src/bitmap/ops.ts +1608 -0
- package/src/bitmap/pixel-bender.ts +1089 -0
- package/src/bitmap/png.ts +152 -0
- package/src/bitmap/turbulence.ts +117 -0
- package/src/clock.ts +196 -0
- package/src/display/bitmapobject.ts +31 -0
- package/src/display/bounds.ts +702 -0
- package/src/display/buttonobject.ts +382 -0
- package/src/display/color.ts +54 -0
- package/src/display/container.ts +169 -0
- package/src/display/display.ts +28 -0
- package/src/display/displayobject.ts +823 -0
- package/src/display/drawing.ts +744 -0
- package/src/display/filters.ts +393 -0
- package/src/display/geometry.ts +237 -0
- package/src/display/gradients.ts +165 -0
- package/src/display/graphicsdata.ts +745 -0
- package/src/display/instantiate.ts +95 -0
- package/src/display/matrix3d.ts +461 -0
- package/src/display/morph.ts +275 -0
- package/src/display/movieclip.ts +771 -0
- package/src/display/perspective.ts +253 -0
- package/src/display/plane.ts +192 -0
- package/src/display/scale9.ts +321 -0
- package/src/display/shapeobject.ts +160 -0
- package/src/display/shapes.ts +602 -0
- package/src/display/stretch.ts +217 -0
- package/src/display/textobjects.ts +248 -0
- package/src/display/timeline.ts +831 -0
- package/src/display/value-lists.ts +50 -0
- package/src/display/videoobject.ts +7 -0
- package/src/display/walk.ts +169 -0
- package/src/files.ts +466 -0
- package/src/hosts.ts +645 -0
- package/src/index.ts +66 -0
- package/src/input/activation.ts +62 -0
- package/src/input/avm1.ts +102 -0
- package/src/input/canvas.ts +74 -0
- package/src/input/context-menu.ts +105 -0
- package/src/input/keyboard.ts +645 -0
- package/src/input/pointer.ts +1127 -0
- package/src/input/text-editor.ts +361 -0
- package/src/input/touch.ts +302 -0
- package/src/localconnection.ts +129 -0
- package/src/media/audio.ts +484 -0
- package/src/media/dynamic-sound.ts +118 -0
- package/src/media/extract.ts +191 -0
- package/src/media/mp3.ts +205 -0
- package/src/media/sounds.ts +735 -0
- package/src/media/streaming-audio.ts +150 -0
- package/src/player.ts +686 -0
- package/src/playerglobal/air/net/WebSocket.ts +318 -0
- package/src/playerglobal/air-library.ts +14 -0
- package/src/playerglobal/context3d/context.ts +672 -0
- package/src/playerglobal/context3d/errors.ts +116 -0
- package/src/playerglobal/context3d/lifecycle.ts +428 -0
- package/src/playerglobal/context3d/readback.ts +65 -0
- package/src/playerglobal/context3d/resources.ts +406 -0
- package/src/playerglobal/context3d.ts +111 -0
- package/src/playerglobal/flash/accessibility/Accessibility.ts +30 -0
- package/src/playerglobal/flash/crypto/generateRandomBytes.ts +38 -0
- package/src/playerglobal/flash/data/EncryptedLocalStore.ts +75 -0
- package/src/playerglobal/flash/desktop/Clipboard.ts +217 -0
- package/src/playerglobal/flash/desktop/NativeApplication.ts +241 -0
- package/src/playerglobal/flash/display/AVM1Movie.ts +24 -0
- package/src/playerglobal/flash/display/Bitmap.ts +76 -0
- package/src/playerglobal/flash/display/BitmapData.ts +963 -0
- package/src/playerglobal/flash/display/DisplayObject.ts +787 -0
- package/src/playerglobal/flash/display/DisplayObjectContainer.ts +274 -0
- package/src/playerglobal/flash/display/Graphics.ts +489 -0
- package/src/playerglobal/flash/display/InteractiveObject.ts +124 -0
- package/src/playerglobal/flash/display/Loader.ts +126 -0
- package/src/playerglobal/flash/display/LoaderInfo.ts +205 -0
- package/src/playerglobal/flash/display/MovieClip.ts +245 -0
- package/src/playerglobal/flash/display/NativeWindow.ts +313 -0
- package/src/playerglobal/flash/display/Shader.ts +39 -0
- package/src/playerglobal/flash/display/ShaderData.ts +105 -0
- package/src/playerglobal/flash/display/ShaderInput.ts +101 -0
- package/src/playerglobal/flash/display/ShaderJob.ts +234 -0
- package/src/playerglobal/flash/display/ShaderParameter.ts +36 -0
- package/src/playerglobal/flash/display/Shape.ts +19 -0
- package/src/playerglobal/flash/display/SimpleButton.ts +126 -0
- package/src/playerglobal/flash/display/Sprite.ts +115 -0
- package/src/playerglobal/flash/display/Stage.ts +298 -0
- package/src/playerglobal/flash/display/Stage3D.ts +90 -0
- package/src/playerglobal/flash/display/shaders.ts +296 -0
- package/src/playerglobal/flash/events/Event.ts +85 -0
- package/src/playerglobal/flash/events/EventDispatcher.ts +143 -0
- package/src/playerglobal/flash/events/GestureEvent.ts +49 -0
- package/src/playerglobal/flash/events/HTTPStatusEvent.ts +12 -0
- package/src/playerglobal/flash/events/KeyboardEvent.ts +75 -0
- package/src/playerglobal/flash/events/MouseEvent.ts +88 -0
- package/src/playerglobal/flash/events/PressAndTapGestureEvent.ts +48 -0
- package/src/playerglobal/flash/events/TimerEvent.ts +20 -0
- package/src/playerglobal/flash/events/TouchEvent.ts +64 -0
- package/src/playerglobal/flash/external/ExternalInterface.ts +104 -0
- package/src/playerglobal/flash/filesystem/File.ts +450 -0
- package/src/playerglobal/flash/filesystem/FileStream.ts +556 -0
- package/src/playerglobal/flash/filesystem/paths.ts +181 -0
- package/src/playerglobal/flash/filesystem/writes.ts +203 -0
- package/src/playerglobal/flash/filters/BevelFilter.ts +9 -0
- package/src/playerglobal/flash/filters/BitmapFilter.ts +237 -0
- package/src/playerglobal/flash/filters/BlurFilter.ts +8 -0
- package/src/playerglobal/flash/filters/ColorMatrixFilter.ts +15 -0
- package/src/playerglobal/flash/filters/ConvolutionFilter.ts +31 -0
- package/src/playerglobal/flash/filters/DisplacementMapFilter.ts +69 -0
- package/src/playerglobal/flash/filters/DropShadowFilter.ts +9 -0
- package/src/playerglobal/flash/filters/GlowFilter.ts +9 -0
- package/src/playerglobal/flash/filters/GradientBevelFilter.ts +8 -0
- package/src/playerglobal/flash/filters/GradientGlowFilter.ts +8 -0
- package/src/playerglobal/flash/filters/ShaderFilter.ts +75 -0
- package/src/playerglobal/flash/geom/Matrix3D.ts +468 -0
- package/src/playerglobal/flash/geom/PerspectiveProjection.ts +162 -0
- package/src/playerglobal/flash/geom/Transform.ts +335 -0
- package/src/playerglobal/flash/geom/Utils3D.ts +132 -0
- package/src/playerglobal/flash/globalization/Collator.ts +205 -0
- package/src/playerglobal/flash/globalization/CurrencyFormatter.ts +365 -0
- package/src/playerglobal/flash/globalization/CurrencyParseResult.ts +35 -0
- package/src/playerglobal/flash/globalization/DateTimeFormatter.ts +594 -0
- package/src/playerglobal/flash/globalization/LocaleID.ts +202 -0
- package/src/playerglobal/flash/globalization/NumberFormatter.ts +574 -0
- package/src/playerglobal/flash/globalization/NumberParseResult.ts +40 -0
- package/src/playerglobal/flash/globalization/StringTools.ts +78 -0
- package/src/playerglobal/flash/globalization/locale.ts +245 -0
- package/src/playerglobal/flash/media/Camera.ts +122 -0
- package/src/playerglobal/flash/media/Microphone.ts +177 -0
- package/src/playerglobal/flash/media/Sound.ts +714 -0
- package/src/playerglobal/flash/media/SoundMixer.ts +97 -0
- package/src/playerglobal/flash/media/SoundTransform.ts +61 -0
- package/src/playerglobal/flash/media/Video.ts +64 -0
- package/src/playerglobal/flash/net/FileFilter.ts +42 -0
- package/src/playerglobal/flash/net/FileReference.ts +273 -0
- package/src/playerglobal/flash/net/LocalConnection.ts +218 -0
- package/src/playerglobal/flash/net/NetConnection.ts +219 -0
- package/src/playerglobal/flash/net/SharedObject.ts +356 -0
- package/src/playerglobal/flash/net/Socket.ts +360 -0
- package/src/playerglobal/flash/net/URLRequest.ts +140 -0
- package/src/playerglobal/flash/net/URLStream.ts +203 -0
- package/src/playerglobal/flash/net/XMLSocket.ts +18 -0
- package/src/playerglobal/flash/net/local-modern.ts +164 -0
- package/src/playerglobal/flash/net/local-values.ts +245 -0
- package/src/playerglobal/flash/net/navigateToURL.ts +42 -0
- package/src/playerglobal/flash/profiler/Telemetry.ts +35 -0
- package/src/playerglobal/flash/sensors/Accelerometer.ts +15 -0
- package/src/playerglobal/flash/system/ApplicationDomain.ts +94 -0
- package/src/playerglobal/flash/system/Capabilities.ts +203 -0
- package/src/playerglobal/flash/system/FSCommandHost.ts +23 -0
- package/src/playerglobal/flash/system/Security.ts +61 -0
- package/src/playerglobal/flash/system/SecurityDomain.ts +27 -0
- package/src/playerglobal/flash/system/System.ts +96 -0
- package/src/playerglobal/flash/system/Worker.ts +147 -0
- package/src/playerglobal/flash/text/Font.ts +124 -0
- package/src/playerglobal/flash/text/StaticText.ts +21 -0
- package/src/playerglobal/flash/text/StyleSheet.ts +87 -0
- package/src/playerglobal/flash/text/TextField.ts +789 -0
- package/src/playerglobal/flash/text/TextRenderer.ts +104 -0
- package/src/playerglobal/flash/text/engine/FontDescription.ts +198 -0
- package/src/playerglobal/flash/text/engine/TabStop.ts +70 -0
- package/src/playerglobal/flash/trace/Trace.ts +25 -0
- package/src/playerglobal/flash/ui/ContextMenu.ts +26 -0
- package/src/playerglobal/flash/ui/GameInput.ts +27 -0
- package/src/playerglobal/flash/ui/Keyboard.ts +34 -0
- package/src/playerglobal/flash/ui/Mouse.ts +170 -0
- package/src/playerglobal/flash/ui/Multitouch.ts +62 -0
- package/src/playerglobal/flash/utils/ByteArray.ts +184 -0
- package/src/playerglobal/flash/utils/Timer.ts +39 -0
- package/src/playerglobal/flash/xml/XMLDocument.ts +101 -0
- package/src/playerglobal/index.ts +233 -0
- package/src/playerglobal/libraries.ts +12 -0
- package/src/playerglobal/playerglobal-library.ts +28 -0
- package/src/playerglobal/toplevel.ts +158 -0
- package/src/scene/advanced.ts +282 -0
- package/src/scene/context-menu.ts +270 -0
- package/src/scene/fills.ts +90 -0
- package/src/scene/filter-layers.ts +503 -0
- package/src/scene/filters.ts +421 -0
- package/src/scene/hidden.ts +37 -0
- package/src/scene/lines.ts +322 -0
- package/src/scene/masks.ts +195 -0
- package/src/scene/paints.ts +378 -0
- package/src/scene/parts.ts +205 -0
- package/src/scene/pixel-bender-glsl.ts +722 -0
- package/src/scene/planes.ts +260 -0
- package/src/scene/pointer.ts +278 -0
- package/src/scene/shapes.ts +386 -0
- package/src/scene/stale-shapes.ts +56 -0
- package/src/scene/strokes.ts +157 -0
- package/src/scene/text-items.ts +324 -0
- package/src/scene/text.ts +360 -0
- package/src/scene/view.ts +1591 -0
- package/src/scripting/clipboard.ts +169 -0
- package/src/scripting/code.ts +1094 -0
- package/src/scripting/evaluate.ts +178 -0
- package/src/scripting/events.ts +236 -0
- package/src/scripting/handover.ts +253 -0
- package/src/scripting/lazy.ts +67 -0
- package/src/scripting/lifecycle.ts +307 -0
- package/src/scripting/loads.ts +1112 -0
- package/src/scripting/sha256.ts +107 -0
- package/src/scripting/symbols.ts +454 -0
- package/src/scripting/timers.ts +504 -0
- package/src/scripting/workers.ts +1144 -0
- package/src/scripting.ts +1300 -0
- package/src/stage.ts +7 -0
- package/src/text/csm.ts +173 -0
- package/src/text/css.ts +198 -0
- package/src/text/fonts.ts +129 -0
- package/src/text/layout.ts +525 -0
- package/src/text/saffron.ts +539 -0
- package/src/text/static.ts +147 -0
- package/src/text/text.ts +538 -0
- package/src/workers/protocol.ts +124 -0
- package/src/workers/thread.ts +188 -0
- package/src/workers/wire.ts +263 -0
|
@@ -0,0 +1,1240 @@
|
|
|
1
|
+
// The pixel operations of BitmapData that read and write its store alone
|
|
2
|
+
// (bitmap.ts): each on unmultiplied ARGB as Flash's results show it works,
|
|
3
|
+
// the store premultiplying again as it writes. The rules are the ones
|
|
4
|
+
// Flash traces under adl and records in Ruffle's corpus.
|
|
5
|
+
import { DRAW_OPAQUE, DRAW_SKIP_ZERO_ALPHA, DRAW_SMOOTH, DRAW_TRANSFORM, DrawKernel, } from "@swf2es/native/render";
|
|
6
|
+
import { BitmapStore, over, premultiply, unmultiply } from "./bitmap.js";
|
|
7
|
+
import { bitmapKernel, drawKernel } from "./kernel.js";
|
|
8
|
+
import { perlinSetup } from "./turbulence.js";
|
|
9
|
+
const M = 2147483647;
|
|
10
|
+
/**
|
|
11
|
+
* Flash's noise generator's first state: Park-Miller's minimal standard,
|
|
12
|
+
* x * 16807 mod 2^31 - 1, a seed of 0 taken as 1 and one under 0 as
|
|
13
|
+
* -seed + 1 (all 25 pixels Ruffle's bitmapdata_getvector records of
|
|
14
|
+
* noise(0) match). The render module draws from it (pixels.zig).
|
|
15
|
+
*/
|
|
16
|
+
function noiseState(seed) {
|
|
17
|
+
let s = seed | 0;
|
|
18
|
+
if (s <= 0) {
|
|
19
|
+
s = -s + 1;
|
|
20
|
+
}
|
|
21
|
+
return s % M || 1;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* noise: each pixel's channels drawn in R, G, B order, then alpha, which
|
|
25
|
+
* only a transparent bitmap draws; a grayscale draw is one for all three
|
|
26
|
+
* colours, then alpha. A value is low + r % (high - low + 1), high capped
|
|
27
|
+
* at 255 and a range upside down giving low. A colour left out is 0, an
|
|
28
|
+
* alpha left out 255.
|
|
29
|
+
*/
|
|
30
|
+
export function noise(store, seed, low, high, channels, gray) {
|
|
31
|
+
const lo = Math.max(0, Math.min(255, low));
|
|
32
|
+
const hi = Math.max(0, Math.min(255, high));
|
|
33
|
+
bitmapKernel()?.noise(store.pixels, noiseState(seed), lo, hi - lo + 1, channels & 15, gray, store.transparent);
|
|
34
|
+
store.changed();
|
|
35
|
+
}
|
|
36
|
+
/** The channel's shift in ARGB: 1 red, 2 green, 4 blue, 8 alpha; -1 for another value. */
|
|
37
|
+
function shiftOf(channel) {
|
|
38
|
+
switch (channel) {
|
|
39
|
+
case 1:
|
|
40
|
+
return 16;
|
|
41
|
+
case 2:
|
|
42
|
+
return 8;
|
|
43
|
+
case 4:
|
|
44
|
+
return 0;
|
|
45
|
+
case 8:
|
|
46
|
+
return 24;
|
|
47
|
+
default:
|
|
48
|
+
return -1;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Each destination pixel's channel set from the source pixel's channel, both unmultiplied. */
|
|
52
|
+
export function copyChannel(store, source, rect, dx, dy, from, to) {
|
|
53
|
+
const fromShift = shiftOf(from);
|
|
54
|
+
const toShift = shiftOf(to);
|
|
55
|
+
if (toShift < 0 || (toShift === 24 && !store.transparent)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// A source of more than one channel, or none, copies 0, as Flash does.
|
|
59
|
+
copied(store, source, rect, dx, dy, { op: "channel", from: fromShift, to: toShift });
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* colorTransform as Flash computes it, fitted under adl: each channel read
|
|
63
|
+
* back as p * 255 / a, floored; then (c * floor(mul * 256) >> 8) +
|
|
64
|
+
* trunc(offset), clamped to 0..255, the alpha alike; and written
|
|
65
|
+
* premultiplied as c * (a + 1) >> 8, not as setPixel32 rounds. A pixel
|
|
66
|
+
* of alpha 0 is left as it is; an opaque bitmap's alpha is transformed
|
|
67
|
+
* like a transparent one's.
|
|
68
|
+
*/
|
|
69
|
+
export function colorTransform(store, rect, ct) {
|
|
70
|
+
const c = store.clip(rect);
|
|
71
|
+
if (!c) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const fixed = (m) => Math.trunc(m * 256);
|
|
75
|
+
const muls = [ct.rMul, ct.gMul, ct.bMul, ct.aMul].map(fixed);
|
|
76
|
+
const adds = [ct.rAdd, ct.gAdd, ct.bAdd, ct.aAdd].map(Math.trunc);
|
|
77
|
+
bitmapKernel()?.transform(store.pixels, store.width, c, muls, adds);
|
|
78
|
+
store.changed();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* merge: each channel ((s * m + d * (256 - m)) >> 8) & 0xFF, unmultiplied,
|
|
82
|
+
* the multiplier a uint and nothing clamped, as 18 multipliers from -257
|
|
83
|
+
* to 2^32 - 1 show Flash computing it under adl; a double holds the
|
|
84
|
+
* product, so the shift is a division.
|
|
85
|
+
*/
|
|
86
|
+
export function merge(store, source, rect, dx, dy, muls) {
|
|
87
|
+
copied(store, source, rect, dx, dy, { op: "merge", muls });
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The source rect's pixels against the destination's at the point, both
|
|
91
|
+
* clipped and unmultiplied, each destination pixel made by `op` of the
|
|
92
|
+
* pair (pixel-ops.ts). In place, rows down and pixels along, each read as
|
|
93
|
+
* the ones before it left it, as Flash does: a move down or right repeats
|
|
94
|
+
* what it wrote.
|
|
95
|
+
*/
|
|
96
|
+
function copied(store, source, rect, dx, dy, op) {
|
|
97
|
+
const s = source.clip(rect);
|
|
98
|
+
if (!s) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
dx += s.x - rect.x;
|
|
102
|
+
dy += s.y - rect.y;
|
|
103
|
+
const d = store.clip({ x: dx, y: dy, width: s.width, height: s.height });
|
|
104
|
+
if (!d) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// The store written first: if it is the source, both are then its own array.
|
|
108
|
+
const into = store.pixels;
|
|
109
|
+
const from = source.readable;
|
|
110
|
+
const sx = s.x + (d.x - dx);
|
|
111
|
+
const sy = s.y + (d.y - dy);
|
|
112
|
+
bitmapKernel()?.copy(into, store.width, from, source.width, d, sx, sy, store.transparent, op);
|
|
113
|
+
store.changed();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* paletteMap: each copied pixel the sum of its channels' entries in the
|
|
117
|
+
* four tables, red, green, blue and alpha, wrapping at 32 bits, as Flash
|
|
118
|
+
* makes it (Ruffle's operations.rs); a table not given maps its channel
|
|
119
|
+
* to itself.
|
|
120
|
+
*/
|
|
121
|
+
export function paletteMap(store, source, rect, dx, dy, tables) {
|
|
122
|
+
copied(store, source, rect, dx, dy, { op: "palette", tables });
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* compare's differing pixels, null where none differ: 0 for a pixel the
|
|
126
|
+
* same in both, the colours' differences, opaque, where they differ, else
|
|
127
|
+
* the alphas' difference in every channel (Ruffle's operations.rs).
|
|
128
|
+
*/
|
|
129
|
+
export function comparePixels(left, right) {
|
|
130
|
+
const out = new Uint32Array(left.width * left.height);
|
|
131
|
+
let different = false;
|
|
132
|
+
for (let i = 0; i < out.length; i++) {
|
|
133
|
+
const p = left.unmultiplied(left.readable[i]);
|
|
134
|
+
const q = right.unmultiplied(right.readable[i]);
|
|
135
|
+
if (p === q) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
different = true;
|
|
139
|
+
if ((p & 0xffffff) !== (q & 0xffffff)) {
|
|
140
|
+
out[i] =
|
|
141
|
+
(0xff000000 |
|
|
142
|
+
((((p >>> 16) - (q >>> 16)) & 0xff) << 16) |
|
|
143
|
+
((((p >>> 8) - (q >>> 8)) & 0xff) << 8) |
|
|
144
|
+
((p - q) & 0xff)) >>>
|
|
145
|
+
0;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
const alpha = ((p >>> 24) - (q >>> 24)) & 0xff;
|
|
149
|
+
out[i] = ((alpha << 24) | (alpha << 16) | (alpha << 8) | alpha) >>> 0;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return different ? out : null;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* perlinNoise: each pixel's channels from turbulence.ts, a channel left
|
|
156
|
+
* out its least, alpha left out opaque, written as they come, not
|
|
157
|
+
* premultiplied, as Flash writes them (Ruffle's operations.rs, whose
|
|
158
|
+
* conversion to a byte is Flash's). A channel's noise is drawn from the
|
|
159
|
+
* next of the generator's four only for the channels asked for.
|
|
160
|
+
*/
|
|
161
|
+
export function perlinNoise(store, base, offsets, seed, stitch, fractal, channels, gray) {
|
|
162
|
+
const { width, height } = store;
|
|
163
|
+
// A base's sign is dropped (adl).
|
|
164
|
+
const frequency = [
|
|
165
|
+
base[0] === 0 ? 0 : 1 / Math.abs(base[0]),
|
|
166
|
+
base[1] === 0 ? 0 : 1 / Math.abs(base[1]),
|
|
167
|
+
];
|
|
168
|
+
bitmapKernel()?.perlin(store.pixels, width, {
|
|
169
|
+
...perlinSetup(seed, frequency, stitch, width, height),
|
|
170
|
+
offsets,
|
|
171
|
+
fractal,
|
|
172
|
+
channels: channels & 15,
|
|
173
|
+
gray,
|
|
174
|
+
transparent: store.transparent,
|
|
175
|
+
});
|
|
176
|
+
store.changed();
|
|
177
|
+
}
|
|
178
|
+
/** scroll: the pixels moved by (x, y); what nothing moved onto keeps its old pixels. */
|
|
179
|
+
export function scroll(store, x, y) {
|
|
180
|
+
const { width, height } = store;
|
|
181
|
+
// Nothing moves: the pixels are left where they are, on the GPU or not, and
|
|
182
|
+
// a GPU copy that holds the newest stays current, or the next move on it
|
|
183
|
+
// would bring the store back and leave the CPU's copy behind.
|
|
184
|
+
if (x === 0 && y === 0) {
|
|
185
|
+
if (!store.onGpu(() => true)) {
|
|
186
|
+
store.changed();
|
|
187
|
+
}
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
// The pixels that stay within the store, moved on the GPU where it holds the newest.
|
|
191
|
+
const moved = store.clip({ x: -x, y: -y, width, height });
|
|
192
|
+
if (store.onGpu((copy) => !moved || copy.copy(store, moved, moved.x + x, moved.y + y))) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const old = store.pixels.slice();
|
|
196
|
+
for (let row = 0; row < height; row++) {
|
|
197
|
+
const sy = row - y;
|
|
198
|
+
if (sy < 0 || sy >= height) {
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
for (let col = 0; col < width; col++) {
|
|
202
|
+
const sx = col - x;
|
|
203
|
+
if (sx >= 0 && sx < width) {
|
|
204
|
+
store.pixels[row * width + col] = old[sy * width + sx];
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
store.changed();
|
|
209
|
+
}
|
|
210
|
+
const OPERATIONS = {
|
|
211
|
+
"<": (a, b) => a < b,
|
|
212
|
+
"<=": (a, b) => a <= b,
|
|
213
|
+
">": (a, b) => a > b,
|
|
214
|
+
">=": (a, b) => a >= b,
|
|
215
|
+
"==": (a, b) => a === b,
|
|
216
|
+
"!=": (a, b) => a !== b,
|
|
217
|
+
};
|
|
218
|
+
/** Whether `op` is one threshold takes. */
|
|
219
|
+
export function isThresholdOperation(op) {
|
|
220
|
+
// Its own keys only: "constructor" and the rest of Object's are not operations.
|
|
221
|
+
return Object.hasOwn(OPERATIONS, op);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* threshold: each source pixel, unmultiplied and masked, compared with the
|
|
225
|
+
* masked threshold as unsigned numbers; where the test holds the
|
|
226
|
+
* destination pixel becomes `color`, elsewhere the source pixel if
|
|
227
|
+
* `copySource`; how many held. With `premultiplied`, as AVM1's
|
|
228
|
+
* BitmapData has it (Ruffle's operations.rs), the pixel is compared as it
|
|
229
|
+
* is kept, premultiplied, and `color` and the source pixel are written as
|
|
230
|
+
* a transparent bitmap keeps them, the colour's channels premultiplied by
|
|
231
|
+
* its alpha. Flash leaves an opaque bitmap's alpha as written there too,
|
|
232
|
+
* which its getPixel32 then reads; here an opaque store keeps every alpha
|
|
233
|
+
* at 255, which its drawing, copies and filters take it to have, so its
|
|
234
|
+
* getPixel32 alone differs from Flash's (its getPixel does not).
|
|
235
|
+
*/
|
|
236
|
+
export function threshold(store, source, rect, dx, dy, op, value, color, mask, copySource, premultiplied = false) {
|
|
237
|
+
const test = OPERATIONS[op];
|
|
238
|
+
const target = (value & mask) >>> 0;
|
|
239
|
+
let count = 0;
|
|
240
|
+
const s = source.clip(rect);
|
|
241
|
+
if (!s) {
|
|
242
|
+
return 0;
|
|
243
|
+
}
|
|
244
|
+
dx += s.x - rect.x;
|
|
245
|
+
dy += s.y - rect.y;
|
|
246
|
+
const d = store.clip({ x: dx, y: dy, width: s.width, height: s.height });
|
|
247
|
+
if (!d) {
|
|
248
|
+
return 0;
|
|
249
|
+
}
|
|
250
|
+
const sx = s.x + (d.x - dx);
|
|
251
|
+
const sy = s.y + (d.y - dy);
|
|
252
|
+
// In place, each pixel read as the ones before it left it (copied).
|
|
253
|
+
const into = store.pixels;
|
|
254
|
+
const pixels = source.readable;
|
|
255
|
+
const opaque = store.transparent ? 0 : 0xff000000;
|
|
256
|
+
const fill = premultiplied
|
|
257
|
+
? (premultiply(color >>> 0) | opaque) >>> 0
|
|
258
|
+
: store.premultiplied(color >>> 0);
|
|
259
|
+
for (let row = 0; row < d.height; row++) {
|
|
260
|
+
for (let i = 0; i < d.width; i++) {
|
|
261
|
+
const to = (d.y + row) * store.width + d.x + i;
|
|
262
|
+
const raw = pixels[(sy + row) * source.width + sx + i];
|
|
263
|
+
if (test(((premultiplied ? raw : unmultiply(raw)) & mask) >>> 0, target)) {
|
|
264
|
+
into[to] = fill;
|
|
265
|
+
count++;
|
|
266
|
+
}
|
|
267
|
+
else if (copySource) {
|
|
268
|
+
into[to] = (raw | opaque) >>> 0;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
store.changed();
|
|
273
|
+
return count;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* getColorBoundsRect: the smallest rect holding every pixel whose
|
|
277
|
+
* unmultiplied value, masked, is `color` (or is not, without findColor);
|
|
278
|
+
* empty where none is, and where the one found is the pixel at the
|
|
279
|
+
* origin alone, as Flash has it (Ruffle's bitmap_data). With
|
|
280
|
+
* `premultiplied`, as AVM1's BitmapData has it (Ruffle's operations.rs),
|
|
281
|
+
* the pixel is compared as it is kept, premultiplied, masked, with the
|
|
282
|
+
* colour premultiplied and not masked, and an opaque bitmap's alpha is
|
|
283
|
+
* in the mask.
|
|
284
|
+
*/
|
|
285
|
+
export function colorBounds(store, mask, color, find, premultiplied = false) {
|
|
286
|
+
let x0 = store.width;
|
|
287
|
+
let y0 = store.height;
|
|
288
|
+
let x1 = -1;
|
|
289
|
+
let y1 = -1;
|
|
290
|
+
if (premultiplied && !store.transparent) {
|
|
291
|
+
mask = (mask | 0xff000000) >>> 0;
|
|
292
|
+
}
|
|
293
|
+
const target = premultiplied ? store.premultiplied(color >>> 0) : (color & mask) >>> 0;
|
|
294
|
+
for (let y = 0; y < store.height; y++) {
|
|
295
|
+
for (let x = 0; x < store.width; x++) {
|
|
296
|
+
const pixel = store.pixels[y * store.width + x];
|
|
297
|
+
const hit = ((premultiplied ? pixel : unmultiply(pixel)) & mask) >>> 0 === target;
|
|
298
|
+
if (hit === find) {
|
|
299
|
+
x0 = Math.min(x0, x);
|
|
300
|
+
y0 = Math.min(y0, y);
|
|
301
|
+
x1 = Math.max(x1, x);
|
|
302
|
+
y1 = Math.max(y1, y);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// Flash takes extents that end at the origin for none found: a lone hit at (0, 0) gives an empty rect.
|
|
307
|
+
return x1 <= 0 && y1 <= 0
|
|
308
|
+
? { x: 0, y: 0, width: 0, height: 0 }
|
|
309
|
+
: { x: x0, y: y0, width: x1 - x0 + 1, height: y1 - y0 + 1 };
|
|
310
|
+
}
|
|
311
|
+
/** floodFill: the 4-connected region of the start pixel's exact value set to `color`. */
|
|
312
|
+
export function floodFill(store, x, y, color) {
|
|
313
|
+
const { width, height } = store;
|
|
314
|
+
if (x < 0 || y < 0 || x >= width || y >= height) {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
const from = store.pixels[y * width + x];
|
|
318
|
+
const to = store.premultiplied(color >>> 0);
|
|
319
|
+
if (from === to) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
const stack = [y * width + x];
|
|
323
|
+
while (stack.length) {
|
|
324
|
+
const i = stack.pop();
|
|
325
|
+
if (store.pixels[i] !== from) {
|
|
326
|
+
continue;
|
|
327
|
+
}
|
|
328
|
+
store.pixels[i] = to;
|
|
329
|
+
const px = i % width;
|
|
330
|
+
if (px > 0) {
|
|
331
|
+
stack.push(i - 1);
|
|
332
|
+
}
|
|
333
|
+
if (px < width - 1) {
|
|
334
|
+
stack.push(i + 1);
|
|
335
|
+
}
|
|
336
|
+
if (i >= width) {
|
|
337
|
+
stack.push(i - width);
|
|
338
|
+
}
|
|
339
|
+
if (i + width < width * height) {
|
|
340
|
+
stack.push(i + width);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
store.changed();
|
|
344
|
+
}
|
|
345
|
+
/** histogram: four arrays of 256 counts, red, green, blue and alpha, of the rect's unmultiplied pixels. */
|
|
346
|
+
export function histogram(store, rect) {
|
|
347
|
+
const counts = [0, 1, 2, 3].map(() => new Array(256).fill(0));
|
|
348
|
+
const c = store.clip(rect);
|
|
349
|
+
if (!c) {
|
|
350
|
+
return counts;
|
|
351
|
+
}
|
|
352
|
+
for (let y = c.y; y < c.y + c.height; y++) {
|
|
353
|
+
for (let x = c.x; x < c.x + c.width; x++) {
|
|
354
|
+
const p = unmultiply(store.pixels[y * store.width + x]);
|
|
355
|
+
counts[0][(p >>> 16) & 0xff]++;
|
|
356
|
+
counts[1][(p >>> 8) & 0xff]++;
|
|
357
|
+
counts[2][p & 0xff]++;
|
|
358
|
+
counts[3][p >>> 24]++;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return counts;
|
|
362
|
+
}
|
|
363
|
+
/** The unmultiplied alpha at (x, y), as a hit test reads it: an opaque bitmap's 255; -1 outside. */
|
|
364
|
+
export function alphaAt(store, x, y) {
|
|
365
|
+
if (x < 0 || y < 0 || x >= store.width || y >= store.height) {
|
|
366
|
+
return -1;
|
|
367
|
+
}
|
|
368
|
+
return store.transparent ? store.readable[y * store.width + x] >>> 24 : 255;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Flash's pixelDissolve taps, by the state's width in bits: a Galois LFSR,
|
|
372
|
+
* s >> 1, xor the tap where s was odd, read off adl for every width a
|
|
373
|
+
* BitmapData can have (2 to 26 bits).
|
|
374
|
+
*/
|
|
375
|
+
const DISSOLVE_TAPS = [
|
|
376
|
+
0, 0, 3, 6, 12, 20, 48, 96, 184, 272, 576, 1280, 3232, 6912, 13568, 24576, 46080, 73728, 132096,
|
|
377
|
+
466944, 589824, 1310720, 3145728, 4325376, 14155776, 18874368, 59244544,
|
|
378
|
+
];
|
|
379
|
+
/** Bits to number 0..n - 1: ceil(log2(n)). */
|
|
380
|
+
function bitsFor(n) {
|
|
381
|
+
return n <= 1 ? 0 : 32 - Math.clz32(n - 1);
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* pixelDissolve as Flash does it, fitted under adl: a state of
|
|
385
|
+
* ceil(log2 w) + ceil(log2 h) bits stands for the pixel (s & (2^bw - 1),
|
|
386
|
+
* s >> bw) of the rect, a state outside it skipped; each call writes
|
|
387
|
+
* numPixels pixels, from the seed on, and returns the state after the
|
|
388
|
+
* last, raw, so the next call goes on from there. Every call writes the
|
|
389
|
+
* pixel at the origin too, which no state stands for, and so n calls of
|
|
390
|
+
* 1 write n + 1 (Ruffle's bitmapdata_pixeldissolve); 0 starts at the tap,
|
|
391
|
+
* and a seed past the generator's states steps down to them as any state
|
|
392
|
+
* does, its bits shifted out, or to 0, which writes the origin for good. A
|
|
393
|
+
* pixel takes the fill colour where the source is the destination, and
|
|
394
|
+
* there it is the source rect that dissolves, the point aside, though
|
|
395
|
+
* clipped as a copy's; else the source's pixel. A rect a pixel high or
|
|
396
|
+
* wide dissolves nothing and gives the seed back as it came; a count of 0
|
|
397
|
+
* writes the origin alone and gives the seed back, the tap for 0. AS3's
|
|
398
|
+
* answers are AVM1's (the dissolve-noise case).
|
|
399
|
+
*/
|
|
400
|
+
export function pixelDissolve(store, source, rect, dx, dy, seed, count, fill) {
|
|
401
|
+
// Over the rect clipped to the source and then to the destination, as the copies are.
|
|
402
|
+
const sc = source.clip(rect);
|
|
403
|
+
if (!sc) {
|
|
404
|
+
return seed;
|
|
405
|
+
}
|
|
406
|
+
const ox = dx + (sc.x - rect.x);
|
|
407
|
+
const oy = dy + (sc.y - rect.y);
|
|
408
|
+
const dc = store.clip({ x: ox, y: oy, width: sc.width, height: sc.height });
|
|
409
|
+
if (!dc) {
|
|
410
|
+
return seed;
|
|
411
|
+
}
|
|
412
|
+
const rx = sc.x + (dc.x - ox);
|
|
413
|
+
const ry = sc.y + (dc.y - oy);
|
|
414
|
+
dx = dc.x;
|
|
415
|
+
dy = dc.y;
|
|
416
|
+
const { width: w, height: h } = dc;
|
|
417
|
+
if (w <= 1 || h <= 1) {
|
|
418
|
+
return seed;
|
|
419
|
+
}
|
|
420
|
+
const bw = bitsFor(w);
|
|
421
|
+
const bits = bw + bitsFor(h);
|
|
422
|
+
const tap = DISSOLVE_TAPS[bits] ?? 0;
|
|
423
|
+
const xMask = (1 << bw) - 1;
|
|
424
|
+
const color = store.premultiplied(fill >>> 0);
|
|
425
|
+
// An opaque store keeps every alpha at 255, as threshold's copies have it.
|
|
426
|
+
const opaque = store.transparent ? 0 : 0xff000000;
|
|
427
|
+
const next = (s) => (s & 1 ? (s >>> 1) ^ tap : s >>> 1);
|
|
428
|
+
// A position of the rect, written where it lies in both bitmaps.
|
|
429
|
+
const write = (state) => {
|
|
430
|
+
const px = state & xMask;
|
|
431
|
+
const py = Math.floor(state / 2 ** bw);
|
|
432
|
+
const sx = rx + px;
|
|
433
|
+
const sy = ry + py;
|
|
434
|
+
// In place, Flash fills the source rect's pixels, wherever the point is.
|
|
435
|
+
const tx = source === store ? sx : dx + px;
|
|
436
|
+
const ty = source === store ? sy : dy + py;
|
|
437
|
+
if (sx < 0 ||
|
|
438
|
+
sy < 0 ||
|
|
439
|
+
sx >= source.width ||
|
|
440
|
+
sy >= source.height ||
|
|
441
|
+
tx < 0 ||
|
|
442
|
+
ty < 0 ||
|
|
443
|
+
tx >= store.width ||
|
|
444
|
+
ty >= store.height) {
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
store.pixels[ty * store.width + tx] =
|
|
448
|
+
source === store ? color : (source.pixels[sy * source.width + sx] | opaque) >>> 0;
|
|
449
|
+
};
|
|
450
|
+
const inside = (state) => (state & xMask) < w && Math.floor(state / 2 ** bw) < h;
|
|
451
|
+
// The origin is written on every call; 0, which no state within the
|
|
452
|
+
// generator's steps to (a seed past them may), starts at the tap.
|
|
453
|
+
write(0);
|
|
454
|
+
if (seed === 0) {
|
|
455
|
+
seed = tap;
|
|
456
|
+
}
|
|
457
|
+
if (count === 0) {
|
|
458
|
+
store.changed();
|
|
459
|
+
return seed;
|
|
460
|
+
}
|
|
461
|
+
let s = seed >>> 0;
|
|
462
|
+
// The states inside the rect come round every w * h - 1 writes (state 0
|
|
463
|
+
// is the origin's, which only a seed past the states steps down to, and
|
|
464
|
+
// stays at), so a count past that is one full round, which writes every
|
|
465
|
+
// pixel, and the remainder: the same pixels and the seed Flash returns,
|
|
466
|
+
// without its seconds-long loop.
|
|
467
|
+
const round = w * h - 1;
|
|
468
|
+
const steps = count > round ? round + (count % round) : count;
|
|
469
|
+
for (let k = 0; k < steps; k++) {
|
|
470
|
+
// A seed's bits past the states shift out, and every state then comes
|
|
471
|
+
// round within 2^bits steps, so this ends.
|
|
472
|
+
while (!inside(s)) {
|
|
473
|
+
s = next(s);
|
|
474
|
+
}
|
|
475
|
+
write(s);
|
|
476
|
+
s = next(s);
|
|
477
|
+
}
|
|
478
|
+
store.changed();
|
|
479
|
+
return s;
|
|
480
|
+
}
|
|
481
|
+
// The blend modes draw composites with, as the numbers the pixel loops take,
|
|
482
|
+
// worked out once a draw.
|
|
483
|
+
const NORMAL = 0;
|
|
484
|
+
const MULTIPLY = 1;
|
|
485
|
+
const SCREEN = 2;
|
|
486
|
+
const LIGHTEN = 3;
|
|
487
|
+
const DARKEN = 4;
|
|
488
|
+
const DIFFERENCE = 5;
|
|
489
|
+
const ADD = 6;
|
|
490
|
+
const SUBTRACT = 7;
|
|
491
|
+
const INVERT = 8;
|
|
492
|
+
const OVERLAY = 9;
|
|
493
|
+
const HARDLIGHT = 10;
|
|
494
|
+
const ERASE = 11;
|
|
495
|
+
const ALPHA = 12;
|
|
496
|
+
/**
|
|
497
|
+
* Each blend mode draw takes, by its name; any other draws nothing. Alpha
|
|
498
|
+
* and erase need a layer: a display object drawn has one, and they then
|
|
499
|
+
* scale the destination's alpha where it covers; a BitmapData drawn has
|
|
500
|
+
* not, and they do nothing.
|
|
501
|
+
*/
|
|
502
|
+
const MODES = new Map([
|
|
503
|
+
["normal", NORMAL],
|
|
504
|
+
["layer", NORMAL],
|
|
505
|
+
["multiply", MULTIPLY],
|
|
506
|
+
["screen", SCREEN],
|
|
507
|
+
["lighten", LIGHTEN],
|
|
508
|
+
["darken", DARKEN],
|
|
509
|
+
["difference", DIFFERENCE],
|
|
510
|
+
["add", ADD],
|
|
511
|
+
["subtract", SUBTRACT],
|
|
512
|
+
["invert", INVERT],
|
|
513
|
+
["overlay", OVERLAY],
|
|
514
|
+
["hardlight", HARDLIGHT],
|
|
515
|
+
["erase", ERASE],
|
|
516
|
+
["alpha", ALPHA],
|
|
517
|
+
]);
|
|
518
|
+
/**
|
|
519
|
+
* draw of a bitmap source: each destination pixel in the clip takes the
|
|
520
|
+
* source pixel under its centre, through the matrix's inverse, clamped to
|
|
521
|
+
* the source's edges (bilinear when smoothing), scaled by how much of the
|
|
522
|
+
* pixel the transformed source covers (a 4 x 4 sample grid), passed
|
|
523
|
+
* through the colour transform as colorTransform does, and composited by
|
|
524
|
+
* the blend mode. Flash's own pixels, under adl: nearest at the centre,
|
|
525
|
+
* normal as the store's source-over, alpha and erase as nothing unless the
|
|
526
|
+
* source is a display object's `layer`: a Bitmap's, every pixel of which it
|
|
527
|
+
* covers, or a drawing's snapshot, which covers only where it drew.
|
|
528
|
+
*/
|
|
529
|
+
export function drawBitmap(store, source, m, ct, mode, clip, smooth, rows = false, layer = null) {
|
|
530
|
+
const code = MODES.get(mode);
|
|
531
|
+
const whole = code === ERASE || code === ALPHA;
|
|
532
|
+
if (code === undefined || (whole && layer === null)) {
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
// A drawing's alpha blend leaves the destination where it drew nothing, or drew clear (adl).
|
|
536
|
+
const keepClear = code === ALPHA && layer === "drawing";
|
|
537
|
+
// Flash rasterises the translation snapped down to quarter pixels, which
|
|
538
|
+
// its 4 x 4 coverage then reads exactly (a move of 0.49 covers 3/4 and
|
|
539
|
+
// 1/4 of the edge pixels under adl).
|
|
540
|
+
m = { ...m, tx: Math.floor(m.tx * 4) / 4, ty: Math.floor(m.ty * 4) / 4 };
|
|
541
|
+
const det = m.a * m.d - m.b * m.c;
|
|
542
|
+
if (det === 0) {
|
|
543
|
+
return;
|
|
544
|
+
}
|
|
545
|
+
// The destination pixels the source can reach: its corners through the matrix.
|
|
546
|
+
const corners = [
|
|
547
|
+
[0, 0],
|
|
548
|
+
[source.width, 0],
|
|
549
|
+
[0, source.height],
|
|
550
|
+
[source.width, source.height],
|
|
551
|
+
].map(([x, y]) => [m.a * x + m.c * y + m.tx, m.b * x + m.d * y + m.ty]);
|
|
552
|
+
const xs = corners.map((p) => p[0]);
|
|
553
|
+
const ys = corners.map((p) => p[1]);
|
|
554
|
+
let area = store.clip({
|
|
555
|
+
x: Math.floor(Math.min(...xs)),
|
|
556
|
+
y: Math.floor(Math.min(...ys)),
|
|
557
|
+
width: Math.ceil(Math.max(...xs)) - Math.floor(Math.min(...xs)),
|
|
558
|
+
height: Math.ceil(Math.max(...ys)) - Math.floor(Math.min(...ys)),
|
|
559
|
+
});
|
|
560
|
+
if (area && clip) {
|
|
561
|
+
area = store.clip({
|
|
562
|
+
x: Math.max(area.x, clip.x),
|
|
563
|
+
y: Math.max(area.y, clip.y),
|
|
564
|
+
width: Math.min(area.x + area.width, clip.x + clip.width) - Math.max(area.x, clip.x),
|
|
565
|
+
height: Math.min(area.y + area.height, clip.y + clip.height) - Math.max(area.y, clip.y),
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
if (!area) {
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
// A layer's blend reads the source as it was: of a Bitmap of the bitmap itself, the part
|
|
572
|
+
// that can reach the area is copied first.
|
|
573
|
+
if (whole && source === store) {
|
|
574
|
+
[source, m] = reachable(store, m, area);
|
|
575
|
+
}
|
|
576
|
+
const transform = ct ? prepareColorTransform(ct) : null;
|
|
577
|
+
// Unscaled at a whole pixel, as every snapshot of a display object is
|
|
578
|
+
// composited: each covered pixel is covered whole and is the source's
|
|
579
|
+
// own, so it is copied straight, as the general path below would.
|
|
580
|
+
const moved = m.a === 1 &&
|
|
581
|
+
m.b === 0 &&
|
|
582
|
+
m.c === 0 &&
|
|
583
|
+
m.d === 1 &&
|
|
584
|
+
Number.isInteger(m.tx) &&
|
|
585
|
+
Number.isInteger(m.ty) &&
|
|
586
|
+
source !== store;
|
|
587
|
+
// The inverse: from a destination point to the source's.
|
|
588
|
+
const ia = m.d / det;
|
|
589
|
+
const ib = -m.b / det;
|
|
590
|
+
const ic = -m.c / det;
|
|
591
|
+
const id = m.a / det;
|
|
592
|
+
const itx = -(ia * m.tx + ic * m.ty);
|
|
593
|
+
const ity = -(ib * m.tx + id * m.ty);
|
|
594
|
+
if (code === NORMAL && source !== store) {
|
|
595
|
+
const inverse = job.inverse;
|
|
596
|
+
inverse[0] = ia;
|
|
597
|
+
inverse[1] = ib;
|
|
598
|
+
inverse[2] = ic;
|
|
599
|
+
inverse[3] = id;
|
|
600
|
+
inverse[4] = itx;
|
|
601
|
+
inverse[5] = ity;
|
|
602
|
+
if (drawnNatively(store, source, m, moved, area, transform, smooth)) {
|
|
603
|
+
return;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
if (moved) {
|
|
607
|
+
if (composite(store, source, area, m.tx, m.ty, transform, code, keepClear)) {
|
|
608
|
+
store.changed();
|
|
609
|
+
}
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
// How many of the pixel's 4 x 4 samples fall inside the source.
|
|
613
|
+
const coverage = (x, y) => {
|
|
614
|
+
let hits = 0;
|
|
615
|
+
for (let k = 0; k < 16; k++) {
|
|
616
|
+
const px = x + ((k & 3) + 0.5) / 4;
|
|
617
|
+
const py = y + ((k >> 2) + 0.5) / 4;
|
|
618
|
+
const sx = ia * px + ic * py + itx;
|
|
619
|
+
const sy = ib * px + id * py + ity;
|
|
620
|
+
if (sx >= 0 && sy >= 0 && sx < source.width && sy < source.height) {
|
|
621
|
+
hits++;
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
return hits;
|
|
625
|
+
};
|
|
626
|
+
// The arrays taken once. What the source reads as: its own pixels drawn into itself, else as
|
|
627
|
+
// a draw reads them. The store's, which bring back what the GPU drew last or copy a library
|
|
628
|
+
// bitmap's, are taken at the first pixel put, but first when the source is the store, which
|
|
629
|
+
// reads them as written.
|
|
630
|
+
let into = source === store ? store.pixels : null;
|
|
631
|
+
const pixels = source === store ? source.readable : source.drawable;
|
|
632
|
+
// Whether a pixel was put, for the store to count a change: a draw that puts none is none.
|
|
633
|
+
let wrote = false;
|
|
634
|
+
// Through a Bitmap of itself, a BitmapData is drawn in plain scan order,
|
|
635
|
+
// each pixel reading what the ones before it wrote, which smears both
|
|
636
|
+
// ways (adl): pixel by pixel. A layer's blend has a copy of it by now.
|
|
637
|
+
if (source === store && !rows) {
|
|
638
|
+
for (let y = area.y; y < area.y + area.height; y++) {
|
|
639
|
+
for (let x = area.x; x < area.x + area.width; x++) {
|
|
640
|
+
const hits = coverage(x, y);
|
|
641
|
+
if (hits === 0) {
|
|
642
|
+
continue;
|
|
643
|
+
}
|
|
644
|
+
const cx = x + 0.5;
|
|
645
|
+
const cy = y + 0.5;
|
|
646
|
+
const sx = ia * cx + ic * cy + itx;
|
|
647
|
+
const sy = ib * cx + id * cy + ity;
|
|
648
|
+
let p = smooth
|
|
649
|
+
? bilinear(pixels, source.width, source.height, sx - 0.5, sy - 0.5)
|
|
650
|
+
: nearest(pixels, source.width, source.height, sx, sy);
|
|
651
|
+
if (transform) {
|
|
652
|
+
p = transformed(p, transform);
|
|
653
|
+
}
|
|
654
|
+
if (hits < 16) {
|
|
655
|
+
p = scaleBy(p, hits / 16);
|
|
656
|
+
}
|
|
657
|
+
into ??= store.pixels;
|
|
658
|
+
put(store, into, y * store.width + x, code, p);
|
|
659
|
+
wrote = true;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
if (wrote) {
|
|
663
|
+
store.changed();
|
|
664
|
+
}
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
// Otherwise a row at a time, each pass over it in a loop of its own, so
|
|
668
|
+
// that no pixel crosses a call: a pixel past 2^30 a call returns is a
|
|
669
|
+
// number V8 allocates. Every pixel of a row is read before one is
|
|
670
|
+
// written, which is how Flash draws a BitmapData into itself: a move
|
|
671
|
+
// right keeps the pixels, a move down smears rows.
|
|
672
|
+
const n = area.width;
|
|
673
|
+
const buffers = takeRows(n);
|
|
674
|
+
try {
|
|
675
|
+
const { pixels: row, hits, us, vs } = buffers;
|
|
676
|
+
const w = source.width;
|
|
677
|
+
const h = source.height;
|
|
678
|
+
for (let y = area.y; y < area.y + area.height; y++) {
|
|
679
|
+
// Where all 16 samples of a pixel surely fall inside the source, and
|
|
680
|
+
// where none can: only the pixels between are tested sample by sample.
|
|
681
|
+
spanFrom = Number.NEGATIVE_INFINITY;
|
|
682
|
+
spanTo = Number.POSITIVE_INFINITY;
|
|
683
|
+
const spans = !whole && coveredSpan(ia, ic, itx, w, y) && coveredSpan(ib, id, ity, h, y);
|
|
684
|
+
const fullFrom = spans ? Math.max(area.x, spanFrom) : 0;
|
|
685
|
+
const fullTo = spans ? Math.min(area.x + n, spanTo) : 0;
|
|
686
|
+
let any = 0;
|
|
687
|
+
for (let x = area.x, k = 0; k < n; x++, k++) {
|
|
688
|
+
const cx = x + 0.5;
|
|
689
|
+
const cy = y + 0.5;
|
|
690
|
+
const sx = ia * cx + ic * cy + itx;
|
|
691
|
+
const sy = ib * cx + id * cy + ity;
|
|
692
|
+
let hit = 16;
|
|
693
|
+
if (whole) {
|
|
694
|
+
// Erase and alpha take a pixel whole where the source is at its centre, as adl
|
|
695
|
+
// draws a shape's edge for them, an edge through the centre counted on its right
|
|
696
|
+
// and below.
|
|
697
|
+
hit = sx > 0 && sy > 0 && sx <= w && sy <= h ? 16 : 0;
|
|
698
|
+
}
|
|
699
|
+
else if (x < fullFrom || x >= fullTo) {
|
|
700
|
+
hit = coverage(x, y);
|
|
701
|
+
}
|
|
702
|
+
hits[k] = hit;
|
|
703
|
+
if (hit === 0) {
|
|
704
|
+
continue;
|
|
705
|
+
}
|
|
706
|
+
any++;
|
|
707
|
+
us[k] = sx;
|
|
708
|
+
vs[k] = sy;
|
|
709
|
+
}
|
|
710
|
+
if (any === 0) {
|
|
711
|
+
continue;
|
|
712
|
+
}
|
|
713
|
+
sampleRow(pixels, w, h, us, vs, hits, row, n, smooth);
|
|
714
|
+
if (transform) {
|
|
715
|
+
transformRow(row, hits, n, transform);
|
|
716
|
+
}
|
|
717
|
+
coverRow(row, hits, n);
|
|
718
|
+
into ??= store.pixels;
|
|
719
|
+
blendRow(store, into, y * store.width + area.x, row, hits, n, code, keepClear);
|
|
720
|
+
wrote = true;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
finally {
|
|
724
|
+
giveRowsBack(buffers);
|
|
725
|
+
}
|
|
726
|
+
if (wrote) {
|
|
727
|
+
store.changed();
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
/** The draw kernel's job, filled for each draw: drawBitmap allocates nothing for it. */
|
|
731
|
+
const job = DrawKernel.job();
|
|
732
|
+
/** How far a source point may lie for the draw kernel, whose numbers are then exact as drawBitmap's. */
|
|
733
|
+
const REACH = 2 ** 30;
|
|
734
|
+
/**
|
|
735
|
+
* A draw in the normal blend mode of another store, by the draw kernel
|
|
736
|
+
* (draw.zig), whose pixels are those of the paths below, to the bit, the
|
|
737
|
+
* matrix's inverse in `job.inverse` already: whether it drew it, which it
|
|
738
|
+
* does not for numbers it cannot take as they are, nor where the realm has
|
|
739
|
+
* no kernel.
|
|
740
|
+
*/
|
|
741
|
+
function drawnNatively(store, source, m, moved, area, ct, smooth) {
|
|
742
|
+
// A store the GPU drew last is read back only by a draw that puts a pixel, as below.
|
|
743
|
+
if (store.newerOnGpu) {
|
|
744
|
+
return false;
|
|
745
|
+
}
|
|
746
|
+
// The source rows the draw reads: the area's, moved; else those its corners reach, and one
|
|
747
|
+
// more each way for smoothing and rounding. A point far out, or not finite, is drawn below.
|
|
748
|
+
const inverse = job.inverse;
|
|
749
|
+
let top;
|
|
750
|
+
let bottom;
|
|
751
|
+
if (moved) {
|
|
752
|
+
if (Math.abs(m.tx) >= 2 ** 31 || Math.abs(m.ty) >= 2 ** 31) {
|
|
753
|
+
return false;
|
|
754
|
+
}
|
|
755
|
+
top = area.y - m.ty;
|
|
756
|
+
bottom = top + area.height;
|
|
757
|
+
}
|
|
758
|
+
else {
|
|
759
|
+
const x0 = area.x;
|
|
760
|
+
const x1 = area.x + area.width;
|
|
761
|
+
const y0 = area.y;
|
|
762
|
+
const y1 = area.y + area.height;
|
|
763
|
+
const ia = inverse[0];
|
|
764
|
+
const ib = inverse[1];
|
|
765
|
+
const ic = inverse[2];
|
|
766
|
+
const id = inverse[3];
|
|
767
|
+
const itx = inverse[4];
|
|
768
|
+
const ity = inverse[5];
|
|
769
|
+
const ya = ib * x0 + id * y0 + ity;
|
|
770
|
+
const yb = ib * x1 + id * y0 + ity;
|
|
771
|
+
const yc = ib * x0 + id * y1 + ity;
|
|
772
|
+
const yd = ib * x1 + id * y1 + ity;
|
|
773
|
+
const xa = ia * x0 + ic * y0 + itx;
|
|
774
|
+
const xb = ia * x1 + ic * y0 + itx;
|
|
775
|
+
const xc = ia * x0 + ic * y1 + itx;
|
|
776
|
+
const xd = ia * x1 + ic * y1 + itx;
|
|
777
|
+
const low = Math.min(ya, yb, yc, yd);
|
|
778
|
+
const high = Math.max(ya, yb, yc, yd);
|
|
779
|
+
const far = Math.max(Math.abs(xa), Math.abs(xb), Math.abs(xc), Math.abs(xd));
|
|
780
|
+
if (!(Math.abs(low) < REACH && Math.abs(high) < REACH && far < REACH)) {
|
|
781
|
+
return false;
|
|
782
|
+
}
|
|
783
|
+
top = Math.max(0, Math.min(source.height - 1, Math.floor(low) - 1));
|
|
784
|
+
bottom = Math.max(top + 1, Math.min(source.height, Math.ceil(high) + 1));
|
|
785
|
+
}
|
|
786
|
+
if (ct) {
|
|
787
|
+
const t = job.transform;
|
|
788
|
+
t[0] = ct.rMul;
|
|
789
|
+
t[1] = ct.gMul;
|
|
790
|
+
t[2] = ct.bMul;
|
|
791
|
+
t[3] = ct.aMul;
|
|
792
|
+
t[4] = ct.rAdd;
|
|
793
|
+
t[5] = ct.gAdd;
|
|
794
|
+
t[6] = ct.bAdd;
|
|
795
|
+
t[7] = ct.aAdd;
|
|
796
|
+
if (!t.every(Number.isFinite)) {
|
|
797
|
+
return false;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
// Copying wide source rows for a small clip can cost more than the draw.
|
|
801
|
+
// Whole-pixel moves do less work per destination pixel, so their limit is lower.
|
|
802
|
+
const sourcePixels = source.width * (bottom - top);
|
|
803
|
+
const copiedPerPixel = moved ? 32 : 128;
|
|
804
|
+
if (sourcePixels > Math.max(1024, area.width * area.height * copiedPerPixel)) {
|
|
805
|
+
return false;
|
|
806
|
+
}
|
|
807
|
+
const kernel = drawKernel();
|
|
808
|
+
if (!kernel) {
|
|
809
|
+
return false;
|
|
810
|
+
}
|
|
811
|
+
job.source = source.drawable;
|
|
812
|
+
job.sourceWidth = source.width;
|
|
813
|
+
job.sourceHeight = source.height;
|
|
814
|
+
job.sourceTop = top;
|
|
815
|
+
job.sourceRows = bottom - top;
|
|
816
|
+
job.into = store.readable;
|
|
817
|
+
job.intoWidth = store.width;
|
|
818
|
+
job.x = area.x;
|
|
819
|
+
job.y = area.y;
|
|
820
|
+
job.width = area.width;
|
|
821
|
+
job.height = area.height;
|
|
822
|
+
job.moved = moved;
|
|
823
|
+
job.tx = moved ? m.tx : 0;
|
|
824
|
+
job.ty = moved ? m.ty : 0;
|
|
825
|
+
job.flags =
|
|
826
|
+
(smooth ? DRAW_SMOOTH : 0) |
|
|
827
|
+
(ct ? DRAW_TRANSFORM : 0) |
|
|
828
|
+
(store.transparent ? 0 : DRAW_OPAQUE) |
|
|
829
|
+
(ct?.skipZeroAlpha ? DRAW_SKIP_ZERO_ALPHA : 0);
|
|
830
|
+
const result = kernel.draw(job);
|
|
831
|
+
// The job holds no store's pixels past the draw.
|
|
832
|
+
job.source = EMPTY;
|
|
833
|
+
job.into = EMPTY;
|
|
834
|
+
if (result === "refused") {
|
|
835
|
+
return false;
|
|
836
|
+
}
|
|
837
|
+
if (result === "written") {
|
|
838
|
+
kernel.writeBack(job, store.pixels);
|
|
839
|
+
store.changed();
|
|
840
|
+
}
|
|
841
|
+
return true;
|
|
842
|
+
}
|
|
843
|
+
const EMPTY = new Uint32Array(0);
|
|
844
|
+
/**
|
|
845
|
+
* The row buffers kept between draws, which drawBitmap and composite take
|
|
846
|
+
* for a draw and give back after it. A draw runs to its end without
|
|
847
|
+
* calling out, so no other draw can take them in the middle of one:
|
|
848
|
+
* `scratchTaken` holds that, and a draw that finds them taken throws
|
|
849
|
+
* rather than overwrite a row another is working on.
|
|
850
|
+
*/
|
|
851
|
+
let scratch = {
|
|
852
|
+
pixels: new Uint32Array(0),
|
|
853
|
+
hits: new Uint8Array(0),
|
|
854
|
+
us: new Float64Array(0),
|
|
855
|
+
vs: new Float64Array(0),
|
|
856
|
+
};
|
|
857
|
+
let scratchTaken = false;
|
|
858
|
+
/** The widest row whose buffers are kept for the next draw: a wider one's go with its draw. */
|
|
859
|
+
const ROW_KEPT = 8192;
|
|
860
|
+
/** Buffers for rows of `n` pixels: the kept ones where they are wide enough, until given back. */
|
|
861
|
+
function takeRows(n) {
|
|
862
|
+
if (scratch.pixels.length >= n) {
|
|
863
|
+
if (scratchTaken) {
|
|
864
|
+
throw new Error("drawBitmap's row buffers are taken by a draw already under way");
|
|
865
|
+
}
|
|
866
|
+
scratchTaken = true;
|
|
867
|
+
return scratch;
|
|
868
|
+
}
|
|
869
|
+
const buffers = {
|
|
870
|
+
pixels: new Uint32Array(n),
|
|
871
|
+
hits: new Uint8Array(n),
|
|
872
|
+
us: new Float64Array(n),
|
|
873
|
+
vs: new Float64Array(n),
|
|
874
|
+
};
|
|
875
|
+
if (n <= ROW_KEPT && !scratchTaken) {
|
|
876
|
+
scratch = buffers;
|
|
877
|
+
scratchTaken = true;
|
|
878
|
+
}
|
|
879
|
+
return buffers;
|
|
880
|
+
}
|
|
881
|
+
function giveRowsBack(buffers) {
|
|
882
|
+
if (buffers === scratch) {
|
|
883
|
+
scratchTaken = false;
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
/** coveredSpan's answer: the first pixel of a row covered whole and the one past the last. */
|
|
887
|
+
let spanFrom = 0;
|
|
888
|
+
let spanTo = 0;
|
|
889
|
+
/**
|
|
890
|
+
* Narrows spanFrom to spanTo, the destination pixels in row y whose 16 samples
|
|
891
|
+
* all have u = a x + c y' + t within [0, size), y' each of the row's four
|
|
892
|
+
* sample rows; false where u barely moves along x without being still,
|
|
893
|
+
* which leaves every pixel to be tested. The span keeps a margin of a
|
|
894
|
+
* thousandth of a pixel, and more where the numbers are large, from where
|
|
895
|
+
* the samples' own arithmetic decides, so a pixel in it is one the tests
|
|
896
|
+
* find whole.
|
|
897
|
+
*/
|
|
898
|
+
function coveredSpan(a, c, t, size, y) {
|
|
899
|
+
if (a === 0) {
|
|
900
|
+
// u is the same all along a sample row, worked out as the tests do.
|
|
901
|
+
for (let k = 0; k < 4; k++) {
|
|
902
|
+
const u = c * (y + (k + 0.5) / 4) + t;
|
|
903
|
+
if (!(u >= 0 && u < size)) {
|
|
904
|
+
spanFrom = Number.POSITIVE_INFINITY;
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
return true;
|
|
908
|
+
}
|
|
909
|
+
if (Math.abs(a) < 1e-6) {
|
|
910
|
+
return false;
|
|
911
|
+
}
|
|
912
|
+
for (let k = 0; k < 4; k++) {
|
|
913
|
+
const offset = c * (y + (k + 0.5) / 4) + t;
|
|
914
|
+
// The x where u is 0 and where it is size, in either order.
|
|
915
|
+
const at0 = -offset / a;
|
|
916
|
+
const atSize = (size - offset) / a;
|
|
917
|
+
const margin = 0.001 +
|
|
918
|
+
(1e-12 * (Math.abs(offset) + size + Math.abs(a) * (Math.abs(at0) + Math.abs(atSize)))) /
|
|
919
|
+
Math.abs(a);
|
|
920
|
+
const low = Math.min(at0, atSize) + margin;
|
|
921
|
+
const high = Math.max(at0, atSize) - margin;
|
|
922
|
+
if (!Number.isFinite(low) || !Number.isFinite(high)) {
|
|
923
|
+
return false;
|
|
924
|
+
}
|
|
925
|
+
// Samples lie at x + 1/8 to x + 7/8.
|
|
926
|
+
spanFrom = Math.max(spanFrom, Math.ceil(low - 0.125));
|
|
927
|
+
spanTo = Math.min(spanTo, Math.floor(high - 0.875) + 1);
|
|
928
|
+
}
|
|
929
|
+
return true;
|
|
930
|
+
}
|
|
931
|
+
/** The source's pixel under each covered pixel's point of the row, nearest or bilinear. */
|
|
932
|
+
function sampleRow(from, width, height, us, vs, hits, row, n, smooth) {
|
|
933
|
+
for (let k = 0; k < n; k++) {
|
|
934
|
+
if (hits[k] === 0) {
|
|
935
|
+
continue;
|
|
936
|
+
}
|
|
937
|
+
row[k] = smooth
|
|
938
|
+
? bilinear(from, width, height, us[k] - 0.5, vs[k] - 0.5)
|
|
939
|
+
: nearest(from, width, height, us[k], vs[k]);
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
/** The row's covered pixels through the colour transform, a run of one pixel transformed once. */
|
|
943
|
+
function transformRow(row, hits, n, ct) {
|
|
944
|
+
let last = -1;
|
|
945
|
+
let out = 0;
|
|
946
|
+
for (let k = 0; k < n; k++) {
|
|
947
|
+
if (hits[k] === 0) {
|
|
948
|
+
continue;
|
|
949
|
+
}
|
|
950
|
+
const p = row[k];
|
|
951
|
+
if (p !== last) {
|
|
952
|
+
last = p;
|
|
953
|
+
out = transformed(p, ct);
|
|
954
|
+
}
|
|
955
|
+
row[k] = out;
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
/** The row's partly covered pixels scaled by their coverage. */
|
|
959
|
+
function coverRow(row, hits, n) {
|
|
960
|
+
for (let k = 0; k < n; k++) {
|
|
961
|
+
const hit = hits[k];
|
|
962
|
+
if (hit !== 0 && hit < 16) {
|
|
963
|
+
row[k] = scaleBy(row[k], hit / 16);
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
}
|
|
967
|
+
/**
|
|
968
|
+
* The row's covered pixels composited into the store's pixels from `at` by
|
|
969
|
+
* the blend mode; with `keepClear`, a clear one leaves the destination be.
|
|
970
|
+
*/
|
|
971
|
+
function blendRow(store, into, at, row, hits, n, mode, keepClear) {
|
|
972
|
+
if (mode === NORMAL) {
|
|
973
|
+
const opaque = store.transparent ? 0 : 0xff000000;
|
|
974
|
+
for (let k = 0; k < n; k++) {
|
|
975
|
+
if (hits[k] === 0) {
|
|
976
|
+
continue;
|
|
977
|
+
}
|
|
978
|
+
const p = row[k];
|
|
979
|
+
const sa = p >>> 24;
|
|
980
|
+
into[at + k] = sa === 255 ? p : (over(p, into[at + k]) | opaque) >>> 0;
|
|
981
|
+
}
|
|
982
|
+
return;
|
|
983
|
+
}
|
|
984
|
+
for (let k = 0; k < n; k++) {
|
|
985
|
+
if (hits[k] !== 0 && !(keepClear && row[k] >>> 24 === 0)) {
|
|
986
|
+
put(store, into, at + k, mode, row[k]);
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
/** `source` at (tx, ty) composited into `area` of the store, a pixel each; whether it put one. */
|
|
991
|
+
function composite(store, source, area, tx, ty, ct, mode, keepClear) {
|
|
992
|
+
const from = source.drawable;
|
|
993
|
+
const opaque = store.transparent ? 0 : 0xff000000;
|
|
994
|
+
// The store's pixels, taken as drawBitmap takes them: at the first pixel put.
|
|
995
|
+
let into = null;
|
|
996
|
+
if (!ct && mode === NORMAL) {
|
|
997
|
+
for (let y = area.y; y < area.y + area.height; y++) {
|
|
998
|
+
let i = y * store.width + area.x;
|
|
999
|
+
let j = (y - ty) * source.width + (area.x - tx);
|
|
1000
|
+
for (let x = 0; x < area.width; x++, i++, j++) {
|
|
1001
|
+
// Source over, inline: what blend("normal") computes.
|
|
1002
|
+
const p = from[j];
|
|
1003
|
+
const sa = p >>> 24;
|
|
1004
|
+
if (sa === 0) {
|
|
1005
|
+
continue;
|
|
1006
|
+
}
|
|
1007
|
+
into ??= store.pixels;
|
|
1008
|
+
into[i] = sa === 255 ? p : (over(p, into[i]) | opaque) >>> 0;
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
return into !== null;
|
|
1012
|
+
}
|
|
1013
|
+
// A row at a time through the passes drawBitmap's rows take, every pixel covered.
|
|
1014
|
+
const n = area.width;
|
|
1015
|
+
const buffers = takeRows(n);
|
|
1016
|
+
try {
|
|
1017
|
+
const { pixels: row, hits } = buffers;
|
|
1018
|
+
hits.fill(16, 0, n);
|
|
1019
|
+
into = store.pixels;
|
|
1020
|
+
for (let y = area.y; y < area.y + area.height; y++) {
|
|
1021
|
+
const j = (y - ty) * source.width + (area.x - tx);
|
|
1022
|
+
// A view and a copy: a loop copying it was slower, for all a view allocates.
|
|
1023
|
+
row.set(from.subarray(j, j + n));
|
|
1024
|
+
if (ct) {
|
|
1025
|
+
transformRow(row, hits, n, ct);
|
|
1026
|
+
}
|
|
1027
|
+
blendRow(store, into, y * store.width + area.x, row, hits, n, mode, keepClear);
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
finally {
|
|
1031
|
+
giveRowsBack(buffers);
|
|
1032
|
+
}
|
|
1033
|
+
return true;
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* A drawn pixel composited into the store by the blend mode, opaque where
|
|
1037
|
+
* the store is, but for erase and alpha: an opaque bitmap holds the alpha
|
|
1038
|
+
* they leave, as Flash's memory does, and reads it back (getPixel32).
|
|
1039
|
+
*/
|
|
1040
|
+
function put(store, into, i, mode, p) {
|
|
1041
|
+
const out = blend(mode, p, into[i]);
|
|
1042
|
+
if (store.transparent) {
|
|
1043
|
+
into[i] = out;
|
|
1044
|
+
}
|
|
1045
|
+
else if (mode === ERASE || mode === ALPHA) {
|
|
1046
|
+
into[i] = out;
|
|
1047
|
+
store.holdsAlpha ||= out >>> 24 !== 255;
|
|
1048
|
+
}
|
|
1049
|
+
else {
|
|
1050
|
+
into[i] = (out | 0xff000000) >>> 0;
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
/**
|
|
1054
|
+
* The part of `store` a draw of itself through `m` into `area` can read,
|
|
1055
|
+
* copied, as a layer reads it before the draw writes, and the matrix that
|
|
1056
|
+
* draws the copy where the store would be drawn: the area's corners taken
|
|
1057
|
+
* back through the matrix, a pixel wider for smoothing, within the store.
|
|
1058
|
+
*/
|
|
1059
|
+
function reachable(store, m, area) {
|
|
1060
|
+
const det = m.a * m.d - m.b * m.c;
|
|
1061
|
+
const back = [
|
|
1062
|
+
[area.x, area.y],
|
|
1063
|
+
[area.x + area.width, area.y],
|
|
1064
|
+
[area.x, area.y + area.height],
|
|
1065
|
+
[area.x + area.width, area.y + area.height],
|
|
1066
|
+
].map(([x, y]) => [
|
|
1067
|
+
(m.d * (x - m.tx) - m.c * (y - m.ty)) / det,
|
|
1068
|
+
(m.a * (y - m.ty) - m.b * (x - m.tx)) / det,
|
|
1069
|
+
]);
|
|
1070
|
+
const x0 = Math.max(0, Math.floor(Math.min(...back.map((p) => p[0]))) - 1);
|
|
1071
|
+
const y0 = Math.max(0, Math.floor(Math.min(...back.map((p) => p[1]))) - 1);
|
|
1072
|
+
const x1 = Math.min(store.width, Math.ceil(Math.max(...back.map((p) => p[0]))) + 1);
|
|
1073
|
+
const y1 = Math.min(store.height, Math.ceil(Math.max(...back.map((p) => p[1]))) + 1);
|
|
1074
|
+
const width = Math.max(0, x1 - x0);
|
|
1075
|
+
const height = Math.max(0, y1 - y0);
|
|
1076
|
+
const copy = new BitmapStore(width, height, store.transparent, 0);
|
|
1077
|
+
const from = store.readable;
|
|
1078
|
+
const into = copy.pixels;
|
|
1079
|
+
for (let y = 0; y < height; y++) {
|
|
1080
|
+
into.set(from.subarray((y0 + y) * store.width + x0, (y0 + y) * store.width + x0 + width), y * width);
|
|
1081
|
+
}
|
|
1082
|
+
copy.holdsAlpha = store.holdsAlpha;
|
|
1083
|
+
return [copy, { ...m, tx: m.tx + m.a * x0 + m.c * y0, ty: m.ty + m.b * x0 + m.d * y0 }];
|
|
1084
|
+
}
|
|
1085
|
+
function nearest(from, width, height, x, y) {
|
|
1086
|
+
const px = Math.min(width - 1, Math.max(0, Math.floor(x)));
|
|
1087
|
+
const py = Math.min(height - 1, Math.max(0, Math.floor(y)));
|
|
1088
|
+
return from[py * width + px];
|
|
1089
|
+
}
|
|
1090
|
+
/** Bilinear between the four premultiplied pixels round (x, y), clamped to the edges. */
|
|
1091
|
+
function bilinear(from, width, height, x, y) {
|
|
1092
|
+
const x0 = Math.floor(x);
|
|
1093
|
+
const y0 = Math.floor(y);
|
|
1094
|
+
const fx = x - x0;
|
|
1095
|
+
const fy = y - y0;
|
|
1096
|
+
const left = Math.min(width - 1, Math.max(0, x0));
|
|
1097
|
+
const right = Math.min(width - 1, Math.max(0, x0 + 1));
|
|
1098
|
+
const top = Math.min(height - 1, Math.max(0, y0)) * width;
|
|
1099
|
+
const bottom = Math.min(height - 1, Math.max(0, y0 + 1)) * width;
|
|
1100
|
+
const p00 = from[top + left];
|
|
1101
|
+
const p10 = from[top + right];
|
|
1102
|
+
const p01 = from[bottom + left];
|
|
1103
|
+
const p11 = from[bottom + right];
|
|
1104
|
+
const gx = 1 - fx;
|
|
1105
|
+
const gy = 1 - fy;
|
|
1106
|
+
return (((lerp4(p00, p10, p01, p11, 24, fx, fy, gx, gy) << 24) |
|
|
1107
|
+
(lerp4(p00, p10, p01, p11, 16, fx, fy, gx, gy) << 16) |
|
|
1108
|
+
(lerp4(p00, p10, p01, p11, 8, fx, fy, gx, gy) << 8) |
|
|
1109
|
+
lerp4(p00, p10, p01, p11, 0, fx, fy, gx, gy)) >>>
|
|
1110
|
+
0);
|
|
1111
|
+
}
|
|
1112
|
+
/** One channel of bilinear's four pixels, weighed by fx and fy and by gx and gy, their complements. */
|
|
1113
|
+
function lerp4(p00, p10, p01, p11, shift, fx, fy, gx, gy) {
|
|
1114
|
+
const top = ((p00 >>> shift) & 0xff) * gx + ((p10 >>> shift) & 0xff) * fx;
|
|
1115
|
+
const bottom = ((p01 >>> shift) & 0xff) * gx + ((p11 >>> shift) & 0xff) * fx;
|
|
1116
|
+
return Math.round(top * gy + bottom * fy);
|
|
1117
|
+
}
|
|
1118
|
+
/** A premultiplied pixel through a colour transform, as colorTransform computes it. */
|
|
1119
|
+
function transformed(p, ct) {
|
|
1120
|
+
const a0 = p >>> 24;
|
|
1121
|
+
if (a0 === 0 && ct.skipZeroAlpha) {
|
|
1122
|
+
return 0;
|
|
1123
|
+
}
|
|
1124
|
+
const a = colorChannel(a0, ct.aMul, ct.aAdd);
|
|
1125
|
+
return (((a << 24) |
|
|
1126
|
+
(drawColorChannel(p, a0, 16, ct.rMul, ct.rAdd, a) << 16) |
|
|
1127
|
+
(drawColorChannel(p, a0, 8, ct.gMul, ct.gAdd, a) << 8) |
|
|
1128
|
+
drawColorChannel(p, a0, 0, ct.bMul, ct.bAdd, a)) >>>
|
|
1129
|
+
0);
|
|
1130
|
+
}
|
|
1131
|
+
function prepareColorTransform(ct) {
|
|
1132
|
+
return {
|
|
1133
|
+
rMul: Math.trunc(ct.rMul * 256),
|
|
1134
|
+
gMul: Math.trunc(ct.gMul * 256),
|
|
1135
|
+
bMul: Math.trunc(ct.bMul * 256),
|
|
1136
|
+
aMul: Math.trunc(ct.aMul * 256),
|
|
1137
|
+
rAdd: Math.trunc(ct.rAdd),
|
|
1138
|
+
gAdd: Math.trunc(ct.gAdd),
|
|
1139
|
+
bAdd: Math.trunc(ct.bAdd),
|
|
1140
|
+
aAdd: Math.trunc(ct.aAdd),
|
|
1141
|
+
// The alpha-zero guard tests the original offset before truncation.
|
|
1142
|
+
skipZeroAlpha: ct.aAdd <= 0,
|
|
1143
|
+
};
|
|
1144
|
+
}
|
|
1145
|
+
// These stay outside the pixel loops so a transform creates no per-pixel closures.
|
|
1146
|
+
function colorChannel(v, mul, add) {
|
|
1147
|
+
return Math.max(0, Math.min(255, Math.floor((v * mul) / 256) + add));
|
|
1148
|
+
}
|
|
1149
|
+
function straightChannel(p, alpha, shift) {
|
|
1150
|
+
return alpha === 0 ? 0 : Math.min(255, Math.floor((((p >>> shift) & 0xff) * 255) / alpha));
|
|
1151
|
+
}
|
|
1152
|
+
function premultipliedChannel(v, alpha) {
|
|
1153
|
+
return alpha === 255 ? v : (v * (alpha + 1)) >> 8;
|
|
1154
|
+
}
|
|
1155
|
+
function drawColorChannel(p, alpha, shift, mul, add, outAlpha) {
|
|
1156
|
+
const v = colorChannel(straightChannel(p, alpha, shift), mul, add);
|
|
1157
|
+
return premultipliedChannel(v, outAlpha);
|
|
1158
|
+
}
|
|
1159
|
+
/** A premultiplied pixel with all four channels scaled by a coverage. */
|
|
1160
|
+
function scaleBy(p, f) {
|
|
1161
|
+
return (((Math.round((p >>> 24) * f) << 24) |
|
|
1162
|
+
(Math.round(((p >>> 16) & 0xff) * f) << 16) |
|
|
1163
|
+
(Math.round(((p >>> 8) & 0xff) * f) << 8) |
|
|
1164
|
+
Math.round((p & 0xff) * f)) >>>
|
|
1165
|
+
0);
|
|
1166
|
+
}
|
|
1167
|
+
/**
|
|
1168
|
+
* The destination alone, as erase and alpha leave it: each channel scaled
|
|
1169
|
+
* by k / 255, what the source's alpha leaves or is, floored, as adl's are.
|
|
1170
|
+
*/
|
|
1171
|
+
function scaleFloored(d, k) {
|
|
1172
|
+
const a = Math.floor(((d >>> 24) * k) / 255);
|
|
1173
|
+
const r = Math.floor((((d >>> 16) & 0xff) * k) / 255);
|
|
1174
|
+
const g = Math.floor((((d >>> 8) & 0xff) * k) / 255);
|
|
1175
|
+
const b = Math.floor(((d & 0xff) * k) / 255);
|
|
1176
|
+
return ((a << 24) | (r << 16) | (g << 8) | b) >>> 0;
|
|
1177
|
+
}
|
|
1178
|
+
/** x * y / 255, rounded as the blend modes' arithmetic has it. */
|
|
1179
|
+
function mul(x, y) {
|
|
1180
|
+
return (x * y + 127) / 255;
|
|
1181
|
+
}
|
|
1182
|
+
/**
|
|
1183
|
+
* Premultiplied s over d by a blend mode, the W3C's compositing with each
|
|
1184
|
+
* mode's mix. Every helper takes its operands as arguments, so a pixel
|
|
1185
|
+
* allocates nothing: a closure over them would take a context each call.
|
|
1186
|
+
*/
|
|
1187
|
+
function blend(mode, s, d) {
|
|
1188
|
+
if (mode === NORMAL) {
|
|
1189
|
+
return over(s, d);
|
|
1190
|
+
}
|
|
1191
|
+
const sa = s >>> 24;
|
|
1192
|
+
if (mode === ERASE || mode === ALPHA) {
|
|
1193
|
+
return scaleFloored(d, mode === ERASE ? 255 - sa : sa);
|
|
1194
|
+
}
|
|
1195
|
+
const da = d >>> 24;
|
|
1196
|
+
const a = mode === ADD || mode === SUBTRACT
|
|
1197
|
+
? Math.min(255, sa + da)
|
|
1198
|
+
: Math.min(255, Math.round(sa + da - mul(sa, da)));
|
|
1199
|
+
return (((a << 24) |
|
|
1200
|
+
(blendChannel(mode, (s >>> 16) & 0xff, (d >>> 16) & 0xff, sa, da) << 16) |
|
|
1201
|
+
(blendChannel(mode, (s >>> 8) & 0xff, (d >>> 8) & 0xff, sa, da) << 8) |
|
|
1202
|
+
blendChannel(mode, s & 0xff, d & 0xff, sa, da)) >>>
|
|
1203
|
+
0);
|
|
1204
|
+
}
|
|
1205
|
+
/** A colour channel of blend: source cs and destination cd under alphas sa and da. */
|
|
1206
|
+
function blendChannel(mode, cs, cd, sa, da) {
|
|
1207
|
+
let b;
|
|
1208
|
+
switch (mode) {
|
|
1209
|
+
case MULTIPLY:
|
|
1210
|
+
b = mul(cs, cd);
|
|
1211
|
+
break;
|
|
1212
|
+
case SCREEN:
|
|
1213
|
+
b = (cs * da) / 255 + (cd * sa) / 255 - mul(cs, cd);
|
|
1214
|
+
break;
|
|
1215
|
+
case LIGHTEN:
|
|
1216
|
+
b = Math.max(mul(cs, da), mul(cd, sa));
|
|
1217
|
+
break;
|
|
1218
|
+
case DARKEN:
|
|
1219
|
+
b = Math.min(mul(cs, da), mul(cd, sa));
|
|
1220
|
+
break;
|
|
1221
|
+
case DIFFERENCE:
|
|
1222
|
+
b = Math.abs(mul(cs, da) - mul(cd, sa));
|
|
1223
|
+
break;
|
|
1224
|
+
case ADD:
|
|
1225
|
+
return Math.min(255, cs + cd);
|
|
1226
|
+
case SUBTRACT:
|
|
1227
|
+
return Math.max(0, cd - cs);
|
|
1228
|
+
case INVERT:
|
|
1229
|
+
// The destination inverted, the source's colour unused.
|
|
1230
|
+
return Math.max(0, Math.min(255, Math.floor(mul(255 - cd, sa) + mul(cd, 255 - sa))));
|
|
1231
|
+
case OVERLAY:
|
|
1232
|
+
b = 2 * cd <= da ? 2 * mul(cs, cd) : mul(sa, da) - 2 * mul(da - cd, sa - cs);
|
|
1233
|
+
break;
|
|
1234
|
+
default:
|
|
1235
|
+
b = 2 * cs <= sa ? 2 * mul(cs, cd) : mul(sa, da) - 2 * mul(da - cd, sa - cs);
|
|
1236
|
+
break;
|
|
1237
|
+
}
|
|
1238
|
+
return Math.max(0, Math.min(255, Math.floor(b + mul(cs, 255 - da) + mul(cd, 255 - sa))));
|
|
1239
|
+
}
|
|
1240
|
+
//# sourceMappingURL=ops.js.map
|