@swf2es/player 0.0.0-stage → 0.1.1

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.
Files changed (1329) hide show
  1. package/LICENSE +202 -0
  2. package/LICENSE.third-party +51 -0
  3. package/README.md +38 -2
  4. package/dist/air-definitions.d.ts +2 -0
  5. package/dist/air-definitions.d.ts.map +1 -0
  6. package/dist/air-definitions.js +130 -0
  7. package/dist/air-definitions.js.map +1 -0
  8. package/dist/avm1/amf.d.ts +155 -0
  9. package/dist/avm1/amf.d.ts.map +1 -0
  10. package/dist/avm1/amf.js +508 -0
  11. package/dist/avm1/amf.js.map +1 -0
  12. package/dist/avm1/avm1.d.ts +448 -0
  13. package/dist/avm1/avm1.d.ts.map +1 -0
  14. package/dist/avm1/avm1.js +1305 -0
  15. package/dist/avm1/avm1.js.map +1 -0
  16. package/dist/avm1/bindings.d.ts +56 -0
  17. package/dist/avm1/bindings.d.ts.map +1 -0
  18. package/dist/avm1/bindings.js +215 -0
  19. package/dist/avm1/bindings.js.map +1 -0
  20. package/dist/avm1/classes.d.ts +33 -0
  21. package/dist/avm1/classes.d.ts.map +1 -0
  22. package/dist/avm1/classes.js +76 -0
  23. package/dist/avm1/classes.js.map +1 -0
  24. package/dist/avm1/clips.d.ts +54 -0
  25. package/dist/avm1/clips.d.ts.map +1 -0
  26. package/dist/avm1/clips.js +230 -0
  27. package/dist/avm1/clips.js.map +1 -0
  28. package/dist/avm1/compile.d.ts +8 -0
  29. package/dist/avm1/compile.d.ts.map +1 -0
  30. package/dist/avm1/compile.js +141 -0
  31. package/dist/avm1/compile.js.map +1 -0
  32. package/dist/avm1/external.d.ts +44 -0
  33. package/dist/avm1/external.d.ts.map +1 -0
  34. package/dist/avm1/external.js +80 -0
  35. package/dist/avm1/external.js.map +1 -0
  36. package/dist/avm1/focus.d.ts +68 -0
  37. package/dist/avm1/focus.d.ts.map +1 -0
  38. package/dist/avm1/focus.js +279 -0
  39. package/dist/avm1/focus.js.map +1 -0
  40. package/dist/avm1/globals/BitmapData.d.ts +30 -0
  41. package/dist/avm1/globals/BitmapData.d.ts.map +1 -0
  42. package/dist/avm1/globals/BitmapData.js +543 -0
  43. package/dist/avm1/globals/BitmapData.js.map +1 -0
  44. package/dist/avm1/globals/Button.d.ts +8 -0
  45. package/dist/avm1/globals/Button.d.ts.map +1 -0
  46. package/dist/avm1/globals/Button.js +32 -0
  47. package/dist/avm1/globals/Button.js.map +1 -0
  48. package/dist/avm1/globals/Color.d.ts +11 -0
  49. package/dist/avm1/globals/Color.d.ts.map +1 -0
  50. package/dist/avm1/globals/Color.js +116 -0
  51. package/dist/avm1/globals/Color.js.map +1 -0
  52. package/dist/avm1/globals/ExternalInterface.d.ts +20 -0
  53. package/dist/avm1/globals/ExternalInterface.d.ts.map +1 -0
  54. package/dist/avm1/globals/ExternalInterface.js +311 -0
  55. package/dist/avm1/globals/ExternalInterface.js.map +1 -0
  56. package/dist/avm1/globals/FileReference.d.ts +4 -0
  57. package/dist/avm1/globals/FileReference.d.ts.map +1 -0
  58. package/dist/avm1/globals/FileReference.js +218 -0
  59. package/dist/avm1/globals/FileReference.js.map +1 -0
  60. package/dist/avm1/globals/Key.d.ts +21 -0
  61. package/dist/avm1/globals/Key.d.ts.map +1 -0
  62. package/dist/avm1/globals/Key.js +61 -0
  63. package/dist/avm1/globals/Key.js.map +1 -0
  64. package/dist/avm1/globals/LoadVars.d.ts +39 -0
  65. package/dist/avm1/globals/LoadVars.d.ts.map +1 -0
  66. package/dist/avm1/globals/LoadVars.js +209 -0
  67. package/dist/avm1/globals/LoadVars.js.map +1 -0
  68. package/dist/avm1/globals/LocalConnection.d.ts +5 -0
  69. package/dist/avm1/globals/LocalConnection.d.ts.map +1 -0
  70. package/dist/avm1/globals/LocalConnection.js +93 -0
  71. package/dist/avm1/globals/LocalConnection.js.map +1 -0
  72. package/dist/avm1/globals/MovieClip.d.ts +156 -0
  73. package/dist/avm1/globals/MovieClip.d.ts.map +1 -0
  74. package/dist/avm1/globals/MovieClip.js +1071 -0
  75. package/dist/avm1/globals/MovieClip.js.map +1 -0
  76. package/dist/avm1/globals/MovieClipLoader.d.ts +29 -0
  77. package/dist/avm1/globals/MovieClipLoader.d.ts.map +1 -0
  78. package/dist/avm1/globals/MovieClipLoader.js +91 -0
  79. package/dist/avm1/globals/MovieClipLoader.js.map +1 -0
  80. package/dist/avm1/globals/NetConnection.d.ts +68 -0
  81. package/dist/avm1/globals/NetConnection.d.ts.map +1 -0
  82. package/dist/avm1/globals/NetConnection.js +262 -0
  83. package/dist/avm1/globals/NetConnection.js.map +1 -0
  84. package/dist/avm1/globals/PrintJob.d.ts +4 -0
  85. package/dist/avm1/globals/PrintJob.d.ts.map +1 -0
  86. package/dist/avm1/globals/PrintJob.js +38 -0
  87. package/dist/avm1/globals/PrintJob.js.map +1 -0
  88. package/dist/avm1/globals/Selection.d.ts +17 -0
  89. package/dist/avm1/globals/Selection.d.ts.map +1 -0
  90. package/dist/avm1/globals/Selection.js +63 -0
  91. package/dist/avm1/globals/Selection.js.map +1 -0
  92. package/dist/avm1/globals/SharedObject.d.ts +20 -0
  93. package/dist/avm1/globals/SharedObject.d.ts.map +1 -0
  94. package/dist/avm1/globals/SharedObject.js +246 -0
  95. package/dist/avm1/globals/SharedObject.js.map +1 -0
  96. package/dist/avm1/globals/Sound.d.ts +36 -0
  97. package/dist/avm1/globals/Sound.d.ts.map +1 -0
  98. package/dist/avm1/globals/Sound.js +239 -0
  99. package/dist/avm1/globals/Sound.js.map +1 -0
  100. package/dist/avm1/globals/Stage.d.ts +7 -0
  101. package/dist/avm1/globals/Stage.d.ts.map +1 -0
  102. package/dist/avm1/globals/Stage.js +13 -0
  103. package/dist/avm1/globals/Stage.js.map +1 -0
  104. package/dist/avm1/globals/StyleSheet.d.ts +10 -0
  105. package/dist/avm1/globals/StyleSheet.d.ts.map +1 -0
  106. package/dist/avm1/globals/StyleSheet.js +206 -0
  107. package/dist/avm1/globals/StyleSheet.js.map +1 -0
  108. package/dist/avm1/globals/TextField.d.ts +44 -0
  109. package/dist/avm1/globals/TextField.d.ts.map +1 -0
  110. package/dist/avm1/globals/TextField.js +397 -0
  111. package/dist/avm1/globals/TextField.js.map +1 -0
  112. package/dist/avm1/globals/TextFormat.d.ts +19 -0
  113. package/dist/avm1/globals/TextFormat.d.ts.map +1 -0
  114. package/dist/avm1/globals/TextFormat.js +195 -0
  115. package/dist/avm1/globals/TextFormat.js.map +1 -0
  116. package/dist/avm1/globals/TextSnapshot.d.ts +6 -0
  117. package/dist/avm1/globals/TextSnapshot.d.ts.map +1 -0
  118. package/dist/avm1/globals/TextSnapshot.js +89 -0
  119. package/dist/avm1/globals/TextSnapshot.js.map +1 -0
  120. package/dist/avm1/globals/XML.d.ts +9 -0
  121. package/dist/avm1/globals/XML.d.ts.map +1 -0
  122. package/dist/avm1/globals/XML.js +397 -0
  123. package/dist/avm1/globals/XML.js.map +1 -0
  124. package/dist/avm1/globals/XMLNode.d.ts +93 -0
  125. package/dist/avm1/globals/XMLNode.d.ts.map +1 -0
  126. package/dist/avm1/globals/XMLNode.js +414 -0
  127. package/dist/avm1/globals/XMLNode.js.map +1 -0
  128. package/dist/avm1/globals/XMLSocket.d.ts +19 -0
  129. package/dist/avm1/globals/XMLSocket.d.ts.map +1 -0
  130. package/dist/avm1/globals/XMLSocket.js +206 -0
  131. package/dist/avm1/globals/XMLSocket.js.map +1 -0
  132. package/dist/avm1/globals/drawing.d.ts +8 -0
  133. package/dist/avm1/globals/drawing.d.ts.map +1 -0
  134. package/dist/avm1/globals/drawing.js +203 -0
  135. package/dist/avm1/globals/drawing.js.map +1 -0
  136. package/dist/avm1/globals/filters.d.ts +30 -0
  137. package/dist/avm1/globals/filters.d.ts.map +1 -0
  138. package/dist/avm1/globals/filters.js +636 -0
  139. package/dist/avm1/globals/filters.js.map +1 -0
  140. package/dist/avm1/globals/geom.d.ts +28 -0
  141. package/dist/avm1/globals/geom.d.ts.map +1 -0
  142. package/dist/avm1/globals/geom.js +601 -0
  143. package/dist/avm1/globals/geom.js.map +1 -0
  144. package/dist/avm1/input.d.ts +106 -0
  145. package/dist/avm1/input.d.ts.map +1 -0
  146. package/dist/avm1/input.js +484 -0
  147. package/dist/avm1/input.js.map +1 -0
  148. package/dist/avm1/keyboard.d.ts +17 -0
  149. package/dist/avm1/keyboard.d.ts.map +1 -0
  150. package/dist/avm1/keyboard.js +114 -0
  151. package/dist/avm1/keyboard.js.map +1 -0
  152. package/dist/avm1/loads.d.ts +67 -0
  153. package/dist/avm1/loads.d.ts.map +1 -0
  154. package/dist/avm1/loads.js +353 -0
  155. package/dist/avm1/loads.js.map +1 -0
  156. package/dist/avm1/net.d.ts +83 -0
  157. package/dist/avm1/net.d.ts.map +1 -0
  158. package/dist/avm1/net.js +220 -0
  159. package/dist/avm1/net.js.map +1 -0
  160. package/dist/avm1/paths.d.ts +30 -0
  161. package/dist/avm1/paths.d.ts.map +1 -0
  162. package/dist/avm1/paths.js +105 -0
  163. package/dist/avm1/paths.js.map +1 -0
  164. package/dist/avm1/pointer.d.ts +113 -0
  165. package/dist/avm1/pointer.d.ts.map +1 -0
  166. package/dist/avm1/pointer.js +513 -0
  167. package/dist/avm1/pointer.js.map +1 -0
  168. package/dist/avm1/queue.d.ts +106 -0
  169. package/dist/avm1/queue.d.ts.map +1 -0
  170. package/dist/avm1/queue.js +304 -0
  171. package/dist/avm1/queue.js.map +1 -0
  172. package/dist/avm1/sound.d.ts +36 -0
  173. package/dist/avm1/sound.d.ts.map +1 -0
  174. package/dist/avm1/sound.js +107 -0
  175. package/dist/avm1/sound.js.map +1 -0
  176. package/dist/avm1/swf.d.ts +90 -0
  177. package/dist/avm1/swf.d.ts.map +1 -0
  178. package/dist/avm1/swf.js +142 -0
  179. package/dist/avm1/swf.js.map +1 -0
  180. package/dist/avm1/timers.d.ts +49 -0
  181. package/dist/avm1/timers.d.ts.map +1 -0
  182. package/dist/avm1/timers.js +114 -0
  183. package/dist/avm1/timers.js.map +1 -0
  184. package/dist/bitmap/bitmap.d.ts +231 -0
  185. package/dist/bitmap/bitmap.d.ts.map +1 -0
  186. package/dist/bitmap/bitmap.js +628 -0
  187. package/dist/bitmap/bitmap.js.map +1 -0
  188. package/dist/bitmap/draw.d.ts +11 -0
  189. package/dist/bitmap/draw.d.ts.map +1 -0
  190. package/dist/bitmap/draw.js +69 -0
  191. package/dist/bitmap/draw.js.map +1 -0
  192. package/dist/bitmap/dxt.d.ts +5 -0
  193. package/dist/bitmap/dxt.d.ts.map +1 -0
  194. package/dist/bitmap/dxt.js +12 -0
  195. package/dist/bitmap/dxt.js.map +1 -0
  196. package/dist/bitmap/filters.d.ts +82 -0
  197. package/dist/bitmap/filters.d.ts.map +1 -0
  198. package/dist/bitmap/filters.js +657 -0
  199. package/dist/bitmap/filters.js.map +1 -0
  200. package/dist/bitmap/images.d.ts +30 -0
  201. package/dist/bitmap/images.d.ts.map +1 -0
  202. package/dist/bitmap/images.js +241 -0
  203. package/dist/bitmap/images.js.map +1 -0
  204. package/dist/bitmap/kernel.d.ts +12 -0
  205. package/dist/bitmap/kernel.d.ts.map +1 -0
  206. package/dist/bitmap/kernel.js +66 -0
  207. package/dist/bitmap/kernel.js.map +1 -0
  208. package/dist/bitmap/ops.d.ts +144 -0
  209. package/dist/bitmap/ops.d.ts.map +1 -0
  210. package/dist/bitmap/ops.js +1240 -0
  211. package/dist/bitmap/ops.js.map +1 -0
  212. package/dist/bitmap/pixel-bender.d.ts +89 -0
  213. package/dist/bitmap/pixel-bender.d.ts.map +1 -0
  214. package/dist/bitmap/pixel-bender.js +912 -0
  215. package/dist/bitmap/pixel-bender.js.map +1 -0
  216. package/dist/bitmap/png.d.ts +4 -0
  217. package/dist/bitmap/png.d.ts.map +1 -0
  218. package/dist/bitmap/png.js +140 -0
  219. package/dist/bitmap/png.js.map +1 -0
  220. package/dist/bitmap/turbulence.d.ts +17 -0
  221. package/dist/bitmap/turbulence.d.ts.map +1 -0
  222. package/dist/bitmap/turbulence.js +90 -0
  223. package/dist/bitmap/turbulence.js.map +1 -0
  224. package/dist/clock.d.ts +60 -0
  225. package/dist/clock.d.ts.map +1 -0
  226. package/dist/clock.js +183 -0
  227. package/dist/clock.js.map +1 -0
  228. package/dist/display/bitmapobject.d.ts +18 -0
  229. package/dist/display/bitmapobject.d.ts.map +1 -0
  230. package/dist/display/bitmapobject.js +26 -0
  231. package/dist/display/bitmapobject.js.map +1 -0
  232. package/dist/display/bounds.d.ts +59 -0
  233. package/dist/display/bounds.d.ts.map +1 -0
  234. package/dist/display/bounds.js +521 -0
  235. package/dist/display/bounds.js.map +1 -0
  236. package/dist/display/buttonobject.d.ts +76 -0
  237. package/dist/display/buttonobject.d.ts.map +1 -0
  238. package/dist/display/buttonobject.js +306 -0
  239. package/dist/display/buttonobject.js.map +1 -0
  240. package/dist/display/color.d.ts +9 -0
  241. package/dist/display/color.d.ts.map +1 -0
  242. package/dist/display/color.js +41 -0
  243. package/dist/display/color.js.map +1 -0
  244. package/dist/display/container.d.ts +49 -0
  245. package/dist/display/container.d.ts.map +1 -0
  246. package/dist/display/container.js +151 -0
  247. package/dist/display/container.js.map +1 -0
  248. package/dist/display/display.d.ts +11 -0
  249. package/dist/display/display.d.ts.map +1 -0
  250. package/dist/display/display.js +15 -0
  251. package/dist/display/display.js.map +1 -0
  252. package/dist/display/displayobject.d.ts +363 -0
  253. package/dist/display/displayobject.d.ts.map +1 -0
  254. package/dist/display/displayobject.js +665 -0
  255. package/dist/display/displayobject.js.map +1 -0
  256. package/dist/display/drawing.d.ts +111 -0
  257. package/dist/display/drawing.d.ts.map +1 -0
  258. package/dist/display/drawing.js +614 -0
  259. package/dist/display/drawing.js.map +1 -0
  260. package/dist/display/filters.d.ts +99 -0
  261. package/dist/display/filters.d.ts.map +1 -0
  262. package/dist/display/filters.js +286 -0
  263. package/dist/display/filters.js.map +1 -0
  264. package/dist/display/geometry.d.ts +37 -0
  265. package/dist/display/geometry.d.ts.map +1 -0
  266. package/dist/display/geometry.js +190 -0
  267. package/dist/display/geometry.js.map +1 -0
  268. package/dist/display/gradients.d.ts +29 -0
  269. package/dist/display/gradients.d.ts.map +1 -0
  270. package/dist/display/gradients.js +118 -0
  271. package/dist/display/gradients.js.map +1 -0
  272. package/dist/display/graphicsdata.d.ts +41 -0
  273. package/dist/display/graphicsdata.d.ts.map +1 -0
  274. package/dist/display/graphicsdata.js +593 -0
  275. package/dist/display/graphicsdata.js.map +1 -0
  276. package/dist/display/instantiate.d.ts +15 -0
  277. package/dist/display/instantiate.d.ts.map +1 -0
  278. package/dist/display/instantiate.js +72 -0
  279. package/dist/display/instantiate.js.map +1 -0
  280. package/dist/display/matrix3d.d.ts +68 -0
  281. package/dist/display/matrix3d.d.ts.map +1 -0
  282. package/dist/display/matrix3d.js +374 -0
  283. package/dist/display/matrix3d.js.map +1 -0
  284. package/dist/display/morph.d.ts +17 -0
  285. package/dist/display/morph.d.ts.map +1 -0
  286. package/dist/display/morph.js +227 -0
  287. package/dist/display/morph.js.map +1 -0
  288. package/dist/display/movieclip.d.ts +115 -0
  289. package/dist/display/movieclip.d.ts.map +1 -0
  290. package/dist/display/movieclip.js +681 -0
  291. package/dist/display/movieclip.js.map +1 -0
  292. package/dist/display/perspective.d.ts +35 -0
  293. package/dist/display/perspective.d.ts.map +1 -0
  294. package/dist/display/perspective.js +194 -0
  295. package/dist/display/perspective.js.map +1 -0
  296. package/dist/display/plane.d.ts +52 -0
  297. package/dist/display/plane.d.ts.map +1 -0
  298. package/dist/display/plane.js +142 -0
  299. package/dist/display/plane.js.map +1 -0
  300. package/dist/display/scale9.d.ts +78 -0
  301. package/dist/display/scale9.d.ts.map +1 -0
  302. package/dist/display/scale9.js +237 -0
  303. package/dist/display/scale9.js.map +1 -0
  304. package/dist/display/shapeobject.d.ts +53 -0
  305. package/dist/display/shapeobject.d.ts.map +1 -0
  306. package/dist/display/shapeobject.js +132 -0
  307. package/dist/display/shapeobject.js.map +1 -0
  308. package/dist/display/shapes.d.ts +146 -0
  309. package/dist/display/shapes.d.ts.map +1 -0
  310. package/dist/display/shapes.js +408 -0
  311. package/dist/display/shapes.js.map +1 -0
  312. package/dist/display/stretch.d.ts +42 -0
  313. package/dist/display/stretch.d.ts.map +1 -0
  314. package/dist/display/stretch.js +192 -0
  315. package/dist/display/stretch.js.map +1 -0
  316. package/dist/display/textobjects.d.ts +98 -0
  317. package/dist/display/textobjects.d.ts.map +1 -0
  318. package/dist/display/textobjects.js +223 -0
  319. package/dist/display/textobjects.js.map +1 -0
  320. package/dist/display/timeline.d.ts +252 -0
  321. package/dist/display/timeline.d.ts.map +1 -0
  322. package/dist/display/timeline.js +472 -0
  323. package/dist/display/timeline.js.map +1 -0
  324. package/dist/display/value-lists.d.ts +10 -0
  325. package/dist/display/value-lists.d.ts.map +1 -0
  326. package/dist/display/value-lists.js +41 -0
  327. package/dist/display/value-lists.js.map +1 -0
  328. package/dist/display/videoobject.d.ts +7 -0
  329. package/dist/display/videoobject.d.ts.map +1 -0
  330. package/dist/display/videoobject.js +7 -0
  331. package/dist/display/videoobject.js.map +1 -0
  332. package/dist/display/walk.d.ts +45 -0
  333. package/dist/display/walk.d.ts.map +1 -0
  334. package/dist/display/walk.js +128 -0
  335. package/dist/display/walk.js.map +1 -0
  336. package/dist/files.d.ts +77 -0
  337. package/dist/files.d.ts.map +1 -0
  338. package/dist/files.js +335 -0
  339. package/dist/files.js.map +1 -0
  340. package/dist/hosts.d.ts +406 -0
  341. package/dist/hosts.d.ts.map +1 -0
  342. package/dist/hosts.js +208 -0
  343. package/dist/hosts.js.map +1 -0
  344. package/dist/index.d.ts +24 -0
  345. package/dist/index.d.ts.map +1 -0
  346. package/dist/index.js +19 -0
  347. package/dist/index.js.map +1 -0
  348. package/dist/input/activation.d.ts +12 -0
  349. package/dist/input/activation.d.ts.map +1 -0
  350. package/dist/input/activation.js +57 -0
  351. package/dist/input/activation.js.map +1 -0
  352. package/dist/input/avm1.d.ts +22 -0
  353. package/dist/input/avm1.d.ts.map +1 -0
  354. package/dist/input/avm1.js +83 -0
  355. package/dist/input/avm1.js.map +1 -0
  356. package/dist/input/canvas.d.ts +19 -0
  357. package/dist/input/canvas.d.ts.map +1 -0
  358. package/dist/input/canvas.js +64 -0
  359. package/dist/input/canvas.js.map +1 -0
  360. package/dist/input/context-menu.d.ts +16 -0
  361. package/dist/input/context-menu.d.ts.map +1 -0
  362. package/dist/input/context-menu.js +64 -0
  363. package/dist/input/context-menu.js.map +1 -0
  364. package/dist/input/keyboard.d.ts +138 -0
  365. package/dist/input/keyboard.d.ts.map +1 -0
  366. package/dist/input/keyboard.js +459 -0
  367. package/dist/input/keyboard.js.map +1 -0
  368. package/dist/input/pointer.d.ts +186 -0
  369. package/dist/input/pointer.d.ts.map +1 -0
  370. package/dist/input/pointer.js +864 -0
  371. package/dist/input/pointer.js.map +1 -0
  372. package/dist/input/text-editor.d.ts +47 -0
  373. package/dist/input/text-editor.d.ts.map +1 -0
  374. package/dist/input/text-editor.js +320 -0
  375. package/dist/input/text-editor.js.map +1 -0
  376. package/dist/input/touch.d.ts +41 -0
  377. package/dist/input/touch.d.ts.map +1 -0
  378. package/dist/input/touch.js +210 -0
  379. package/dist/input/touch.js.map +1 -0
  380. package/dist/localconnection.d.ts +34 -0
  381. package/dist/localconnection.d.ts.map +1 -0
  382. package/dist/localconnection.js +91 -0
  383. package/dist/localconnection.js.map +1 -0
  384. package/dist/media/audio.d.ts +67 -0
  385. package/dist/media/audio.d.ts.map +1 -0
  386. package/dist/media/audio.js +377 -0
  387. package/dist/media/audio.js.map +1 -0
  388. package/dist/media/dynamic-sound.d.ts +10 -0
  389. package/dist/media/dynamic-sound.d.ts.map +1 -0
  390. package/dist/media/dynamic-sound.js +91 -0
  391. package/dist/media/dynamic-sound.js.map +1 -0
  392. package/dist/media/extract.d.ts +41 -0
  393. package/dist/media/extract.d.ts.map +1 -0
  394. package/dist/media/extract.js +136 -0
  395. package/dist/media/extract.js.map +1 -0
  396. package/dist/media/mp3.d.ts +19 -0
  397. package/dist/media/mp3.d.ts.map +1 -0
  398. package/dist/media/mp3.js +153 -0
  399. package/dist/media/mp3.js.map +1 -0
  400. package/dist/media/sounds.d.ts +157 -0
  401. package/dist/media/sounds.d.ts.map +1 -0
  402. package/dist/media/sounds.js +508 -0
  403. package/dist/media/sounds.js.map +1 -0
  404. package/dist/media/streaming-audio.d.ts +3 -0
  405. package/dist/media/streaming-audio.d.ts.map +1 -0
  406. package/dist/media/streaming-audio.js +134 -0
  407. package/dist/media/streaming-audio.js.map +1 -0
  408. package/dist/player.d.ts +169 -0
  409. package/dist/player.d.ts.map +1 -0
  410. package/dist/player.js +617 -0
  411. package/dist/player.js.map +1 -0
  412. package/dist/playerglobal/air/net/WebSocket.d.ts +4 -0
  413. package/dist/playerglobal/air/net/WebSocket.d.ts.map +1 -0
  414. package/dist/playerglobal/air/net/WebSocket.js +251 -0
  415. package/dist/playerglobal/air/net/WebSocket.js.map +1 -0
  416. package/dist/playerglobal/air-library.d.ts +6 -0
  417. package/dist/playerglobal/air-library.d.ts.map +1 -0
  418. package/dist/playerglobal/air-library.js +9 -0
  419. package/dist/playerglobal/air-library.js.map +1 -0
  420. package/dist/playerglobal/context3d/context.d.ts +5 -0
  421. package/dist/playerglobal/context3d/context.d.ts.map +1 -0
  422. package/dist/playerglobal/context3d/context.js +472 -0
  423. package/dist/playerglobal/context3d/context.js.map +1 -0
  424. package/dist/playerglobal/context3d/errors.d.ts +11 -0
  425. package/dist/playerglobal/context3d/errors.d.ts.map +1 -0
  426. package/dist/playerglobal/context3d/errors.js +101 -0
  427. package/dist/playerglobal/context3d/errors.js.map +1 -0
  428. package/dist/playerglobal/context3d/lifecycle.d.ts +61 -0
  429. package/dist/playerglobal/context3d/lifecycle.d.ts.map +1 -0
  430. package/dist/playerglobal/context3d/lifecycle.js +342 -0
  431. package/dist/playerglobal/context3d/lifecycle.js.map +1 -0
  432. package/dist/playerglobal/context3d/readback.d.ts +21 -0
  433. package/dist/playerglobal/context3d/readback.d.ts.map +1 -0
  434. package/dist/playerglobal/context3d/readback.js +56 -0
  435. package/dist/playerglobal/context3d/readback.js.map +1 -0
  436. package/dist/playerglobal/context3d/resources.d.ts +5 -0
  437. package/dist/playerglobal/context3d/resources.d.ts.map +1 -0
  438. package/dist/playerglobal/context3d/resources.js +298 -0
  439. package/dist/playerglobal/context3d/resources.js.map +1 -0
  440. package/dist/playerglobal/context3d.d.ts +6 -0
  441. package/dist/playerglobal/context3d.d.ts.map +1 -0
  442. package/dist/playerglobal/context3d.js +96 -0
  443. package/dist/playerglobal/context3d.js.map +1 -0
  444. package/dist/playerglobal/flash/accessibility/Accessibility.d.ts +4 -0
  445. package/dist/playerglobal/flash/accessibility/Accessibility.d.ts.map +1 -0
  446. package/dist/playerglobal/flash/accessibility/Accessibility.js +22 -0
  447. package/dist/playerglobal/flash/accessibility/Accessibility.js.map +1 -0
  448. package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts +3 -0
  449. package/dist/playerglobal/flash/crypto/generateRandomBytes.d.ts.map +1 -0
  450. package/dist/playerglobal/flash/crypto/generateRandomBytes.js +33 -0
  451. package/dist/playerglobal/flash/crypto/generateRandomBytes.js.map +1 -0
  452. package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts +4 -0
  453. package/dist/playerglobal/flash/data/EncryptedLocalStore.d.ts.map +1 -0
  454. package/dist/playerglobal/flash/data/EncryptedLocalStore.js +62 -0
  455. package/dist/playerglobal/flash/data/EncryptedLocalStore.js.map +1 -0
  456. package/dist/playerglobal/flash/desktop/Clipboard.d.ts +9 -0
  457. package/dist/playerglobal/flash/desktop/Clipboard.d.ts.map +1 -0
  458. package/dist/playerglobal/flash/desktop/Clipboard.js +174 -0
  459. package/dist/playerglobal/flash/desktop/Clipboard.js.map +1 -0
  460. package/dist/playerglobal/flash/desktop/NativeApplication.d.ts +6 -0
  461. package/dist/playerglobal/flash/desktop/NativeApplication.d.ts.map +1 -0
  462. package/dist/playerglobal/flash/desktop/NativeApplication.js +180 -0
  463. package/dist/playerglobal/flash/desktop/NativeApplication.js.map +1 -0
  464. package/dist/playerglobal/flash/display/AVM1Movie.d.ts +3 -0
  465. package/dist/playerglobal/flash/display/AVM1Movie.d.ts.map +1 -0
  466. package/dist/playerglobal/flash/display/AVM1Movie.js +20 -0
  467. package/dist/playerglobal/flash/display/AVM1Movie.js.map +1 -0
  468. package/dist/playerglobal/flash/display/Bitmap.d.ts +4 -0
  469. package/dist/playerglobal/flash/display/Bitmap.d.ts.map +1 -0
  470. package/dist/playerglobal/flash/display/Bitmap.js +59 -0
  471. package/dist/playerglobal/flash/display/Bitmap.js.map +1 -0
  472. package/dist/playerglobal/flash/display/BitmapData.d.ts +10 -0
  473. package/dist/playerglobal/flash/display/BitmapData.d.ts.map +1 -0
  474. package/dist/playerglobal/flash/display/BitmapData.js +634 -0
  475. package/dist/playerglobal/flash/display/BitmapData.js.map +1 -0
  476. package/dist/playerglobal/flash/display/DisplayObject.d.ts +8 -0
  477. package/dist/playerglobal/flash/display/DisplayObject.d.ts.map +1 -0
  478. package/dist/playerglobal/flash/display/DisplayObject.js +615 -0
  479. package/dist/playerglobal/flash/display/DisplayObject.js.map +1 -0
  480. package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts +4 -0
  481. package/dist/playerglobal/flash/display/DisplayObjectContainer.d.ts.map +1 -0
  482. package/dist/playerglobal/flash/display/DisplayObjectContainer.js +225 -0
  483. package/dist/playerglobal/flash/display/DisplayObjectContainer.js.map +1 -0
  484. package/dist/playerglobal/flash/display/Graphics.d.ts +8 -0
  485. package/dist/playerglobal/flash/display/Graphics.d.ts.map +1 -0
  486. package/dist/playerglobal/flash/display/Graphics.js +346 -0
  487. package/dist/playerglobal/flash/display/Graphics.js.map +1 -0
  488. package/dist/playerglobal/flash/display/InteractiveObject.d.ts +12 -0
  489. package/dist/playerglobal/flash/display/InteractiveObject.d.ts.map +1 -0
  490. package/dist/playerglobal/flash/display/InteractiveObject.js +88 -0
  491. package/dist/playerglobal/flash/display/InteractiveObject.js.map +1 -0
  492. package/dist/playerglobal/flash/display/Loader.d.ts +4 -0
  493. package/dist/playerglobal/flash/display/Loader.d.ts.map +1 -0
  494. package/dist/playerglobal/flash/display/Loader.js +80 -0
  495. package/dist/playerglobal/flash/display/Loader.js.map +1 -0
  496. package/dist/playerglobal/flash/display/LoaderInfo.d.ts +8 -0
  497. package/dist/playerglobal/flash/display/LoaderInfo.d.ts.map +1 -0
  498. package/dist/playerglobal/flash/display/LoaderInfo.js +129 -0
  499. package/dist/playerglobal/flash/display/LoaderInfo.js.map +1 -0
  500. package/dist/playerglobal/flash/display/MovieClip.d.ts +4 -0
  501. package/dist/playerglobal/flash/display/MovieClip.d.ts.map +1 -0
  502. package/dist/playerglobal/flash/display/MovieClip.js +195 -0
  503. package/dist/playerglobal/flash/display/MovieClip.js.map +1 -0
  504. package/dist/playerglobal/flash/display/NativeWindow.d.ts +8 -0
  505. package/dist/playerglobal/flash/display/NativeWindow.d.ts.map +1 -0
  506. package/dist/playerglobal/flash/display/NativeWindow.js +246 -0
  507. package/dist/playerglobal/flash/display/NativeWindow.js.map +1 -0
  508. package/dist/playerglobal/flash/display/Shader.d.ts +4 -0
  509. package/dist/playerglobal/flash/display/Shader.d.ts.map +1 -0
  510. package/dist/playerglobal/flash/display/Shader.js +27 -0
  511. package/dist/playerglobal/flash/display/Shader.js.map +1 -0
  512. package/dist/playerglobal/flash/display/ShaderData.d.ts +7 -0
  513. package/dist/playerglobal/flash/display/ShaderData.d.ts.map +1 -0
  514. package/dist/playerglobal/flash/display/ShaderData.js +86 -0
  515. package/dist/playerglobal/flash/display/ShaderData.js.map +1 -0
  516. package/dist/playerglobal/flash/display/ShaderInput.d.ts +20 -0
  517. package/dist/playerglobal/flash/display/ShaderInput.d.ts.map +1 -0
  518. package/dist/playerglobal/flash/display/ShaderInput.js +65 -0
  519. package/dist/playerglobal/flash/display/ShaderInput.js.map +1 -0
  520. package/dist/playerglobal/flash/display/ShaderJob.d.ts +4 -0
  521. package/dist/playerglobal/flash/display/ShaderJob.d.ts.map +1 -0
  522. package/dist/playerglobal/flash/display/ShaderJob.js +182 -0
  523. package/dist/playerglobal/flash/display/ShaderJob.js.map +1 -0
  524. package/dist/playerglobal/flash/display/ShaderParameter.d.ts +4 -0
  525. package/dist/playerglobal/flash/display/ShaderParameter.d.ts.map +1 -0
  526. package/dist/playerglobal/flash/display/ShaderParameter.js +24 -0
  527. package/dist/playerglobal/flash/display/ShaderParameter.js.map +1 -0
  528. package/dist/playerglobal/flash/display/Shape.d.ts +4 -0
  529. package/dist/playerglobal/flash/display/Shape.d.ts.map +1 -0
  530. package/dist/playerglobal/flash/display/Shape.js +14 -0
  531. package/dist/playerglobal/flash/display/Shape.js.map +1 -0
  532. package/dist/playerglobal/flash/display/SimpleButton.d.ts +4 -0
  533. package/dist/playerglobal/flash/display/SimpleButton.d.ts.map +1 -0
  534. package/dist/playerglobal/flash/display/SimpleButton.js +104 -0
  535. package/dist/playerglobal/flash/display/SimpleButton.js.map +1 -0
  536. package/dist/playerglobal/flash/display/Sprite.d.ts +4 -0
  537. package/dist/playerglobal/flash/display/Sprite.d.ts.map +1 -0
  538. package/dist/playerglobal/flash/display/Sprite.js +85 -0
  539. package/dist/playerglobal/flash/display/Sprite.js.map +1 -0
  540. package/dist/playerglobal/flash/display/Stage.d.ts +4 -0
  541. package/dist/playerglobal/flash/display/Stage.d.ts.map +1 -0
  542. package/dist/playerglobal/flash/display/Stage.js +232 -0
  543. package/dist/playerglobal/flash/display/Stage.js.map +1 -0
  544. package/dist/playerglobal/flash/display/Stage3D.d.ts +4 -0
  545. package/dist/playerglobal/flash/display/Stage3D.d.ts.map +1 -0
  546. package/dist/playerglobal/flash/display/Stage3D.js +55 -0
  547. package/dist/playerglobal/flash/display/Stage3D.js.map +1 -0
  548. package/dist/playerglobal/flash/display/shaders.d.ts +45 -0
  549. package/dist/playerglobal/flash/display/shaders.d.ts.map +1 -0
  550. package/dist/playerglobal/flash/display/shaders.js +229 -0
  551. package/dist/playerglobal/flash/display/shaders.js.map +1 -0
  552. package/dist/playerglobal/flash/events/Event.d.ts +4 -0
  553. package/dist/playerglobal/flash/events/Event.d.ts.map +1 -0
  554. package/dist/playerglobal/flash/events/Event.js +59 -0
  555. package/dist/playerglobal/flash/events/Event.js.map +1 -0
  556. package/dist/playerglobal/flash/events/EventDispatcher.d.ts +11 -0
  557. package/dist/playerglobal/flash/events/EventDispatcher.d.ts.map +1 -0
  558. package/dist/playerglobal/flash/events/EventDispatcher.js +104 -0
  559. package/dist/playerglobal/flash/events/EventDispatcher.js.map +1 -0
  560. package/dist/playerglobal/flash/events/GestureEvent.d.ts +4 -0
  561. package/dist/playerglobal/flash/events/GestureEvent.d.ts.map +1 -0
  562. package/dist/playerglobal/flash/events/GestureEvent.js +35 -0
  563. package/dist/playerglobal/flash/events/GestureEvent.js.map +1 -0
  564. package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts +3 -0
  565. package/dist/playerglobal/flash/events/HTTPStatusEvent.d.ts.map +1 -0
  566. package/dist/playerglobal/flash/events/HTTPStatusEvent.js +9 -0
  567. package/dist/playerglobal/flash/events/HTTPStatusEvent.js.map +1 -0
  568. package/dist/playerglobal/flash/events/KeyboardEvent.d.ts +4 -0
  569. package/dist/playerglobal/flash/events/KeyboardEvent.d.ts.map +1 -0
  570. package/dist/playerglobal/flash/events/KeyboardEvent.js +52 -0
  571. package/dist/playerglobal/flash/events/KeyboardEvent.js.map +1 -0
  572. package/dist/playerglobal/flash/events/MouseEvent.d.ts +11 -0
  573. package/dist/playerglobal/flash/events/MouseEvent.d.ts.map +1 -0
  574. package/dist/playerglobal/flash/events/MouseEvent.js +60 -0
  575. package/dist/playerglobal/flash/events/MouseEvent.js.map +1 -0
  576. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts +4 -0
  577. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.d.ts.map +1 -0
  578. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js +31 -0
  579. package/dist/playerglobal/flash/events/PressAndTapGestureEvent.js.map +1 -0
  580. package/dist/playerglobal/flash/events/TimerEvent.d.ts +4 -0
  581. package/dist/playerglobal/flash/events/TimerEvent.d.ts.map +1 -0
  582. package/dist/playerglobal/flash/events/TimerEvent.js +17 -0
  583. package/dist/playerglobal/flash/events/TimerEvent.js.map +1 -0
  584. package/dist/playerglobal/flash/events/TouchEvent.d.ts +4 -0
  585. package/dist/playerglobal/flash/events/TouchEvent.d.ts.map +1 -0
  586. package/dist/playerglobal/flash/events/TouchEvent.js +46 -0
  587. package/dist/playerglobal/flash/events/TouchEvent.js.map +1 -0
  588. package/dist/playerglobal/flash/external/ExternalInterface.d.ts +4 -0
  589. package/dist/playerglobal/flash/external/ExternalInterface.d.ts.map +1 -0
  590. package/dist/playerglobal/flash/external/ExternalInterface.js +74 -0
  591. package/dist/playerglobal/flash/external/ExternalInterface.js.map +1 -0
  592. package/dist/playerglobal/flash/filesystem/File.d.ts +22 -0
  593. package/dist/playerglobal/flash/filesystem/File.d.ts.map +1 -0
  594. package/dist/playerglobal/flash/filesystem/File.js +341 -0
  595. package/dist/playerglobal/flash/filesystem/File.js.map +1 -0
  596. package/dist/playerglobal/flash/filesystem/FileStream.d.ts +4 -0
  597. package/dist/playerglobal/flash/filesystem/FileStream.d.ts.map +1 -0
  598. package/dist/playerglobal/flash/filesystem/FileStream.js +454 -0
  599. package/dist/playerglobal/flash/filesystem/FileStream.js.map +1 -0
  600. package/dist/playerglobal/flash/filesystem/paths.d.ts +43 -0
  601. package/dist/playerglobal/flash/filesystem/paths.d.ts.map +1 -0
  602. package/dist/playerglobal/flash/filesystem/paths.js +157 -0
  603. package/dist/playerglobal/flash/filesystem/paths.js.map +1 -0
  604. package/dist/playerglobal/flash/filesystem/writes.d.ts +36 -0
  605. package/dist/playerglobal/flash/filesystem/writes.d.ts.map +1 -0
  606. package/dist/playerglobal/flash/filesystem/writes.js +144 -0
  607. package/dist/playerglobal/flash/filesystem/writes.js.map +1 -0
  608. package/dist/playerglobal/flash/filters/BevelFilter.d.ts +4 -0
  609. package/dist/playerglobal/flash/filters/BevelFilter.d.ts.map +1 -0
  610. package/dist/playerglobal/flash/filters/BevelFilter.js +5 -0
  611. package/dist/playerglobal/flash/filters/BevelFilter.js.map +1 -0
  612. package/dist/playerglobal/flash/filters/BitmapFilter.d.ts +33 -0
  613. package/dist/playerglobal/flash/filters/BitmapFilter.d.ts.map +1 -0
  614. package/dist/playerglobal/flash/filters/BitmapFilter.js +206 -0
  615. package/dist/playerglobal/flash/filters/BitmapFilter.js.map +1 -0
  616. package/dist/playerglobal/flash/filters/BlurFilter.d.ts +4 -0
  617. package/dist/playerglobal/flash/filters/BlurFilter.d.ts.map +1 -0
  618. package/dist/playerglobal/flash/filters/BlurFilter.js +5 -0
  619. package/dist/playerglobal/flash/filters/BlurFilter.js.map +1 -0
  620. package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts +4 -0
  621. package/dist/playerglobal/flash/filters/ColorMatrixFilter.d.ts.map +1 -0
  622. package/dist/playerglobal/flash/filters/ColorMatrixFilter.js +12 -0
  623. package/dist/playerglobal/flash/filters/ColorMatrixFilter.js.map +1 -0
  624. package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts +4 -0
  625. package/dist/playerglobal/flash/filters/ConvolutionFilter.d.ts.map +1 -0
  626. package/dist/playerglobal/flash/filters/ConvolutionFilter.js +27 -0
  627. package/dist/playerglobal/flash/filters/ConvolutionFilter.js.map +1 -0
  628. package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts +12 -0
  629. package/dist/playerglobal/flash/filters/DisplacementMapFilter.d.ts.map +1 -0
  630. package/dist/playerglobal/flash/filters/DisplacementMapFilter.js +52 -0
  631. package/dist/playerglobal/flash/filters/DisplacementMapFilter.js.map +1 -0
  632. package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts +4 -0
  633. package/dist/playerglobal/flash/filters/DropShadowFilter.d.ts.map +1 -0
  634. package/dist/playerglobal/flash/filters/DropShadowFilter.js +5 -0
  635. package/dist/playerglobal/flash/filters/DropShadowFilter.js.map +1 -0
  636. package/dist/playerglobal/flash/filters/GlowFilter.d.ts +4 -0
  637. package/dist/playerglobal/flash/filters/GlowFilter.d.ts.map +1 -0
  638. package/dist/playerglobal/flash/filters/GlowFilter.js +5 -0
  639. package/dist/playerglobal/flash/filters/GlowFilter.js.map +1 -0
  640. package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts +4 -0
  641. package/dist/playerglobal/flash/filters/GradientBevelFilter.d.ts.map +1 -0
  642. package/dist/playerglobal/flash/filters/GradientBevelFilter.js +5 -0
  643. package/dist/playerglobal/flash/filters/GradientBevelFilter.js.map +1 -0
  644. package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts +4 -0
  645. package/dist/playerglobal/flash/filters/GradientGlowFilter.d.ts.map +1 -0
  646. package/dist/playerglobal/flash/filters/GradientGlowFilter.js +5 -0
  647. package/dist/playerglobal/flash/filters/GradientGlowFilter.js.map +1 -0
  648. package/dist/playerglobal/flash/filters/ShaderFilter.d.ts +4 -0
  649. package/dist/playerglobal/flash/filters/ShaderFilter.d.ts.map +1 -0
  650. package/dist/playerglobal/flash/filters/ShaderFilter.js +54 -0
  651. package/dist/playerglobal/flash/filters/ShaderFilter.js.map +1 -0
  652. package/dist/playerglobal/flash/geom/Matrix3D.d.ts +4 -0
  653. package/dist/playerglobal/flash/geom/Matrix3D.d.ts.map +1 -0
  654. package/dist/playerglobal/flash/geom/Matrix3D.js +362 -0
  655. package/dist/playerglobal/flash/geom/Matrix3D.js.map +1 -0
  656. package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts +13 -0
  657. package/dist/playerglobal/flash/geom/PerspectiveProjection.d.ts.map +1 -0
  658. package/dist/playerglobal/flash/geom/PerspectiveProjection.js +123 -0
  659. package/dist/playerglobal/flash/geom/PerspectiveProjection.js.map +1 -0
  660. package/dist/playerglobal/flash/geom/Transform.d.ts +13 -0
  661. package/dist/playerglobal/flash/geom/Transform.d.ts.map +1 -0
  662. package/dist/playerglobal/flash/geom/Transform.js +246 -0
  663. package/dist/playerglobal/flash/geom/Transform.js.map +1 -0
  664. package/dist/playerglobal/flash/geom/Utils3D.d.ts +4 -0
  665. package/dist/playerglobal/flash/geom/Utils3D.d.ts.map +1 -0
  666. package/dist/playerglobal/flash/geom/Utils3D.js +86 -0
  667. package/dist/playerglobal/flash/geom/Utils3D.js.map +1 -0
  668. package/dist/playerglobal/flash/globalization/Collator.d.ts +4 -0
  669. package/dist/playerglobal/flash/globalization/Collator.d.ts.map +1 -0
  670. package/dist/playerglobal/flash/globalization/Collator.js +150 -0
  671. package/dist/playerglobal/flash/globalization/Collator.js.map +1 -0
  672. package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts +4 -0
  673. package/dist/playerglobal/flash/globalization/CurrencyFormatter.d.ts.map +1 -0
  674. package/dist/playerglobal/flash/globalization/CurrencyFormatter.js +273 -0
  675. package/dist/playerglobal/flash/globalization/CurrencyFormatter.js.map +1 -0
  676. package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts +4 -0
  677. package/dist/playerglobal/flash/globalization/CurrencyParseResult.d.ts.map +1 -0
  678. package/dist/playerglobal/flash/globalization/CurrencyParseResult.js +22 -0
  679. package/dist/playerglobal/flash/globalization/CurrencyParseResult.js.map +1 -0
  680. package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts +4 -0
  681. package/dist/playerglobal/flash/globalization/DateTimeFormatter.d.ts.map +1 -0
  682. package/dist/playerglobal/flash/globalization/DateTimeFormatter.js +464 -0
  683. package/dist/playerglobal/flash/globalization/DateTimeFormatter.js.map +1 -0
  684. package/dist/playerglobal/flash/globalization/LocaleID.d.ts +4 -0
  685. package/dist/playerglobal/flash/globalization/LocaleID.d.ts.map +1 -0
  686. package/dist/playerglobal/flash/globalization/LocaleID.js +145 -0
  687. package/dist/playerglobal/flash/globalization/LocaleID.js.map +1 -0
  688. package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts +67 -0
  689. package/dist/playerglobal/flash/globalization/NumberFormatter.d.ts.map +1 -0
  690. package/dist/playerglobal/flash/globalization/NumberFormatter.js +445 -0
  691. package/dist/playerglobal/flash/globalization/NumberFormatter.js.map +1 -0
  692. package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts +3 -0
  693. package/dist/playerglobal/flash/globalization/NumberParseResult.d.ts.map +1 -0
  694. package/dist/playerglobal/flash/globalization/NumberParseResult.js +23 -0
  695. package/dist/playerglobal/flash/globalization/NumberParseResult.js.map +1 -0
  696. package/dist/playerglobal/flash/globalization/StringTools.d.ts +4 -0
  697. package/dist/playerglobal/flash/globalization/StringTools.d.ts.map +1 -0
  698. package/dist/playerglobal/flash/globalization/StringTools.js +60 -0
  699. package/dist/playerglobal/flash/globalization/StringTools.js.map +1 -0
  700. package/dist/playerglobal/flash/globalization/locale.d.ts +62 -0
  701. package/dist/playerglobal/flash/globalization/locale.d.ts.map +1 -0
  702. package/dist/playerglobal/flash/globalization/locale.js +191 -0
  703. package/dist/playerglobal/flash/globalization/locale.js.map +1 -0
  704. package/dist/playerglobal/flash/media/Camera.d.ts +4 -0
  705. package/dist/playerglobal/flash/media/Camera.d.ts.map +1 -0
  706. package/dist/playerglobal/flash/media/Camera.js +90 -0
  707. package/dist/playerglobal/flash/media/Camera.js.map +1 -0
  708. package/dist/playerglobal/flash/media/Microphone.d.ts +4 -0
  709. package/dist/playerglobal/flash/media/Microphone.d.ts.map +1 -0
  710. package/dist/playerglobal/flash/media/Microphone.js +127 -0
  711. package/dist/playerglobal/flash/media/Microphone.js.map +1 -0
  712. package/dist/playerglobal/flash/media/Sound.d.ts +16 -0
  713. package/dist/playerglobal/flash/media/Sound.d.ts.map +1 -0
  714. package/dist/playerglobal/flash/media/Sound.js +544 -0
  715. package/dist/playerglobal/flash/media/Sound.js.map +1 -0
  716. package/dist/playerglobal/flash/media/SoundMixer.d.ts +4 -0
  717. package/dist/playerglobal/flash/media/SoundMixer.d.ts.map +1 -0
  718. package/dist/playerglobal/flash/media/SoundMixer.js +75 -0
  719. package/dist/playerglobal/flash/media/SoundMixer.js.map +1 -0
  720. package/dist/playerglobal/flash/media/SoundTransform.d.ts +4 -0
  721. package/dist/playerglobal/flash/media/SoundTransform.d.ts.map +1 -0
  722. package/dist/playerglobal/flash/media/SoundTransform.js +41 -0
  723. package/dist/playerglobal/flash/media/SoundTransform.js.map +1 -0
  724. package/dist/playerglobal/flash/media/Video.d.ts +4 -0
  725. package/dist/playerglobal/flash/media/Video.d.ts.map +1 -0
  726. package/dist/playerglobal/flash/media/Video.js +44 -0
  727. package/dist/playerglobal/flash/media/Video.js.map +1 -0
  728. package/dist/playerglobal/flash/net/FileFilter.d.ts +4 -0
  729. package/dist/playerglobal/flash/net/FileFilter.d.ts.map +1 -0
  730. package/dist/playerglobal/flash/net/FileFilter.js +28 -0
  731. package/dist/playerglobal/flash/net/FileFilter.js.map +1 -0
  732. package/dist/playerglobal/flash/net/FileReference.d.ts +4 -0
  733. package/dist/playerglobal/flash/net/FileReference.d.ts.map +1 -0
  734. package/dist/playerglobal/flash/net/FileReference.js +198 -0
  735. package/dist/playerglobal/flash/net/FileReference.js.map +1 -0
  736. package/dist/playerglobal/flash/net/LocalConnection.d.ts +5 -0
  737. package/dist/playerglobal/flash/net/LocalConnection.d.ts.map +1 -0
  738. package/dist/playerglobal/flash/net/LocalConnection.js +168 -0
  739. package/dist/playerglobal/flash/net/LocalConnection.js.map +1 -0
  740. package/dist/playerglobal/flash/net/NetConnection.d.ts +4 -0
  741. package/dist/playerglobal/flash/net/NetConnection.d.ts.map +1 -0
  742. package/dist/playerglobal/flash/net/NetConnection.js +156 -0
  743. package/dist/playerglobal/flash/net/NetConnection.js.map +1 -0
  744. package/dist/playerglobal/flash/net/SharedObject.d.ts +4 -0
  745. package/dist/playerglobal/flash/net/SharedObject.d.ts.map +1 -0
  746. package/dist/playerglobal/flash/net/SharedObject.js +300 -0
  747. package/dist/playerglobal/flash/net/SharedObject.js.map +1 -0
  748. package/dist/playerglobal/flash/net/Socket.d.ts +4 -0
  749. package/dist/playerglobal/flash/net/Socket.d.ts.map +1 -0
  750. package/dist/playerglobal/flash/net/Socket.js +283 -0
  751. package/dist/playerglobal/flash/net/Socket.js.map +1 -0
  752. package/dist/playerglobal/flash/net/URLRequest.d.ts +4 -0
  753. package/dist/playerglobal/flash/net/URLRequest.d.ts.map +1 -0
  754. package/dist/playerglobal/flash/net/URLRequest.js +94 -0
  755. package/dist/playerglobal/flash/net/URLRequest.js.map +1 -0
  756. package/dist/playerglobal/flash/net/URLStream.d.ts +4 -0
  757. package/dist/playerglobal/flash/net/URLStream.d.ts.map +1 -0
  758. package/dist/playerglobal/flash/net/URLStream.js +147 -0
  759. package/dist/playerglobal/flash/net/URLStream.js.map +1 -0
  760. package/dist/playerglobal/flash/net/XMLSocket.d.ts +4 -0
  761. package/dist/playerglobal/flash/net/XMLSocket.d.ts.map +1 -0
  762. package/dist/playerglobal/flash/net/XMLSocket.js +15 -0
  763. package/dist/playerglobal/flash/net/XMLSocket.js.map +1 -0
  764. package/dist/playerglobal/flash/net/local-modern.d.ts +4 -0
  765. package/dist/playerglobal/flash/net/local-modern.d.ts.map +1 -0
  766. package/dist/playerglobal/flash/net/local-modern.js +143 -0
  767. package/dist/playerglobal/flash/net/local-modern.js.map +1 -0
  768. package/dist/playerglobal/flash/net/local-values.d.ts +6 -0
  769. package/dist/playerglobal/flash/net/local-values.d.ts.map +1 -0
  770. package/dist/playerglobal/flash/net/local-values.js +218 -0
  771. package/dist/playerglobal/flash/net/local-values.js.map +1 -0
  772. package/dist/playerglobal/flash/net/navigateToURL.d.ts +4 -0
  773. package/dist/playerglobal/flash/net/navigateToURL.d.ts.map +1 -0
  774. package/dist/playerglobal/flash/net/navigateToURL.js +30 -0
  775. package/dist/playerglobal/flash/net/navigateToURL.js.map +1 -0
  776. package/dist/playerglobal/flash/profiler/Telemetry.d.ts +3 -0
  777. package/dist/playerglobal/flash/profiler/Telemetry.d.ts.map +1 -0
  778. package/dist/playerglobal/flash/profiler/Telemetry.js +26 -0
  779. package/dist/playerglobal/flash/profiler/Telemetry.js.map +1 -0
  780. package/dist/playerglobal/flash/sensors/Accelerometer.d.ts +3 -0
  781. package/dist/playerglobal/flash/sensors/Accelerometer.d.ts.map +1 -0
  782. package/dist/playerglobal/flash/sensors/Accelerometer.js +13 -0
  783. package/dist/playerglobal/flash/sensors/Accelerometer.js.map +1 -0
  784. package/dist/playerglobal/flash/system/ApplicationDomain.d.ts +4 -0
  785. package/dist/playerglobal/flash/system/ApplicationDomain.d.ts.map +1 -0
  786. package/dist/playerglobal/flash/system/ApplicationDomain.js +70 -0
  787. package/dist/playerglobal/flash/system/ApplicationDomain.js.map +1 -0
  788. package/dist/playerglobal/flash/system/Capabilities.d.ts +4 -0
  789. package/dist/playerglobal/flash/system/Capabilities.d.ts.map +1 -0
  790. package/dist/playerglobal/flash/system/Capabilities.js +164 -0
  791. package/dist/playerglobal/flash/system/Capabilities.js.map +1 -0
  792. package/dist/playerglobal/flash/system/FSCommandHost.d.ts +4 -0
  793. package/dist/playerglobal/flash/system/FSCommandHost.d.ts.map +1 -0
  794. package/dist/playerglobal/flash/system/FSCommandHost.js +18 -0
  795. package/dist/playerglobal/flash/system/FSCommandHost.js.map +1 -0
  796. package/dist/playerglobal/flash/system/Security.d.ts +4 -0
  797. package/dist/playerglobal/flash/system/Security.d.ts.map +1 -0
  798. package/dist/playerglobal/flash/system/Security.js +47 -0
  799. package/dist/playerglobal/flash/system/Security.js.map +1 -0
  800. package/dist/playerglobal/flash/system/SecurityDomain.d.ts +4 -0
  801. package/dist/playerglobal/flash/system/SecurityDomain.d.ts.map +1 -0
  802. package/dist/playerglobal/flash/system/SecurityDomain.js +22 -0
  803. package/dist/playerglobal/flash/system/SecurityDomain.js.map +1 -0
  804. package/dist/playerglobal/flash/system/System.d.ts +4 -0
  805. package/dist/playerglobal/flash/system/System.d.ts.map +1 -0
  806. package/dist/playerglobal/flash/system/System.js +74 -0
  807. package/dist/playerglobal/flash/system/System.js.map +1 -0
  808. package/dist/playerglobal/flash/system/Worker.d.ts +6 -0
  809. package/dist/playerglobal/flash/system/Worker.d.ts.map +1 -0
  810. package/dist/playerglobal/flash/system/Worker.js +113 -0
  811. package/dist/playerglobal/flash/system/Worker.js.map +1 -0
  812. package/dist/playerglobal/flash/text/Font.d.ts +8 -0
  813. package/dist/playerglobal/flash/text/Font.d.ts.map +1 -0
  814. package/dist/playerglobal/flash/text/Font.js +96 -0
  815. package/dist/playerglobal/flash/text/Font.js.map +1 -0
  816. package/dist/playerglobal/flash/text/StaticText.d.ts +3 -0
  817. package/dist/playerglobal/flash/text/StaticText.d.ts.map +1 -0
  818. package/dist/playerglobal/flash/text/StaticText.js +17 -0
  819. package/dist/playerglobal/flash/text/StaticText.js.map +1 -0
  820. package/dist/playerglobal/flash/text/StyleSheet.d.ts +9 -0
  821. package/dist/playerglobal/flash/text/StyleSheet.d.ts.map +1 -0
  822. package/dist/playerglobal/flash/text/StyleSheet.js +66 -0
  823. package/dist/playerglobal/flash/text/StyleSheet.js.map +1 -0
  824. package/dist/playerglobal/flash/text/TextField.d.ts +4 -0
  825. package/dist/playerglobal/flash/text/TextField.d.ts.map +1 -0
  826. package/dist/playerglobal/flash/text/TextField.js +708 -0
  827. package/dist/playerglobal/flash/text/TextField.js.map +1 -0
  828. package/dist/playerglobal/flash/text/TextRenderer.d.ts +4 -0
  829. package/dist/playerglobal/flash/text/TextRenderer.d.ts.map +1 -0
  830. package/dist/playerglobal/flash/text/TextRenderer.js +78 -0
  831. package/dist/playerglobal/flash/text/TextRenderer.js.map +1 -0
  832. package/dist/playerglobal/flash/text/engine/FontDescription.d.ts +4 -0
  833. package/dist/playerglobal/flash/text/engine/FontDescription.d.ts.map +1 -0
  834. package/dist/playerglobal/flash/text/engine/FontDescription.js +142 -0
  835. package/dist/playerglobal/flash/text/engine/FontDescription.js.map +1 -0
  836. package/dist/playerglobal/flash/text/engine/TabStop.d.ts +4 -0
  837. package/dist/playerglobal/flash/text/engine/TabStop.d.ts.map +1 -0
  838. package/dist/playerglobal/flash/text/engine/TabStop.js +47 -0
  839. package/dist/playerglobal/flash/text/engine/TabStop.js.map +1 -0
  840. package/dist/playerglobal/flash/trace/Trace.d.ts +3 -0
  841. package/dist/playerglobal/flash/trace/Trace.d.ts.map +1 -0
  842. package/dist/playerglobal/flash/trace/Trace.js +18 -0
  843. package/dist/playerglobal/flash/trace/Trace.js.map +1 -0
  844. package/dist/playerglobal/flash/ui/ContextMenu.d.ts +4 -0
  845. package/dist/playerglobal/flash/ui/ContextMenu.d.ts.map +1 -0
  846. package/dist/playerglobal/flash/ui/ContextMenu.js +18 -0
  847. package/dist/playerglobal/flash/ui/ContextMenu.js.map +1 -0
  848. package/dist/playerglobal/flash/ui/GameInput.d.ts +4 -0
  849. package/dist/playerglobal/flash/ui/GameInput.d.ts.map +1 -0
  850. package/dist/playerglobal/flash/ui/GameInput.js +20 -0
  851. package/dist/playerglobal/flash/ui/GameInput.js.map +1 -0
  852. package/dist/playerglobal/flash/ui/Keyboard.d.ts +3 -0
  853. package/dist/playerglobal/flash/ui/Keyboard.d.ts.map +1 -0
  854. package/dist/playerglobal/flash/ui/Keyboard.js +28 -0
  855. package/dist/playerglobal/flash/ui/Keyboard.js.map +1 -0
  856. package/dist/playerglobal/flash/ui/Mouse.d.ts +4 -0
  857. package/dist/playerglobal/flash/ui/Mouse.d.ts.map +1 -0
  858. package/dist/playerglobal/flash/ui/Mouse.js +128 -0
  859. package/dist/playerglobal/flash/ui/Mouse.js.map +1 -0
  860. package/dist/playerglobal/flash/ui/Multitouch.d.ts +4 -0
  861. package/dist/playerglobal/flash/ui/Multitouch.d.ts.map +1 -0
  862. package/dist/playerglobal/flash/ui/Multitouch.js +47 -0
  863. package/dist/playerglobal/flash/ui/Multitouch.js.map +1 -0
  864. package/dist/playerglobal/flash/utils/ByteArray.d.ts +5 -0
  865. package/dist/playerglobal/flash/utils/ByteArray.d.ts.map +1 -0
  866. package/dist/playerglobal/flash/utils/ByteArray.js +156 -0
  867. package/dist/playerglobal/flash/utils/ByteArray.js.map +1 -0
  868. package/dist/playerglobal/flash/utils/Timer.d.ts +4 -0
  869. package/dist/playerglobal/flash/utils/Timer.d.ts.map +1 -0
  870. package/dist/playerglobal/flash/utils/Timer.js +26 -0
  871. package/dist/playerglobal/flash/utils/Timer.js.map +1 -0
  872. package/dist/playerglobal/flash/xml/XMLDocument.d.ts +4 -0
  873. package/dist/playerglobal/flash/xml/XMLDocument.d.ts.map +1 -0
  874. package/dist/playerglobal/flash/xml/XMLDocument.js +75 -0
  875. package/dist/playerglobal/flash/xml/XMLDocument.js.map +1 -0
  876. package/dist/playerglobal/index.d.ts +6 -0
  877. package/dist/playerglobal/index.d.ts.map +1 -0
  878. package/dist/playerglobal/index.js +225 -0
  879. package/dist/playerglobal/index.js.map +1 -0
  880. package/dist/playerglobal/libraries.d.ts +5 -0
  881. package/dist/playerglobal/libraries.d.ts.map +1 -0
  882. package/dist/playerglobal/libraries.js +11 -0
  883. package/dist/playerglobal/libraries.js.map +1 -0
  884. package/dist/playerglobal/playerglobal-library.d.ts +3 -0
  885. package/dist/playerglobal/playerglobal-library.d.ts.map +1 -0
  886. package/dist/playerglobal/playerglobal-library.js +23 -0
  887. package/dist/playerglobal/playerglobal-library.js.map +1 -0
  888. package/dist/playerglobal/toplevel.d.ts +14 -0
  889. package/dist/playerglobal/toplevel.d.ts.map +1 -0
  890. package/dist/playerglobal/toplevel.js +123 -0
  891. package/dist/playerglobal/toplevel.js.map +1 -0
  892. package/dist/scene/advanced.d.ts +28 -0
  893. package/dist/scene/advanced.d.ts.map +1 -0
  894. package/dist/scene/advanced.js +182 -0
  895. package/dist/scene/advanced.js.map +1 -0
  896. package/dist/scene/context-menu.d.ts +16 -0
  897. package/dist/scene/context-menu.d.ts.map +1 -0
  898. package/dist/scene/context-menu.js +230 -0
  899. package/dist/scene/context-menu.js.map +1 -0
  900. package/dist/scene/fills.d.ts +45 -0
  901. package/dist/scene/fills.d.ts.map +1 -0
  902. package/dist/scene/fills.js +39 -0
  903. package/dist/scene/fills.js.map +1 -0
  904. package/dist/scene/filter-layers.d.ts +99 -0
  905. package/dist/scene/filter-layers.d.ts.map +1 -0
  906. package/dist/scene/filter-layers.js +352 -0
  907. package/dist/scene/filter-layers.js.map +1 -0
  908. package/dist/scene/filters.d.ts +47 -0
  909. package/dist/scene/filters.d.ts.map +1 -0
  910. package/dist/scene/filters.js +314 -0
  911. package/dist/scene/filters.js.map +1 -0
  912. package/dist/scene/hidden.d.ts +8 -0
  913. package/dist/scene/hidden.d.ts.map +1 -0
  914. package/dist/scene/hidden.js +33 -0
  915. package/dist/scene/hidden.js.map +1 -0
  916. package/dist/scene/lines.d.ts +87 -0
  917. package/dist/scene/lines.d.ts.map +1 -0
  918. package/dist/scene/lines.js +242 -0
  919. package/dist/scene/lines.js.map +1 -0
  920. package/dist/scene/masks.d.ts +32 -0
  921. package/dist/scene/masks.d.ts.map +1 -0
  922. package/dist/scene/masks.js +136 -0
  923. package/dist/scene/masks.js.map +1 -0
  924. package/dist/scene/paints.d.ts +86 -0
  925. package/dist/scene/paints.d.ts.map +1 -0
  926. package/dist/scene/paints.js +282 -0
  927. package/dist/scene/paints.js.map +1 -0
  928. package/dist/scene/parts.d.ts +57 -0
  929. package/dist/scene/parts.d.ts.map +1 -0
  930. package/dist/scene/parts.js +156 -0
  931. package/dist/scene/parts.js.map +1 -0
  932. package/dist/scene/pixel-bender-glsl.d.ts +32 -0
  933. package/dist/scene/pixel-bender-glsl.d.ts.map +1 -0
  934. package/dist/scene/pixel-bender-glsl.js +618 -0
  935. package/dist/scene/pixel-bender-glsl.js.map +1 -0
  936. package/dist/scene/planes.d.ts +89 -0
  937. package/dist/scene/planes.d.ts.map +1 -0
  938. package/dist/scene/planes.js +177 -0
  939. package/dist/scene/planes.js.map +1 -0
  940. package/dist/scene/pointer.d.ts +18 -0
  941. package/dist/scene/pointer.d.ts.map +1 -0
  942. package/dist/scene/pointer.js +245 -0
  943. package/dist/scene/pointer.js.map +1 -0
  944. package/dist/scene/shapes.d.ts +56 -0
  945. package/dist/scene/shapes.d.ts.map +1 -0
  946. package/dist/scene/shapes.js +300 -0
  947. package/dist/scene/shapes.js.map +1 -0
  948. package/dist/scene/stale-shapes.d.ts +18 -0
  949. package/dist/scene/stale-shapes.d.ts.map +1 -0
  950. package/dist/scene/stale-shapes.js +39 -0
  951. package/dist/scene/stale-shapes.js.map +1 -0
  952. package/dist/scene/strokes.d.ts +20 -0
  953. package/dist/scene/strokes.d.ts.map +1 -0
  954. package/dist/scene/strokes.js +111 -0
  955. package/dist/scene/strokes.js.map +1 -0
  956. package/dist/scene/text-items.d.ts +48 -0
  957. package/dist/scene/text-items.d.ts.map +1 -0
  958. package/dist/scene/text-items.js +206 -0
  959. package/dist/scene/text-items.js.map +1 -0
  960. package/dist/scene/text.d.ts +98 -0
  961. package/dist/scene/text.d.ts.map +1 -0
  962. package/dist/scene/text.js +249 -0
  963. package/dist/scene/text.js.map +1 -0
  964. package/dist/scene/view.d.ts +277 -0
  965. package/dist/scene/view.d.ts.map +1 -0
  966. package/dist/scene/view.js +1185 -0
  967. package/dist/scene/view.js.map +1 -0
  968. package/dist/scripting/clipboard.d.ts +61 -0
  969. package/dist/scripting/clipboard.d.ts.map +1 -0
  970. package/dist/scripting/clipboard.js +147 -0
  971. package/dist/scripting/clipboard.js.map +1 -0
  972. package/dist/scripting/code.d.ts +294 -0
  973. package/dist/scripting/code.d.ts.map +1 -0
  974. package/dist/scripting/code.js +901 -0
  975. package/dist/scripting/code.js.map +1 -0
  976. package/dist/scripting/evaluate.d.ts +38 -0
  977. package/dist/scripting/evaluate.d.ts.map +1 -0
  978. package/dist/scripting/evaluate.js +145 -0
  979. package/dist/scripting/evaluate.js.map +1 -0
  980. package/dist/scripting/events.d.ts +69 -0
  981. package/dist/scripting/events.d.ts.map +1 -0
  982. package/dist/scripting/events.js +173 -0
  983. package/dist/scripting/events.js.map +1 -0
  984. package/dist/scripting/handover.d.ts +76 -0
  985. package/dist/scripting/handover.d.ts.map +1 -0
  986. package/dist/scripting/handover.js +183 -0
  987. package/dist/scripting/handover.js.map +1 -0
  988. package/dist/scripting/lazy.d.ts +9 -0
  989. package/dist/scripting/lazy.d.ts.map +1 -0
  990. package/dist/scripting/lazy.js +39 -0
  991. package/dist/scripting/lazy.js.map +1 -0
  992. package/dist/scripting/lifecycle.d.ts +90 -0
  993. package/dist/scripting/lifecycle.d.ts.map +1 -0
  994. package/dist/scripting/lifecycle.js +273 -0
  995. package/dist/scripting/lifecycle.js.map +1 -0
  996. package/dist/scripting/loads.d.ts +220 -0
  997. package/dist/scripting/loads.d.ts.map +1 -0
  998. package/dist/scripting/loads.js +861 -0
  999. package/dist/scripting/loads.js.map +1 -0
  1000. package/dist/scripting/sha256.d.ts +5 -0
  1001. package/dist/scripting/sha256.d.ts.map +1 -0
  1002. package/dist/scripting/sha256.js +96 -0
  1003. package/dist/scripting/sha256.js.map +1 -0
  1004. package/dist/scripting/symbols.d.ts +74 -0
  1005. package/dist/scripting/symbols.d.ts.map +1 -0
  1006. package/dist/scripting/symbols.js +349 -0
  1007. package/dist/scripting/symbols.js.map +1 -0
  1008. package/dist/scripting/timers.d.ts +145 -0
  1009. package/dist/scripting/timers.d.ts.map +1 -0
  1010. package/dist/scripting/timers.js +435 -0
  1011. package/dist/scripting/timers.js.map +1 -0
  1012. package/dist/scripting/workers.d.ts +138 -0
  1013. package/dist/scripting/workers.d.ts.map +1 -0
  1014. package/dist/scripting/workers.js +924 -0
  1015. package/dist/scripting/workers.js.map +1 -0
  1016. package/dist/scripting.d.ts +486 -0
  1017. package/dist/scripting.d.ts.map +1 -0
  1018. package/dist/scripting.js +1019 -0
  1019. package/dist/scripting.js.map +1 -0
  1020. package/dist/stage.d.ts +3 -0
  1021. package/dist/stage.d.ts.map +1 -0
  1022. package/dist/stage.js +5 -0
  1023. package/dist/stage.js.map +1 -0
  1024. package/dist/text/csm.d.ts +34 -0
  1025. package/dist/text/csm.d.ts.map +1 -0
  1026. package/dist/text/csm.js +114 -0
  1027. package/dist/text/csm.js.map +1 -0
  1028. package/dist/text/css.d.ts +9 -0
  1029. package/dist/text/css.d.ts.map +1 -0
  1030. package/dist/text/css.js +168 -0
  1031. package/dist/text/css.js.map +1 -0
  1032. package/dist/text/fonts.d.ts +23 -0
  1033. package/dist/text/fonts.d.ts.map +1 -0
  1034. package/dist/text/fonts.js +98 -0
  1035. package/dist/text/fonts.js.map +1 -0
  1036. package/dist/text/layout.d.ts +79 -0
  1037. package/dist/text/layout.d.ts.map +1 -0
  1038. package/dist/text/layout.js +394 -0
  1039. package/dist/text/layout.js.map +1 -0
  1040. package/dist/text/saffron.d.ts +121 -0
  1041. package/dist/text/saffron.d.ts.map +1 -0
  1042. package/dist/text/saffron.js +442 -0
  1043. package/dist/text/saffron.js.map +1 -0
  1044. package/dist/text/static.d.ts +33 -0
  1045. package/dist/text/static.d.ts.map +1 -0
  1046. package/dist/text/static.js +110 -0
  1047. package/dist/text/static.js.map +1 -0
  1048. package/dist/text/text.d.ts +69 -0
  1049. package/dist/text/text.d.ts.map +1 -0
  1050. package/dist/text/text.js +432 -0
  1051. package/dist/text/text.js.map +1 -0
  1052. package/dist/workers/protocol.d.ts +128 -0
  1053. package/dist/workers/protocol.d.ts.map +1 -0
  1054. package/dist/workers/protocol.js +2 -0
  1055. package/dist/workers/protocol.js.map +1 -0
  1056. package/dist/workers/thread.d.ts +15 -0
  1057. package/dist/workers/thread.d.ts.map +1 -0
  1058. package/dist/workers/thread.js +160 -0
  1059. package/dist/workers/thread.js.map +1 -0
  1060. package/dist/workers/wire.d.ts +53 -0
  1061. package/dist/workers/wire.d.ts.map +1 -0
  1062. package/dist/workers/wire.js +199 -0
  1063. package/dist/workers/wire.js.map +1 -0
  1064. package/package.json +55 -3
  1065. package/src/air-definitions.ts +129 -0
  1066. package/src/avm1/amf.ts +564 -0
  1067. package/src/avm1/avm1.ts +1652 -0
  1068. package/src/avm1/bindings.ts +257 -0
  1069. package/src/avm1/classes.ts +85 -0
  1070. package/src/avm1/clips.ts +305 -0
  1071. package/src/avm1/compile.ts +179 -0
  1072. package/src/avm1/external.ts +99 -0
  1073. package/src/avm1/focus.ts +342 -0
  1074. package/src/avm1/globals/BitmapData.ts +736 -0
  1075. package/src/avm1/globals/Button.ts +43 -0
  1076. package/src/avm1/globals/Color.ts +138 -0
  1077. package/src/avm1/globals/ExternalInterface.ts +402 -0
  1078. package/src/avm1/globals/FileReference.ts +249 -0
  1079. package/src/avm1/globals/Key.ts +102 -0
  1080. package/src/avm1/globals/LoadVars.ts +280 -0
  1081. package/src/avm1/globals/LocalConnection.ts +137 -0
  1082. package/src/avm1/globals/MovieClip.ts +1365 -0
  1083. package/src/avm1/globals/MovieClipLoader.ts +150 -0
  1084. package/src/avm1/globals/NetConnection.ts +352 -0
  1085. package/src/avm1/globals/PrintJob.ts +57 -0
  1086. package/src/avm1/globals/Selection.ts +103 -0
  1087. package/src/avm1/globals/SharedObject.ts +300 -0
  1088. package/src/avm1/globals/Sound.ts +326 -0
  1089. package/src/avm1/globals/Stage.ts +19 -0
  1090. package/src/avm1/globals/StyleSheet.ts +280 -0
  1091. package/src/avm1/globals/TextField.ts +611 -0
  1092. package/src/avm1/globals/TextFormat.ts +250 -0
  1093. package/src/avm1/globals/TextSnapshot.ts +128 -0
  1094. package/src/avm1/globals/XML.ts +521 -0
  1095. package/src/avm1/globals/XMLNode.ts +502 -0
  1096. package/src/avm1/globals/XMLSocket.ts +267 -0
  1097. package/src/avm1/globals/drawing.ts +253 -0
  1098. package/src/avm1/globals/filters.ts +782 -0
  1099. package/src/avm1/globals/geom.ts +887 -0
  1100. package/src/avm1/input.ts +556 -0
  1101. package/src/avm1/keyboard.ts +133 -0
  1102. package/src/avm1/loads.ts +461 -0
  1103. package/src/avm1/net.ts +287 -0
  1104. package/src/avm1/paths.ts +132 -0
  1105. package/src/avm1/pointer.ts +607 -0
  1106. package/src/avm1/queue.ts +335 -0
  1107. package/src/avm1/sound.ts +135 -0
  1108. package/src/avm1/swf.ts +193 -0
  1109. package/src/avm1/timers.ts +141 -0
  1110. package/src/bitmap/bitmap.ts +796 -0
  1111. package/src/bitmap/draw.ts +96 -0
  1112. package/src/bitmap/dxt.ts +20 -0
  1113. package/src/bitmap/filters.ts +810 -0
  1114. package/src/bitmap/images.ts +304 -0
  1115. package/src/bitmap/kernel.ts +77 -0
  1116. package/src/bitmap/ops.ts +1608 -0
  1117. package/src/bitmap/pixel-bender.ts +1089 -0
  1118. package/src/bitmap/png.ts +152 -0
  1119. package/src/bitmap/turbulence.ts +117 -0
  1120. package/src/clock.ts +196 -0
  1121. package/src/display/bitmapobject.ts +31 -0
  1122. package/src/display/bounds.ts +702 -0
  1123. package/src/display/buttonobject.ts +382 -0
  1124. package/src/display/color.ts +54 -0
  1125. package/src/display/container.ts +169 -0
  1126. package/src/display/display.ts +28 -0
  1127. package/src/display/displayobject.ts +823 -0
  1128. package/src/display/drawing.ts +744 -0
  1129. package/src/display/filters.ts +393 -0
  1130. package/src/display/geometry.ts +237 -0
  1131. package/src/display/gradients.ts +165 -0
  1132. package/src/display/graphicsdata.ts +745 -0
  1133. package/src/display/instantiate.ts +95 -0
  1134. package/src/display/matrix3d.ts +461 -0
  1135. package/src/display/morph.ts +275 -0
  1136. package/src/display/movieclip.ts +771 -0
  1137. package/src/display/perspective.ts +253 -0
  1138. package/src/display/plane.ts +192 -0
  1139. package/src/display/scale9.ts +321 -0
  1140. package/src/display/shapeobject.ts +160 -0
  1141. package/src/display/shapes.ts +602 -0
  1142. package/src/display/stretch.ts +217 -0
  1143. package/src/display/textobjects.ts +248 -0
  1144. package/src/display/timeline.ts +831 -0
  1145. package/src/display/value-lists.ts +50 -0
  1146. package/src/display/videoobject.ts +7 -0
  1147. package/src/display/walk.ts +169 -0
  1148. package/src/files.ts +466 -0
  1149. package/src/hosts.ts +645 -0
  1150. package/src/index.ts +66 -0
  1151. package/src/input/activation.ts +62 -0
  1152. package/src/input/avm1.ts +102 -0
  1153. package/src/input/canvas.ts +74 -0
  1154. package/src/input/context-menu.ts +105 -0
  1155. package/src/input/keyboard.ts +645 -0
  1156. package/src/input/pointer.ts +1127 -0
  1157. package/src/input/text-editor.ts +361 -0
  1158. package/src/input/touch.ts +302 -0
  1159. package/src/localconnection.ts +129 -0
  1160. package/src/media/audio.ts +484 -0
  1161. package/src/media/dynamic-sound.ts +118 -0
  1162. package/src/media/extract.ts +191 -0
  1163. package/src/media/mp3.ts +205 -0
  1164. package/src/media/sounds.ts +735 -0
  1165. package/src/media/streaming-audio.ts +150 -0
  1166. package/src/player.ts +686 -0
  1167. package/src/playerglobal/air/net/WebSocket.ts +318 -0
  1168. package/src/playerglobal/air-library.ts +14 -0
  1169. package/src/playerglobal/context3d/context.ts +672 -0
  1170. package/src/playerglobal/context3d/errors.ts +116 -0
  1171. package/src/playerglobal/context3d/lifecycle.ts +428 -0
  1172. package/src/playerglobal/context3d/readback.ts +65 -0
  1173. package/src/playerglobal/context3d/resources.ts +406 -0
  1174. package/src/playerglobal/context3d.ts +111 -0
  1175. package/src/playerglobal/flash/accessibility/Accessibility.ts +30 -0
  1176. package/src/playerglobal/flash/crypto/generateRandomBytes.ts +38 -0
  1177. package/src/playerglobal/flash/data/EncryptedLocalStore.ts +75 -0
  1178. package/src/playerglobal/flash/desktop/Clipboard.ts +217 -0
  1179. package/src/playerglobal/flash/desktop/NativeApplication.ts +241 -0
  1180. package/src/playerglobal/flash/display/AVM1Movie.ts +24 -0
  1181. package/src/playerglobal/flash/display/Bitmap.ts +76 -0
  1182. package/src/playerglobal/flash/display/BitmapData.ts +963 -0
  1183. package/src/playerglobal/flash/display/DisplayObject.ts +787 -0
  1184. package/src/playerglobal/flash/display/DisplayObjectContainer.ts +274 -0
  1185. package/src/playerglobal/flash/display/Graphics.ts +489 -0
  1186. package/src/playerglobal/flash/display/InteractiveObject.ts +124 -0
  1187. package/src/playerglobal/flash/display/Loader.ts +126 -0
  1188. package/src/playerglobal/flash/display/LoaderInfo.ts +205 -0
  1189. package/src/playerglobal/flash/display/MovieClip.ts +245 -0
  1190. package/src/playerglobal/flash/display/NativeWindow.ts +313 -0
  1191. package/src/playerglobal/flash/display/Shader.ts +39 -0
  1192. package/src/playerglobal/flash/display/ShaderData.ts +105 -0
  1193. package/src/playerglobal/flash/display/ShaderInput.ts +101 -0
  1194. package/src/playerglobal/flash/display/ShaderJob.ts +234 -0
  1195. package/src/playerglobal/flash/display/ShaderParameter.ts +36 -0
  1196. package/src/playerglobal/flash/display/Shape.ts +19 -0
  1197. package/src/playerglobal/flash/display/SimpleButton.ts +126 -0
  1198. package/src/playerglobal/flash/display/Sprite.ts +115 -0
  1199. package/src/playerglobal/flash/display/Stage.ts +298 -0
  1200. package/src/playerglobal/flash/display/Stage3D.ts +90 -0
  1201. package/src/playerglobal/flash/display/shaders.ts +296 -0
  1202. package/src/playerglobal/flash/events/Event.ts +85 -0
  1203. package/src/playerglobal/flash/events/EventDispatcher.ts +143 -0
  1204. package/src/playerglobal/flash/events/GestureEvent.ts +49 -0
  1205. package/src/playerglobal/flash/events/HTTPStatusEvent.ts +12 -0
  1206. package/src/playerglobal/flash/events/KeyboardEvent.ts +75 -0
  1207. package/src/playerglobal/flash/events/MouseEvent.ts +88 -0
  1208. package/src/playerglobal/flash/events/PressAndTapGestureEvent.ts +48 -0
  1209. package/src/playerglobal/flash/events/TimerEvent.ts +20 -0
  1210. package/src/playerglobal/flash/events/TouchEvent.ts +64 -0
  1211. package/src/playerglobal/flash/external/ExternalInterface.ts +104 -0
  1212. package/src/playerglobal/flash/filesystem/File.ts +450 -0
  1213. package/src/playerglobal/flash/filesystem/FileStream.ts +556 -0
  1214. package/src/playerglobal/flash/filesystem/paths.ts +181 -0
  1215. package/src/playerglobal/flash/filesystem/writes.ts +203 -0
  1216. package/src/playerglobal/flash/filters/BevelFilter.ts +9 -0
  1217. package/src/playerglobal/flash/filters/BitmapFilter.ts +237 -0
  1218. package/src/playerglobal/flash/filters/BlurFilter.ts +8 -0
  1219. package/src/playerglobal/flash/filters/ColorMatrixFilter.ts +15 -0
  1220. package/src/playerglobal/flash/filters/ConvolutionFilter.ts +31 -0
  1221. package/src/playerglobal/flash/filters/DisplacementMapFilter.ts +69 -0
  1222. package/src/playerglobal/flash/filters/DropShadowFilter.ts +9 -0
  1223. package/src/playerglobal/flash/filters/GlowFilter.ts +9 -0
  1224. package/src/playerglobal/flash/filters/GradientBevelFilter.ts +8 -0
  1225. package/src/playerglobal/flash/filters/GradientGlowFilter.ts +8 -0
  1226. package/src/playerglobal/flash/filters/ShaderFilter.ts +75 -0
  1227. package/src/playerglobal/flash/geom/Matrix3D.ts +468 -0
  1228. package/src/playerglobal/flash/geom/PerspectiveProjection.ts +162 -0
  1229. package/src/playerglobal/flash/geom/Transform.ts +335 -0
  1230. package/src/playerglobal/flash/geom/Utils3D.ts +132 -0
  1231. package/src/playerglobal/flash/globalization/Collator.ts +205 -0
  1232. package/src/playerglobal/flash/globalization/CurrencyFormatter.ts +365 -0
  1233. package/src/playerglobal/flash/globalization/CurrencyParseResult.ts +35 -0
  1234. package/src/playerglobal/flash/globalization/DateTimeFormatter.ts +594 -0
  1235. package/src/playerglobal/flash/globalization/LocaleID.ts +202 -0
  1236. package/src/playerglobal/flash/globalization/NumberFormatter.ts +574 -0
  1237. package/src/playerglobal/flash/globalization/NumberParseResult.ts +40 -0
  1238. package/src/playerglobal/flash/globalization/StringTools.ts +78 -0
  1239. package/src/playerglobal/flash/globalization/locale.ts +245 -0
  1240. package/src/playerglobal/flash/media/Camera.ts +122 -0
  1241. package/src/playerglobal/flash/media/Microphone.ts +177 -0
  1242. package/src/playerglobal/flash/media/Sound.ts +714 -0
  1243. package/src/playerglobal/flash/media/SoundMixer.ts +97 -0
  1244. package/src/playerglobal/flash/media/SoundTransform.ts +61 -0
  1245. package/src/playerglobal/flash/media/Video.ts +64 -0
  1246. package/src/playerglobal/flash/net/FileFilter.ts +42 -0
  1247. package/src/playerglobal/flash/net/FileReference.ts +273 -0
  1248. package/src/playerglobal/flash/net/LocalConnection.ts +218 -0
  1249. package/src/playerglobal/flash/net/NetConnection.ts +219 -0
  1250. package/src/playerglobal/flash/net/SharedObject.ts +356 -0
  1251. package/src/playerglobal/flash/net/Socket.ts +360 -0
  1252. package/src/playerglobal/flash/net/URLRequest.ts +140 -0
  1253. package/src/playerglobal/flash/net/URLStream.ts +203 -0
  1254. package/src/playerglobal/flash/net/XMLSocket.ts +18 -0
  1255. package/src/playerglobal/flash/net/local-modern.ts +164 -0
  1256. package/src/playerglobal/flash/net/local-values.ts +245 -0
  1257. package/src/playerglobal/flash/net/navigateToURL.ts +42 -0
  1258. package/src/playerglobal/flash/profiler/Telemetry.ts +35 -0
  1259. package/src/playerglobal/flash/sensors/Accelerometer.ts +15 -0
  1260. package/src/playerglobal/flash/system/ApplicationDomain.ts +94 -0
  1261. package/src/playerglobal/flash/system/Capabilities.ts +203 -0
  1262. package/src/playerglobal/flash/system/FSCommandHost.ts +23 -0
  1263. package/src/playerglobal/flash/system/Security.ts +61 -0
  1264. package/src/playerglobal/flash/system/SecurityDomain.ts +27 -0
  1265. package/src/playerglobal/flash/system/System.ts +96 -0
  1266. package/src/playerglobal/flash/system/Worker.ts +147 -0
  1267. package/src/playerglobal/flash/text/Font.ts +124 -0
  1268. package/src/playerglobal/flash/text/StaticText.ts +21 -0
  1269. package/src/playerglobal/flash/text/StyleSheet.ts +87 -0
  1270. package/src/playerglobal/flash/text/TextField.ts +789 -0
  1271. package/src/playerglobal/flash/text/TextRenderer.ts +104 -0
  1272. package/src/playerglobal/flash/text/engine/FontDescription.ts +198 -0
  1273. package/src/playerglobal/flash/text/engine/TabStop.ts +70 -0
  1274. package/src/playerglobal/flash/trace/Trace.ts +25 -0
  1275. package/src/playerglobal/flash/ui/ContextMenu.ts +26 -0
  1276. package/src/playerglobal/flash/ui/GameInput.ts +27 -0
  1277. package/src/playerglobal/flash/ui/Keyboard.ts +34 -0
  1278. package/src/playerglobal/flash/ui/Mouse.ts +170 -0
  1279. package/src/playerglobal/flash/ui/Multitouch.ts +62 -0
  1280. package/src/playerglobal/flash/utils/ByteArray.ts +184 -0
  1281. package/src/playerglobal/flash/utils/Timer.ts +39 -0
  1282. package/src/playerglobal/flash/xml/XMLDocument.ts +101 -0
  1283. package/src/playerglobal/index.ts +233 -0
  1284. package/src/playerglobal/libraries.ts +12 -0
  1285. package/src/playerglobal/playerglobal-library.ts +28 -0
  1286. package/src/playerglobal/toplevel.ts +158 -0
  1287. package/src/scene/advanced.ts +282 -0
  1288. package/src/scene/context-menu.ts +270 -0
  1289. package/src/scene/fills.ts +90 -0
  1290. package/src/scene/filter-layers.ts +503 -0
  1291. package/src/scene/filters.ts +421 -0
  1292. package/src/scene/hidden.ts +37 -0
  1293. package/src/scene/lines.ts +322 -0
  1294. package/src/scene/masks.ts +195 -0
  1295. package/src/scene/paints.ts +378 -0
  1296. package/src/scene/parts.ts +205 -0
  1297. package/src/scene/pixel-bender-glsl.ts +722 -0
  1298. package/src/scene/planes.ts +260 -0
  1299. package/src/scene/pointer.ts +278 -0
  1300. package/src/scene/shapes.ts +386 -0
  1301. package/src/scene/stale-shapes.ts +56 -0
  1302. package/src/scene/strokes.ts +157 -0
  1303. package/src/scene/text-items.ts +324 -0
  1304. package/src/scene/text.ts +360 -0
  1305. package/src/scene/view.ts +1591 -0
  1306. package/src/scripting/clipboard.ts +169 -0
  1307. package/src/scripting/code.ts +1094 -0
  1308. package/src/scripting/evaluate.ts +178 -0
  1309. package/src/scripting/events.ts +236 -0
  1310. package/src/scripting/handover.ts +253 -0
  1311. package/src/scripting/lazy.ts +67 -0
  1312. package/src/scripting/lifecycle.ts +307 -0
  1313. package/src/scripting/loads.ts +1112 -0
  1314. package/src/scripting/sha256.ts +107 -0
  1315. package/src/scripting/symbols.ts +454 -0
  1316. package/src/scripting/timers.ts +504 -0
  1317. package/src/scripting/workers.ts +1144 -0
  1318. package/src/scripting.ts +1300 -0
  1319. package/src/stage.ts +7 -0
  1320. package/src/text/csm.ts +173 -0
  1321. package/src/text/css.ts +198 -0
  1322. package/src/text/fonts.ts +129 -0
  1323. package/src/text/layout.ts +525 -0
  1324. package/src/text/saffron.ts +539 -0
  1325. package/src/text/static.ts +147 -0
  1326. package/src/text/text.ts +538 -0
  1327. package/src/workers/protocol.ts +124 -0
  1328. package/src/workers/thread.ts +188 -0
  1329. package/src/workers/wire.ts +263 -0
@@ -0,0 +1,1365 @@
1
+ // MovieClip's AS2 face over the player's display objects (docs/avm1.md,
2
+ // "Hosting AVM1 objects"): a clip's, a button's or a text field's AVM1
3
+ // object finds its children by name, `_root`, `_parent` and `_levelN`, and
4
+ // the display properties `_x` to `_ymouse`, after its own properties; and
5
+ // MovieClip's methods, as Ruffle's (https://github.com/ruffle-rs/ruffle)
6
+ // core/src/avm1/object/stage_object.rs and globals/movie_clip.rs have them:
7
+ // MIT OR Apache-2.0, Copyright (c) 2018-2022 Ruffle LLC and Ruffle
8
+ // contributors. Where adl parts from Ruffle, adl decides (docs/avm1.md,
9
+ // "Clips and paths").
10
+
11
+ import type { Matrix } from "@swf2es/format";
12
+ import { avm1 } from "@swf2es/runtime";
13
+ import type { BitmapStore } from "../../bitmap/bitmap.js";
14
+ import { bounds, hitsObject, hitsPoint, toStage } from "../../display/bounds.js";
15
+ import {
16
+ ButtonObject,
17
+ type DisplayObject,
18
+ MovieClip,
19
+ TextObject,
20
+ TRANSFORM,
21
+ } from "../../display/display.js";
22
+ import { apply, contains, invert, type Rect, transformRect } from "../../display/geometry.js";
23
+ import { cached } from "../../display/shapeobject.js";
24
+ import { asciiLower, childByName, pathOf, slashPathOf } from "../paths.js";
25
+ import type { Avm1Swf, Handler } from "../swf.js";
26
+ import { blendModeOf, storeOf } from "./BitmapData.js";
27
+ import { drawingMethods } from "./drawing.js";
28
+ import { type FilterFaces, filtersProperty } from "./filters.js";
29
+ import { assignTransform, type GeomHost, transformOf } from "./geom.js";
30
+ import { formVars } from "./LoadVars.js";
31
+
32
+ type Value = avm1.Value;
33
+
34
+ /** What the clips' AVM1 faces ask of the player's AVM1 (avm1.ts). */
35
+ export interface Movie extends GeomHost {
36
+ /** Level 0's clip. */
37
+ readonly root: MovieClip;
38
+ readonly realm: avm1.Realm;
39
+ /** The main SWF's version. */
40
+ readonly version: number;
41
+ /**
42
+ * The SWF `d` is of, the nearest clip's: its version, URL and length,
43
+ * which `getSWFVersion`, `_url` and `getBytesTotal` give, and its root.
44
+ */
45
+ swfOf(d: DisplayObject | null): Avm1Swf;
46
+ /**
47
+ * `_root` for code of `d`'s: its level, or the first clip up from it whose
48
+ * `_lockroot` is set.
49
+ */
50
+ rootOf(d: DisplayObject): MovieClip;
51
+ /** The level `d` is, null for none. */
52
+ levelOf(d: DisplayObject): number | null;
53
+ /** Level `n`'s clip, null where there is none. */
54
+ level(n: number): MovieClip | null;
55
+ /** The stage's quality, "LOW" to "BEST". */
56
+ quality: string;
57
+ /** The stage's focus rectangle's, `_focusrect` up to SWF 5 and on the root. */
58
+ focusRect: boolean;
59
+ soundBufferTime: number;
60
+ /**
61
+ * Whether getBounds has switched the invalid bounds it gives in another
62
+ * clip's space to 6710886.4, which it does for good once code of SWF 8 or
63
+ * later calls it, or any code under a root of SWF 8 or later.
64
+ */
65
+ newInvalidBounds: boolean;
66
+ /** The filter objects `filters` reads, once flash.filters is made. */
67
+ readonly filterFaces: FilterFaces | null;
68
+ /** The pointer's position on the stage. */
69
+ readonly mouseX: number;
70
+ readonly mouseY: number;
71
+ /** The screen's pixels to a stage pixel, which `_xmouse` is measured in. */
72
+ readonly pixelRatio: number;
73
+ /** What `d` was last dragged over, its `_droptarget`; null for nothing. */
74
+ dropTargetOf(d: DisplayObject): DisplayObject | null;
75
+ /** `d` hidden by its `_visible`: the focus, if it has it, goes. */
76
+ hidden(d: DisplayObject): void;
77
+ /** attachBitmap: `store` shown in `parent` at AVM1 depth `depth`. */
78
+ attachBitmap(parent: MovieClip, store: BitmapStore, depth: number, smoothing: boolean): void;
79
+ /** startDrag: `d` follows the pointer, within `bounds` (left, top, right, bottom) where given. */
80
+ startDrag(d: DisplayObject, lockCenter: boolean, bounds: number[] | null): void;
81
+ stopDrag(): void;
82
+ faceOf(d: DisplayObject): avm1.Avm1Object | null;
83
+ /** An object or path from the current action's target; null for no display object. */
84
+ resolve(value: Value, version: number): DisplayObject | null;
85
+ /** Whether `d` was removed from the display list, its AVM1 object a reference by path from then on. */
86
+ removed(d: DisplayObject): boolean;
87
+ /** The display object at a path now, as a removed clip's reference finds one again. */
88
+ atPath(path: string): DisplayObject | null;
89
+ /** What timeline actions do to `clip`. */
90
+ timeline(clip: MovieClip): avm1.Timeline;
91
+ /** attachMovie: the character exported as `name` placed as `instance` at AVM1 depth `depth`. */
92
+ attachMovie(
93
+ parent: MovieClip,
94
+ name: string,
95
+ instance: string,
96
+ depth: number,
97
+ init: avm1.Avm1Object | null,
98
+ ): DisplayObject | null;
99
+ /** createEmptyMovieClip: an empty clip as `instance` at AVM1 depth `depth`. */
100
+ createEmptyMovieClip(parent: MovieClip, instance: string, depth: number): DisplayObject;
101
+ /** createTextField: an empty text field as `instance` at AVM1 depth `depth`, at (x, y), width by height. */
102
+ createTextField(
103
+ parent: MovieClip,
104
+ instance: string,
105
+ depth: number,
106
+ rect: [x: number, y: number, width: number, height: number],
107
+ ): DisplayObject;
108
+ /** duplicateMovieClip: `d` again as `name` at timeline depth `depth`. */
109
+ duplicate(
110
+ d: DisplayObject,
111
+ name: string,
112
+ depth: number,
113
+ init: avm1.Avm1Object | null,
114
+ ): DisplayObject | null;
115
+ /** removeMovieClip: `d` removed, where a script may remove it. */
116
+ remove(d: DisplayObject): void;
117
+ /** A property of `d`'s AVM1 object set, which a text field bound to it shows. */
118
+ propertyChanged(d: DisplayObject, name: string, value: Value, version: number): void;
119
+ /** loadVariables: the variables at `url` set on `d`, `form`'s sent with them. */
120
+ loadVariables(d: DisplayObject, url: string, form: avm1.UrlForm | null): void;
121
+ /** loadMovie: the SWF or image at `url` into `d`, `form`'s variables sent with the request. */
122
+ loadMovie(d: DisplayObject | number, url: string, form: avm1.UrlForm | null): void;
123
+ /** unloadMovie: what `d` shows unloaded, and it left empty. */
124
+ unloadMovie(d: DisplayObject): void;
125
+ }
126
+
127
+ /** AVM1's depths are the timeline's less this, as Flash gives them to scripts. */
128
+ export const DEPTH_BIAS = 16384;
129
+
130
+ /** A number cast to an int as x86 casts one: cut toward zero, NaN and what does not fit -2^31. */
131
+ const castInt = (n: number): number =>
132
+ n > -2147483649 && n < 2147483648 ? Math.trunc(n) : -2147483648;
133
+
134
+ /** A pixel value in whole twips, as Flash keeps positions. */
135
+ const twips = (px: number): number => castInt(px * 20);
136
+
137
+ /** A value as a property set takes it: a number, or none for undefined, null or NaN, which leave the property be. */
138
+ function numberOf(value: Value, version: number): number | null {
139
+ if (value === undefined || value === null) {
140
+ return null;
141
+ }
142
+
143
+ const n = avm1.toNumber(value, version);
144
+ return Number.isNaN(n) ? null : n;
145
+ }
146
+
147
+ /** An object's width and height in its parent's space, in twips as Flash reports them. */
148
+ function size(d: DisplayObject): [number, number] {
149
+ const r = twipsBounds(d, twipsMatrix(d.placed));
150
+ return r === null ? [0, 0] : [(r.xMax - r.xMin) / 20, (r.yMax - r.yMin) / 20];
151
+ }
152
+
153
+ /** Move a display object, by a copy of its matrix, and have it drawn again. */
154
+ function moveTo(d: DisplayObject, x: number | null, y: number | null): void {
155
+ d.touch();
156
+ d.matrix = { ...d.matrix, tx: x ?? d.matrix.tx, ty: y ?? d.matrix.ty };
157
+ d.invalidate(TRANSFORM);
158
+ }
159
+
160
+ /** A property: its getter, and its setter, null for a read-only one. */
161
+ interface DisplayProperty {
162
+ get(face: ClipNative, version: number): Value;
163
+ set: ((face: ClipNative, value: Value, version: number) => void) | null;
164
+ }
165
+
166
+ /** An alpha as Flash keeps it, an 8.8 multiplier: the percentage's 256ths cut toward zero, in 16 bits. */
167
+ function alphaOf(percent: number): number {
168
+ const n = castInt(percent * 2.56);
169
+ return (n << 16) >> 16;
170
+ }
171
+
172
+ /**
173
+ * The display properties, in GetProperty's and SetProperty's order: `_x`
174
+ * is 0, `_ymouse` 21.
175
+ */
176
+ const PROPERTIES: [string, DisplayProperty][] = [
177
+ [
178
+ "_x",
179
+ {
180
+ get: (f) => f.target.matrix.tx,
181
+ set(f, value, version) {
182
+ const n = numberOf(value, version);
183
+ if (n !== null) {
184
+ moveTo(f.target, twips(n) / 20, null);
185
+ }
186
+ },
187
+ },
188
+ ],
189
+ [
190
+ "_y",
191
+ {
192
+ get: (f) => f.target.matrix.ty,
193
+ set(f, value, version) {
194
+ const n = numberOf(value, version);
195
+ if (n !== null) {
196
+ moveTo(f.target, null, twips(n) / 20);
197
+ }
198
+ },
199
+ },
200
+ ],
201
+ [
202
+ "_xscale",
203
+ {
204
+ get: (f) =>
205
+ f.xscale !== null && f.target.scaleX === clampScale(f.xscale / 100)
206
+ ? f.xscale
207
+ : f.target.scaleX * 100,
208
+ set(f, value, version) {
209
+ const n = numberOf(value, version);
210
+ if (n !== null) {
211
+ f.target.touch();
212
+ setScaleX(f, n / 100, n);
213
+ }
214
+ },
215
+ },
216
+ ],
217
+ [
218
+ "_yscale",
219
+ {
220
+ get: (f) =>
221
+ f.yscale !== null && f.target.scaleY === clampScale(f.yscale / 100)
222
+ ? f.yscale
223
+ : f.target.scaleY * 100,
224
+ set(f, value, version) {
225
+ const n = numberOf(value, version);
226
+ if (n !== null) {
227
+ f.target.touch();
228
+ setScaleY(f, n / 100, n);
229
+ }
230
+ },
231
+ },
232
+ ],
233
+ [
234
+ "_currentframe",
235
+ { get: (f) => (f.target instanceof MovieClip ? f.target.currentFrame : undefined), set: null },
236
+ ],
237
+ [
238
+ "_totalframes",
239
+ { get: (f) => (f.target instanceof MovieClip ? f.target.totalFrames : undefined), set: null },
240
+ ],
241
+ [
242
+ "_alpha",
243
+ {
244
+ get: (f) => (f.target.colorTransform?.aMul ?? 1) * 100,
245
+ set(f, value, version) {
246
+ const n = numberOf(value, version);
247
+ if (n !== null) {
248
+ const d = f.target;
249
+ d.touch();
250
+ const aMul = Number.isFinite(n) ? alphaOf(n) / 256 : 0;
251
+ d.colorTransform = { ...(d.colorTransform ?? IDENTITY_COLOR), aMul };
252
+ d.invalidate(TRANSFORM);
253
+ }
254
+ },
255
+ },
256
+ ],
257
+ [
258
+ "_visible",
259
+ {
260
+ get: (f) => f.target.visible,
261
+ set(f, value, version) {
262
+ // A number, as in Flash 4: "false" is NaN, which leaves it be.
263
+ const n = numberOf(value, version);
264
+ if (n !== null) {
265
+ f.target.visible = n !== 0;
266
+ f.target.invalidate(TRANSFORM);
267
+ if (n === 0) {
268
+ f.movie.hidden(f.target);
269
+ }
270
+ }
271
+ },
272
+ },
273
+ ],
274
+ [
275
+ "_width",
276
+ {
277
+ get: (f) => size(f.target)[0],
278
+ set(f, value, version) {
279
+ const n = numberOf(value, version);
280
+ if (n !== null) {
281
+ setSize(f, n, true);
282
+ }
283
+ },
284
+ },
285
+ ],
286
+ [
287
+ "_height",
288
+ {
289
+ get: (f) => size(f.target)[1],
290
+ set(f, value, version) {
291
+ const n = numberOf(value, version);
292
+ if (n !== null) {
293
+ setSize(f, n, false);
294
+ }
295
+ },
296
+ },
297
+ ],
298
+ [
299
+ "_rotation",
300
+ {
301
+ get: (f) => f.target.rotation,
302
+ set(f, value, version) {
303
+ const n = numberOf(value, version);
304
+ if (n !== null) {
305
+ f.target.touch();
306
+ f.target.setRotation(n);
307
+ }
308
+ },
309
+ },
310
+ ],
311
+ ["_target", { get: (f) => slashPathOf(f.target, (d) => f.movie.levelOf(d)), set: null }],
312
+ [
313
+ "_framesloaded",
314
+ {
315
+ // -1 for a load's root in error, which has -1 bytes.
316
+ get: (f) => {
317
+ if (!(f.target instanceof MovieClip)) {
318
+ return undefined;
319
+ }
320
+
321
+ const swf = f.movie.swfOf(f.target);
322
+ return swf.root === f.target && swf.length < 0 ? -1 : f.target.totalFrames;
323
+ },
324
+ set: null,
325
+ },
326
+ ],
327
+ [
328
+ "_name",
329
+ {
330
+ get: (f) => f.target.name,
331
+ set(f, value, version) {
332
+ f.target.name = avm1.stringOf(
333
+ version >= 7 && typeof value === "number" && Number.isNaN(value) ? 0 : value,
334
+ version,
335
+ );
336
+ },
337
+ },
338
+ ],
339
+ [
340
+ "_droptarget",
341
+ {
342
+ // The slash path of what it was last dragged over; "" for nothing, in every version (adl;
343
+ // Ruffle: undefined up to SWF 5).
344
+ get: (f) => {
345
+ const over = f.movie.dropTargetOf(f.target);
346
+ return over === null ? "" : slashPathOf(over, (d) => f.movie.levelOf(d));
347
+ },
348
+ set: null,
349
+ },
350
+ ],
351
+ ["_url", { get: (f) => f.movie.swfOf(f.target).url, set: null }],
352
+ [
353
+ "_highquality",
354
+ {
355
+ get: (f) => (f.movie.quality === "BEST" ? 2 : f.movie.quality === "LOW" ? 0 : 1),
356
+ set(f, value, version) {
357
+ if (value === undefined || value === null) {
358
+ return;
359
+ }
360
+
361
+ const n = avm1.toNumber(value, version);
362
+ if (!Number.isNaN(n)) {
363
+ f.movie.quality = n > 1.5 ? "BEST" : n === 0 ? "LOW" : "HIGH";
364
+ }
365
+ },
366
+ },
367
+ ],
368
+ [
369
+ "_focusrect",
370
+ {
371
+ get(f, version) {
372
+ if (version <= 5) {
373
+ return f.movie.focusRect ? 1 : 0;
374
+ }
375
+
376
+ return f.target === f.movie.root ? f.movie.focusRect : (f.focusRect ?? null);
377
+ },
378
+ set(f, value, version) {
379
+ if (version <= 5 || f.target === f.movie.root) {
380
+ if (value === undefined || value === null) {
381
+ return;
382
+ }
383
+
384
+ const n = value instanceof avm1.Avm1Object ? 0 : avm1.toNumber(value, version);
385
+ if (!Number.isNaN(n)) {
386
+ f.movie.focusRect = n !== 0;
387
+ }
388
+ } else {
389
+ f.focusRect =
390
+ value === undefined || value === null ? null : avm1.toBoolean(value, version);
391
+ }
392
+ },
393
+ },
394
+ ],
395
+ [
396
+ "_soundbuftime",
397
+ {
398
+ get: (f) => f.movie.soundBufferTime,
399
+ set(f, value, version) {
400
+ if (value === undefined || value === null) {
401
+ return;
402
+ }
403
+
404
+ const n = avm1.toNumber(value, version);
405
+ if (!Number.isNaN(n)) {
406
+ f.movie.soundBufferTime = castInt(n);
407
+ }
408
+ },
409
+ },
410
+ ],
411
+ [
412
+ "_quality",
413
+ {
414
+ get: (f) => f.movie.quality,
415
+ set(f, value, version) {
416
+ const quality = avm1.stringOf(value, version).toUpperCase();
417
+ if (QUALITIES.includes(quality)) {
418
+ f.movie.quality = quality;
419
+ }
420
+ },
421
+ },
422
+ ],
423
+ ["_xmouse", { get: (f) => mouse(f.target, f.movie)[0], set: null }],
424
+ ["_ymouse", { get: (f) => mouse(f.target, f.movie)[1], set: null }],
425
+ ];
426
+
427
+ const QUALITIES = ["LOW", "MEDIUM", "HIGH", "BEST"];
428
+
429
+ /** A clip's colour transform where it has none. */
430
+ export const IDENTITY_COLOR = {
431
+ rMul: 1,
432
+ gMul: 1,
433
+ bMul: 1,
434
+ aMul: 1,
435
+ rAdd: 0,
436
+ gAdd: 0,
437
+ bAdd: 0,
438
+ aAdd: 0,
439
+ };
440
+
441
+ /** The display properties by name in lower case, which they are found by in any case. */
442
+ const BY_NAME = new Map(PROPERTIES.map(([name, p]) => [name, p]));
443
+
444
+ /**
445
+ * The pointer in `d`'s space, as Flash gives it (Ruffle's
446
+ * local_mouse_position): through the matrix from `d`'s twips to the
447
+ * screen's pixels (`pixelRatio` of them a stage pixel), whose translation
448
+ * a matrix keeps whole, so a whole pixel, and back to whole twips, each
449
+ * rounded half to even; where that matrix cannot be inverted, as for a
450
+ * clip scaled to nothing, the pointer's pixels are taken as twips (the
451
+ * corpus's `mouse_pos`).
452
+ */
453
+ function mouse(d: DisplayObject, movie: Movie): [number, number] {
454
+ const m = toStage(d, movie.root.parent);
455
+ const ratio = movie.pixelRatio;
456
+ const px = movie.mouseX * ratio;
457
+ const py = movie.mouseY * ratio;
458
+ const device = {
459
+ a: (m.a * ratio) / 20,
460
+ b: (m.b * ratio) / 20,
461
+ c: (m.c * ratio) / 20,
462
+ d: (m.d * ratio) / 20,
463
+ tx: roundEven(m.tx * ratio),
464
+ ty: roundEven(m.ty * ratio),
465
+ };
466
+ const back = invert(device);
467
+ if (back === null) {
468
+ return [roundEven(px) / 20, roundEven(py) / 20];
469
+ }
470
+
471
+ const x = back.a * px + back.c * py + roundEven(back.tx);
472
+ const y = back.b * px + back.d * py + roundEven(back.ty);
473
+ return [roundEven(x) / 20, roundEven(y) / 20];
474
+ }
475
+
476
+ /**
477
+ * The largest scale Flash's matrix holds, either way: a larger `_xscale`
478
+ * or `_yscale` is given back as set but draws at this (adl).
479
+ */
480
+ const MAX_SCALE = 32768;
481
+
482
+ const clampScale = (s: number): number => Math.max(-MAX_SCALE, Math.min(MAX_SCALE, s));
483
+
484
+ /** Preserve explicit percentages without a divide/multiply round trip; size setters supply factors. */
485
+ function setScaleX(f: ClipNative, s: number, percent = s * 100): void {
486
+ f.target.setScaleX(clampScale(s));
487
+ f.xscale = percent;
488
+ }
489
+
490
+ function setScaleY(f: ClipNative, s: number, percent = s * 100): void {
491
+ f.target.setScaleY(clampScale(s));
492
+ f.yscale = percent;
493
+ }
494
+
495
+ /**
496
+ * `_width` or `_height` set, as adl sets them: the bounds of the object's
497
+ * own content turned by its rotation, unscaled, in whole twips, are the
498
+ * base; the side set scales to the value over its base, the other to its
499
+ * size now over its base, both positive. A negative value changes nothing.
500
+ */
501
+ function setSize(f: ClipNative, value: number, horizontal: boolean): void {
502
+ if (value < 0) {
503
+ return;
504
+ }
505
+
506
+ const d = f.target;
507
+ d.touch();
508
+ // A field's own size is the value, in whole twips, whatever its scale (the corpus's
509
+ // `movieclip_create_text_field` and `edittext_width_height`).
510
+ if (d instanceof TextObject) {
511
+ if (horizontal) {
512
+ d.width = twips(value) / 20;
513
+ } else {
514
+ d.height = twips(value) / 20;
515
+ }
516
+
517
+ d.fit();
518
+ return;
519
+ }
520
+
521
+ const r = twipsBounds(d, null);
522
+ const width = r === null ? 0 : r.xMax - r.xMin;
523
+ const height = r === null ? 0 : r.yMax - r.yMin;
524
+ const radians = ((d.rotation || 0) * Math.PI) / 180;
525
+ const cos = Math.abs(Math.cos(radians));
526
+ const sin = Math.abs(Math.sin(radians));
527
+ const baseWidth = Math.round(cos * width + sin * height) / 20;
528
+ const baseHeight = Math.round(sin * width + cos * height) / 20;
529
+ const [w, h] = size(d);
530
+ const sx = baseWidth !== 0 ? (horizontal ? value : w) / baseWidth : 0;
531
+ const sy = baseHeight !== 0 ? (horizontal ? h : value) / baseHeight : 0;
532
+ setScaleX(f, sx);
533
+ setScaleY(f, sy);
534
+ }
535
+
536
+ /** A number rounded to the nearest whole one, a half to the even one, as Rust's round_ties_even. */
537
+ function roundEven(n: number): number {
538
+ const r = Math.round(n);
539
+ return Math.abs(n % 1) === 0.5 && r % 2 !== 0 ? r - 1 : r;
540
+ }
541
+
542
+ /**
543
+ * A matrix as Flash keeps one: a, b, c and d single floats, the
544
+ * translation in whole twips; Ruffle's render/src/matrix.rs.
545
+ */
546
+ interface TwipsMatrix {
547
+ a: number;
548
+ b: number;
549
+ c: number;
550
+ d: number;
551
+ tx: number;
552
+ ty: number;
553
+ }
554
+
555
+ const f32 = Math.fround;
556
+
557
+ /** `m`, in pixels, as Flash keeps it. */
558
+ const twipsMatrix = (m: Matrix): TwipsMatrix => ({
559
+ a: f32(m.a),
560
+ b: f32(m.b),
561
+ c: f32(m.c),
562
+ d: f32(m.d),
563
+ tx: Math.round(m.tx * 20),
564
+ ty: Math.round(m.ty * 20),
565
+ });
566
+
567
+ /** A single float rounded to an int, a half to the even one, out of range -2^31, NaN 0 (Ruffle's round_to_i32). */
568
+ function roundInt(n: number): number {
569
+ if (!Number.isFinite(n)) {
570
+ return 0;
571
+ }
572
+
573
+ return n < 2147483648 ? roundEven(n) | 0 : -2147483648;
574
+ }
575
+
576
+ /** `m` then `n`, a child's matrix then its parent's, as Flash concatenates them. */
577
+ function concatTwips(n: TwipsMatrix, m: TwipsMatrix): TwipsMatrix {
578
+ return {
579
+ a: f32(f32(n.a * m.a) + f32(n.c * m.b)),
580
+ b: f32(f32(n.b * m.a) + f32(n.d * m.b)),
581
+ c: f32(f32(n.a * m.c) + f32(n.c * m.d)),
582
+ d: f32(f32(n.b * m.c) + f32(n.d * m.d)),
583
+ tx: roundInt(f32(f32(n.a * m.tx) + f32(n.c * m.ty))) + n.tx,
584
+ ty: roundInt(f32(f32(n.b * m.tx) + f32(n.d * m.ty))) + n.ty,
585
+ };
586
+ }
587
+
588
+ /** `d`'s matrix to the stage's space, as Flash's local_to_global_matrix. */
589
+ function toStageTwips(d: DisplayObject, stage: DisplayObject | null): TwipsMatrix {
590
+ let m = twipsMatrix(d.placed);
591
+ for (let p = d.parent; p !== null && p !== stage; p = p.parent) {
592
+ m = concatTwips(twipsMatrix(p.placed), m);
593
+ }
594
+
595
+ return m;
596
+ }
597
+
598
+ /** The inverse of `m`, null for a singular one (Ruffle's Matrix::inverse). */
599
+ function invertTwips(m: TwipsMatrix): TwipsMatrix | null {
600
+ const det = f32(f32(m.a * m.d) - f32(m.b * m.c));
601
+ if (!(Math.abs(det) > 1.1920929e-7)) {
602
+ return null;
603
+ }
604
+
605
+ return {
606
+ a: f32(m.d / det),
607
+ b: f32(m.b / -det),
608
+ c: f32(m.c / -det),
609
+ d: f32(m.a / det),
610
+ tx: roundInt(f32(f32(f32(m.d * m.tx) - f32(m.c * m.ty)) / -det)),
611
+ ty: roundInt(f32(f32(f32(m.b * m.tx) - f32(m.a * m.ty)) / det)),
612
+ };
613
+ }
614
+
615
+ /** A point in twips through `m`, rounded to twips as Flash's matrices do. */
616
+ function transformTwips(m: TwipsMatrix, x: number, y: number): [number, number] {
617
+ return [
618
+ roundInt(f32(f32(m.a * x) + f32(m.c * y))) + m.tx,
619
+ roundInt(f32(f32(m.b * x) + f32(m.d * y))) + m.ty,
620
+ ];
621
+ }
622
+
623
+ /**
624
+ * `d`'s bounds in twips, its own (`m` null) or through matrix `m`, each
625
+ * corner rounded to twips; null for an object with nothing in it.
626
+ */
627
+ function twipsBounds(d: DisplayObject, m: TwipsMatrix | null, lines = true): Rect | null {
628
+ const r = bounds(d, lines);
629
+ if (r === null) {
630
+ return null;
631
+ }
632
+
633
+ const xMin = Math.round(r.xMin * 20);
634
+ const yMin = Math.round(r.yMin * 20);
635
+ const xMax = Math.round(r.xMax * 20);
636
+ const yMax = Math.round(r.yMax * 20);
637
+ if (m === null) {
638
+ return { xMin, yMin, xMax, yMax };
639
+ }
640
+
641
+ const corners = [
642
+ transformTwips(m, xMin, yMin),
643
+ transformTwips(m, xMin, yMax),
644
+ transformTwips(m, xMax, yMin),
645
+ transformTwips(m, xMax, yMax),
646
+ ];
647
+ const xs = corners.map((c) => c[0]);
648
+ const ys = corners.map((c) => c[1]);
649
+ return {
650
+ xMin: Math.min(...xs),
651
+ yMin: Math.min(...ys),
652
+ xMax: Math.max(...xs),
653
+ yMax: Math.max(...ys),
654
+ };
655
+ }
656
+
657
+ /** `name` among the path properties: `_root`, `_parent`, `_global` from SWF 6, `_levelN` and `_flashN`. */
658
+ function pathProperty(face: ClipNative, name: string, version: number): Value | typeof avm1.ABSENT {
659
+ if (version < 5) {
660
+ return avm1.ABSENT;
661
+ }
662
+
663
+ const key = version > 6 ? name : asciiLower(name);
664
+ const movie = face.movie;
665
+ switch (key) {
666
+ case "_root":
667
+ return movie.faceOf(movie.rootOf(face.target)) ?? undefined;
668
+ case "_parent": {
669
+ const parent = movie.levelOf(face.target) !== null ? null : face.target.parent;
670
+ return parent === null ? undefined : (movie.faceOf(parent) ?? undefined);
671
+ }
672
+ case "_global":
673
+ return version >= 6 ? movie.realm.global : avm1.ABSENT;
674
+ }
675
+
676
+ if (!key.startsWith("_level") && !key.startsWith("_flash")) {
677
+ return avm1.ABSENT;
678
+ }
679
+
680
+ const level = movie.level(levelOf(key.slice(6)));
681
+ return level === null ? undefined : (movie.faceOf(level) ?? undefined);
682
+ }
683
+
684
+ /** `_levelN`'s N as Flash reads it: a sign and the digits up to anything else, wrapping. */
685
+ function levelOf(digits: string): number {
686
+ const negative = digits.charCodeAt(0) === 0x2d;
687
+ let n = 0;
688
+ for (let i = negative ? 1 : 0; i < digits.length; i++) {
689
+ const d = digits.charCodeAt(i) - 0x30;
690
+ if (d < 0 || d > 9) {
691
+ break;
692
+ }
693
+
694
+ n = (Math.imul(n, 10) + d) | 0;
695
+ }
696
+
697
+ return negative ? -n | 0 : n;
698
+ }
699
+
700
+ /** `d`'s AVM1 side, null for one without. */
701
+ export function nativeOf(d: DisplayObject): ClipNative | null {
702
+ const native = d.avm1?.display;
703
+ return native instanceof ClipNative ? native : null;
704
+ }
705
+
706
+ /** A display object's side of its AVM1 object (runtime's DisplayNative). */
707
+ export class ClipNative implements avm1.DisplayNative {
708
+ [Symbol.for("nodejs.util.inspect.custom")](): string {
709
+ return `ClipNative(${this.target.name})`;
710
+ }
711
+
712
+ readonly type: string;
713
+ /** `_xscale` and `_yscale` as last set, given back as set while the scale is still theirs. */
714
+ xscale: number | null = null;
715
+ yscale: number | null = null;
716
+ /** A clip's own `_focusrect` from SWF 6, null for the stage's. */
717
+ focusRect: boolean | null = null;
718
+ /** Where it was as it was removed, the path its references find a clip at from then on. */
719
+ removedAt: string | null = null;
720
+ /** A clip's clip actions, from its place or the clip it duplicates; null for none. */
721
+ handlers: Handler[] | null = null;
722
+ /** The events of clip actions Flash could not read, which stop the SWF as one comes. */
723
+ corrupt = 0;
724
+ /** Whether a clip's load came, on its first frame. */
725
+ loaded = false;
726
+ /** Whether its unload came. */
727
+ unloaded = false;
728
+ /** Whether it was removed with an unload handler, and stays until the next frame. */
729
+ pending = false;
730
+ /** The SWF whose blocks its clip actions are, its place's. */
731
+ swf: Avm1Swf | null = null;
732
+ /** `_lockroot`: whether it is `_root` for the code in it, as a SWF loaded into it has it. */
733
+ lockroot = false;
734
+
735
+ constructor(
736
+ readonly movie: Movie,
737
+ readonly target: DisplayObject,
738
+ ) {
739
+ this.type = target instanceof MovieClip ? "movieclip" : "object";
740
+ }
741
+
742
+ get(name: string, version: number): Value | typeof avm1.ABSENT {
743
+ // Ruffle's stage_object.rs: the path properties, then children, then the display properties.
744
+ const magic = name.charCodeAt(0) === 0x5f;
745
+ if (magic) {
746
+ const p = pathProperty(this, name, version);
747
+ if (p !== avm1.ABSENT) {
748
+ return p;
749
+ }
750
+ }
751
+
752
+ const child = childByName(this.target, name, version > 6);
753
+ if (child !== null) {
754
+ // An object without an AVM1 object of its own, a shape's, is its parent's.
755
+ return this.movie.faceOf(child) ?? this.movie.faceOf(this.target) ?? undefined;
756
+ }
757
+
758
+ if (magic) {
759
+ const property = BY_NAME.get(asciiLower(name));
760
+ if (property !== undefined) {
761
+ return property.get(this, version);
762
+ }
763
+ }
764
+
765
+ return avm1.ABSENT;
766
+ }
767
+
768
+ set(name: string, value: Value, version: number): boolean {
769
+ if (name.charCodeAt(0) !== 0x5f) {
770
+ return false;
771
+ }
772
+
773
+ const property = BY_NAME.get(asciiLower(name));
774
+ if (property === undefined) {
775
+ return false;
776
+ }
777
+
778
+ property.set?.(this, value, version);
779
+ return true;
780
+ }
781
+
782
+ changed(name: string, value: Value, version: number): void {
783
+ this.movie.propertyChanged(this.target, name, value, version);
784
+ }
785
+
786
+ keys(out: string[]): void {
787
+ const d = this.target;
788
+ if (d instanceof MovieClip || d instanceof ButtonObject) {
789
+ const children = d.children;
790
+ for (let i = children.length - 1; i >= 0; i--) {
791
+ if (children[i].name !== "") {
792
+ out.push(children[i].name);
793
+ }
794
+ }
795
+ }
796
+ }
797
+
798
+ path(): string {
799
+ return pathOf(this.target, (d) => this.movie.levelOf(d));
800
+ }
801
+
802
+ live(): avm1.Avm1Object | null {
803
+ if (!this.movie.removed(this.target)) {
804
+ return this.movie.faceOf(this.target);
805
+ }
806
+
807
+ const path = this.removedAt;
808
+ const d = path === null ? null : this.movie.atPath(path);
809
+ return d === null || d === this.target ? null : this.movie.faceOf(d);
810
+ }
811
+
812
+ property(index: number, version: number): Value {
813
+ const p = PROPERTIES[index];
814
+ return p === undefined ? undefined : p[1].get(this, version);
815
+ }
816
+
817
+ setProperty(index: number, value: Value, version: number): boolean {
818
+ const p = PROPERTIES[index];
819
+ if (p === undefined) {
820
+ return false;
821
+ }
822
+
823
+ if (p[1].set === null) {
824
+ avm1Coerce(index, value, version);
825
+ } else {
826
+ p[1].set(this, value, version);
827
+ }
828
+
829
+ return true;
830
+ }
831
+ }
832
+
833
+ /** A read-only property's value converted all the same, as SetProperty converts it. */
834
+ function avm1Coerce(index: number, value: Value, version: number): void {
835
+ if (index <= 12 && value !== undefined && value !== null) {
836
+ avm1.toNumber(value, version);
837
+ } else if (index === 20 || index === 21) {
838
+ avm1.toNumber(value, version);
839
+ }
840
+ }
841
+
842
+ /** The display object of `self`, a clip's AVM1 object, where it is one's. */
843
+ function clipOf(self: Value): MovieClip | null {
844
+ if (!(self instanceof avm1.Avm1Object) || self.display === null) {
845
+ return null;
846
+ }
847
+
848
+ const live = self.display.live();
849
+ const d = live?.display?.target;
850
+ return d instanceof MovieClip ? d : null;
851
+ }
852
+
853
+ /** The bounds of `d` in `target`'s space, or the invalid ones of nothing, as an Object of xMin, xMax, yMin, yMax. */
854
+ function boundsObject(
855
+ movie: Movie,
856
+ d: DisplayObject,
857
+ target: DisplayObject,
858
+ lines: boolean,
859
+ version: number,
860
+ ): avm1.Avm1Object {
861
+ let r: Rect | null;
862
+ if (target === d) {
863
+ r = twipsBounds(d, null, lines);
864
+ } else {
865
+ const stage = movie.root.parent;
866
+ const up = toStageTwips(d, stage);
867
+ const down = invertTwips(toStageTwips(target, stage));
868
+ r = twipsBounds(d, down ? concatTwips(down, up) : up, lines);
869
+ }
870
+
871
+ if (!movie.newInvalidBounds && (version >= 8 || movie.version >= 8)) {
872
+ movie.newInvalidBounds = true;
873
+ }
874
+
875
+ // Twips of nothing: one more in another clip's space once switched, as Flash.
876
+ const none = target !== d && movie.newInvalidBounds ? 0x8000000 : 0x7ffffff;
877
+ const o = movie.realm.newObject(version);
878
+ avm1.set(o, "xMin", (r?.xMin ?? none) / 20, version);
879
+ avm1.set(o, "xMax", (r?.xMax ?? none) / 20, version);
880
+ avm1.set(o, "yMin", (r?.yMin ?? none) / 20, version);
881
+ avm1.set(o, "yMax", (r?.yMax ?? none) / 20, version);
882
+ return o;
883
+ }
884
+
885
+ /**
886
+ * A display object's `blendMode` on its class's prototype, of `flags`: its
887
+ * mode's name; one set that is none leaves it as it was (the corpus's
888
+ * movieclip_blend_mode_property, adl for a button's).
889
+ */
890
+ export function blendModeProperty(
891
+ realm: avm1.Realm,
892
+ proto: avm1.Avm1Object,
893
+ flags: number,
894
+ targetOf: (self: avm1.Avm1Object) => DisplayObject | null,
895
+ ): void {
896
+ const p = proto.add("blendMode", undefined, flags);
897
+ p.get = realm.method((self) => targetOf(self)?.blendMode);
898
+ p.set = realm.method((self, args) => {
899
+ const d = targetOf(self);
900
+ const mode = blendModeOf(args[0]);
901
+ if (d !== null && mode !== null) {
902
+ d.touch();
903
+ d.setBlendMode(mode);
904
+ }
905
+
906
+ return undefined;
907
+ });
908
+ }
909
+
910
+ /**
911
+ * A display object's `cacheAsBitmap` on its class's prototype, of `flags`:
912
+ * whether Flash draws it from a bitmap it keeps, as it does any filtered
913
+ * one whatever was set (as AS3's reads it); one set is what the script asks
914
+ * for, as Ruffle has it.
915
+ */
916
+ export function cacheAsBitmapProperty(
917
+ realm: avm1.Realm,
918
+ proto: avm1.Avm1Object,
919
+ flags: number,
920
+ targetOf: (self: avm1.Avm1Object) => DisplayObject | null,
921
+ ): void {
922
+ const p = proto.add("cacheAsBitmap", undefined, flags);
923
+ p.get = realm.method((self) => {
924
+ const d = targetOf(self);
925
+ return d === null ? undefined : cached(d);
926
+ });
927
+ p.set = realm.method((self, args, version) => {
928
+ targetOf(self)?.setCachedAsBitmap(avm1.toBoolean(args[0], version));
929
+ return undefined;
930
+ });
931
+ }
932
+
933
+ /** The display object a method's argument names from `start`: a clip's AVM1 object, or a path. */
934
+ export function targetOf(
935
+ movie: Movie,
936
+ start: DisplayObject,
937
+ value: Value,
938
+ version: number,
939
+ ): DisplayObject | null {
940
+ if (value instanceof avm1.Avm1Object && value.display !== null) {
941
+ return value.display.target as DisplayObject;
942
+ }
943
+
944
+ const path = avm1.stringOf(value, version);
945
+ const from = movie.faceOf(start);
946
+ const cx = movie.realm.current;
947
+ if (path === "" || from === null || cx === null) {
948
+ return null;
949
+ }
950
+
951
+ const object = avm1.targetPath(cx, from, path, true, false, version);
952
+ const d = object?.display?.target;
953
+ return d === undefined ? null : (d as DisplayObject);
954
+ }
955
+
956
+ /** A point's own stored x and y, numbers both, as localToGlobal reads them, null for anything else. */
957
+ function pointOf(value: Value): [avm1.Avm1Object, number, number] | null {
958
+ if (!(value instanceof avm1.Avm1Object)) {
959
+ return null;
960
+ }
961
+
962
+ const x = value.exact("x");
963
+ const y = value.exact("y");
964
+ if (
965
+ x === undefined ||
966
+ y === undefined ||
967
+ typeof x.value !== "number" ||
968
+ typeof y.value !== "number"
969
+ ) {
970
+ return null;
971
+ }
972
+
973
+ return [value, x.value, y.value];
974
+ }
975
+
976
+ /** MovieClip: its constructor and its prototype's methods, as `_global.MovieClip`. */
977
+ export function movieClipClass(movie: Movie): {
978
+ constr: avm1.Avm1Function;
979
+ proto: avm1.Avm1Object;
980
+ } {
981
+ const realm = movie.realm;
982
+ const proto = new avm1.Avm1Object(realm.objectProto);
983
+ const constr = realm.classOf(
984
+ proto,
985
+ (self) => self,
986
+ () => undefined,
987
+ );
988
+
989
+ const method = (
990
+ name: string,
991
+ flags: number,
992
+ fn: (clip: MovieClip, args: Value[], version: number) => Value,
993
+ ) => {
994
+ proto.define(
995
+ name,
996
+ realm.method((self, args, version) => {
997
+ const clip = clipOf(self);
998
+ return clip === null ? undefined : fn(clip, args, version);
999
+ }),
1000
+ avm1.DONT_ENUM | avm1.DONT_DELETE | flags,
1001
+ );
1002
+ };
1003
+
1004
+ proto.define("useHandCursor", true, avm1.DONT_ENUM);
1005
+ proto.define("enabled", true, avm1.DONT_ENUM);
1006
+ drawingMethods(method, (clip) => movie.swfOf(clip).version);
1007
+ method("attachMovie", 0, (clip, args, version) => {
1008
+ if (args.length < 3) {
1009
+ return undefined;
1010
+ }
1011
+
1012
+ const name = avm1.stringOf(args[0], version);
1013
+ const instance = avm1.stringOf(args[1], version);
1014
+ const depth = avm1.toNumber(args[2], version) | 0;
1015
+ const init = args.length > 3 && args[3] instanceof avm1.Avm1Object ? args[3] : null;
1016
+ const child = movie.attachMovie(clip, name, instance, depth, init);
1017
+ // A SWF 5 gets nothing back, as from duplicateMovieClip (adl).
1018
+ return version < 6 || child === null ? undefined : (movie.faceOf(child) ?? undefined);
1019
+ });
1020
+ method("swapDepths", 0, (clip, args, version) => {
1021
+ swapDepths(movie, clip, args[0], version);
1022
+ return undefined;
1023
+ });
1024
+ method("localToGlobal", 0, (clip, args, version) => {
1025
+ const p = pointOf(args[0]);
1026
+ if (p !== null) {
1027
+ const m = toStageTwips(clip, movie.root.parent);
1028
+ const [x, y] = transformTwips(m, twips(p[1]), twips(p[2]));
1029
+ avm1.set(p[0], "x", x / 20, version);
1030
+ avm1.set(p[0], "y", y / 20, version);
1031
+ }
1032
+
1033
+ return undefined;
1034
+ });
1035
+ method("globalToLocal", 0, (clip, args, version) => {
1036
+ const p = pointOf(args[0]);
1037
+ if (p !== null) {
1038
+ const m = invertTwips(toStageTwips(clip, movie.root.parent));
1039
+ const [x, y] = m ? transformTwips(m, twips(p[1]), twips(p[2])) : [twips(p[1]), twips(p[2])];
1040
+ avm1.set(p[0], "x", x / 20, version);
1041
+ avm1.set(p[0], "y", y / 20, version);
1042
+ }
1043
+
1044
+ return undefined;
1045
+ });
1046
+ method("hitTest", 0, (clip, args, version) => {
1047
+ if (args.length > 1) {
1048
+ const x = avm1.toNumber(args[0], version);
1049
+ const y = avm1.toNumber(args[1], version);
1050
+ const shape = args.length > 2 && avm1.toBoolean(args[2], version);
1051
+ if (Number.isFinite(x) && Number.isFinite(y)) {
1052
+ // In the root's space, which may have moved; without the shape, in the
1053
+ // box around the clip on the stage (Ruffle's hit_test_bounds).
1054
+ const stage = movie.root.parent;
1055
+ const [sx, sy] = apply(toStage(movie.root, stage), x, y);
1056
+ if (shape) {
1057
+ return hitsPoint(clip, sx, sy, true, stage);
1058
+ }
1059
+
1060
+ const r = bounds(clip, true);
1061
+ return r !== null && contains(transformRect(r, toStage(clip, stage)), sx, sy);
1062
+ }
1063
+
1064
+ return false;
1065
+ }
1066
+
1067
+ if (args.length === 1) {
1068
+ const other = targetOf(movie, clip, args[0], version);
1069
+ return other !== null && hitsObject(clip, other, movie.root.parent);
1070
+ }
1071
+
1072
+ return false;
1073
+ });
1074
+ // A snapshot of this clip by whatever TextSnapshot is on _global now.
1075
+ method("getTextSnapshot", 0, (clip, _, version) =>
1076
+ realm.construct(
1077
+ avm1.get(realm.global, "TextSnapshot", version),
1078
+ [movie.faceOf(clip) ?? undefined],
1079
+ version,
1080
+ ),
1081
+ );
1082
+ method("getBounds", 0, (clip, args, version) => {
1083
+ const target = args.length > 0 ? targetOf(movie, clip, args[0], version) : clip;
1084
+ return target === null ? undefined : boundsObject(movie, clip, target, true, version);
1085
+ });
1086
+ // A sprite's are its tags', a SWF's root's the SWF's.
1087
+ const bytes = (clip: MovieClip) => {
1088
+ const swf = movie.swfOf(clip);
1089
+ return clip === swf.root ? swf.length : (clip.timeline.length ?? 0);
1090
+ };
1091
+ method("getBytesTotal", 0, bytes);
1092
+ // A load in error has -1 bytes in all, none loaded (the corpus's movieclip_state_values).
1093
+ method("getBytesLoaded", 0, (clip) => Math.max(0, bytes(clip)));
1094
+ // The root is level 0's, at depth 0 (the corpus's movieclip_get_instance_at_depth).
1095
+ method("getDepth", avm1.READ_ONLY | avm1.VERSION_6, (clip) =>
1096
+ clip.depth !== null ? clip.depth - DEPTH_BIAS : clip === movie.root ? -DEPTH_BIAS : undefined,
1097
+ );
1098
+ // The SWF at the URL in place of what the clip shows, the clip's own variables sent where
1099
+ // a method is "GET" or "POST", in any case (Ruffle's load_movie).
1100
+ method("loadMovie", 0, (clip, args, version) => {
1101
+ const face = clip.avm1;
1102
+ if (face === null) {
1103
+ return undefined;
1104
+ }
1105
+
1106
+ const url = avm1.stringOf(args[0], version);
1107
+ const method = args.length > 1 ? avm1.stringOf(args[1], version).toUpperCase() : "";
1108
+ const form: avm1.UrlForm | null =
1109
+ method === "GET" || method === "POST" ? { method, vars: formVars(face, version) } : null;
1110
+ movie.loadMovie(clip, url, form);
1111
+ return undefined;
1112
+ });
1113
+ method("unloadMovie", 0, (clip) => {
1114
+ movie.unloadMovie(clip);
1115
+ return undefined;
1116
+ });
1117
+ method("play", 0, (clip) => {
1118
+ clip.playing = true;
1119
+ return undefined;
1120
+ });
1121
+ // As GetURL, from the code that called it, whose variables a method sends.
1122
+ method("getURL", 0, (_, args, version) => {
1123
+ const cx = movie.realm.current;
1124
+ if (cx !== null) {
1125
+ avm1.getUrlMethod(cx, args, version);
1126
+ }
1127
+
1128
+ return undefined;
1129
+ });
1130
+ // The clip's own variables sent where a method is "GET" or "POST", in any case.
1131
+ method("loadVariables", 0, (clip, args, version) => {
1132
+ const face = clip.avm1;
1133
+ if (args.length === 0 || face === null) {
1134
+ return undefined;
1135
+ }
1136
+
1137
+ const method = args.length > 1 ? avm1.stringOf(args[1], version).toUpperCase() : "";
1138
+ const form: avm1.UrlForm | null =
1139
+ method === "GET" || method === "POST" ? { method, vars: formVars(face, version) } : null;
1140
+ movie.loadVariables(clip, avm1.stringOf(args[0], version), form);
1141
+ return undefined;
1142
+ });
1143
+ method("stop", 0, (clip) => {
1144
+ clip.playing = false;
1145
+ return undefined;
1146
+ });
1147
+ method("nextFrame", 0, (clip) => {
1148
+ if (clip.currentFrame < clip.totalFrames) {
1149
+ movie.timeline(clip).goto(clip.currentFrame + 1, false);
1150
+ }
1151
+
1152
+ return undefined;
1153
+ });
1154
+ method("prevFrame", 0, (clip) => {
1155
+ if (clip.currentFrame > 1) {
1156
+ movie.timeline(clip).goto(clip.currentFrame - 1, false);
1157
+ }
1158
+
1159
+ return undefined;
1160
+ });
1161
+ // Whether the clip is `_root` for the code in it; any value set as a boolean (the corpus's
1162
+ // movieclip_lockroot).
1163
+ const lockroot = proto.add("_lockroot", undefined, avm1.DONT_ENUM | avm1.DONT_DELETE);
1164
+ lockroot.get = realm.method((self) => {
1165
+ const clip = clipOf(self);
1166
+ const native = clip?.avm1?.display;
1167
+ return native instanceof ClipNative ? native.lockroot : undefined;
1168
+ });
1169
+ lockroot.set = realm.method((self, args, version) => {
1170
+ const clip = clipOf(self);
1171
+ const native = clip?.avm1?.display;
1172
+ if (native instanceof ClipNative) {
1173
+ native.lockroot = avm1.toBoolean(args[0], version);
1174
+ }
1175
+
1176
+ return undefined;
1177
+ });
1178
+ // A new Transform of it each read; one given takes the matrix and colour transform of its clip.
1179
+ const transform = proto.add("transform", undefined, avm1.DONT_ENUM | avm1.VERSION_8);
1180
+ transform.get = realm.method((self, _, version) => {
1181
+ const clip = clipOf(self);
1182
+ const face = clip === null ? null : movie.faceOf(clip);
1183
+ return face === null ? undefined : transformOf(movie, face, version);
1184
+ });
1185
+ transform.set = realm.method((self, args) => {
1186
+ const clip = clipOf(self);
1187
+ if (clip !== null) {
1188
+ assignTransform(clip, args[0]);
1189
+ }
1190
+
1191
+ return undefined;
1192
+ });
1193
+ filtersProperty(
1194
+ realm,
1195
+ proto,
1196
+ avm1.DONT_DELETE | avm1.DONT_ENUM | avm1.VERSION_8,
1197
+ clipOf,
1198
+ () => movie.filterFaces,
1199
+ );
1200
+ blendModeProperty(realm, proto, avm1.DONT_DELETE | avm1.DONT_ENUM | avm1.VERSION_8, clipOf);
1201
+ cacheAsBitmapProperty(realm, proto, avm1.DONT_DELETE | avm1.DONT_ENUM | avm1.VERSION_8, clipOf);
1202
+ // A BitmapData, disposed or not, at a depth; anything else does nothing. pixelSnapping is
1203
+ // not read (Ruffle).
1204
+ method("attachBitmap", avm1.VERSION_8, (clip, args, version) => {
1205
+ const store = storeOf(args[0]);
1206
+ if (store !== null && args.length > 1) {
1207
+ const depth = avm1.toNumber(args[1], version) | 0;
1208
+ movie.attachBitmap(clip, store, depth, args.length > 3 && avm1.toBoolean(args[3], version));
1209
+ }
1210
+
1211
+ return undefined;
1212
+ });
1213
+ method("startDrag", 0, (clip, args, version) => {
1214
+ const lockCenter = args.length > 0 && avm1.toBoolean(args[0], version);
1215
+ const bounds = args.length > 4 ? args.slice(1, 5).map((a) => avm1.toNumber(a, version)) : null;
1216
+ movie.startDrag(clip, lockCenter, bounds);
1217
+ return undefined;
1218
+ });
1219
+ method("stopDrag", 0, () => {
1220
+ movie.stopDrag();
1221
+ return undefined;
1222
+ });
1223
+ method("setMask", avm1.VERSION_6, (clip, args, version) => {
1224
+ if (args.length === 0) {
1225
+ return undefined;
1226
+ }
1227
+
1228
+ const value = args[0];
1229
+ const mask = value == null ? null : movie.resolve(value, version);
1230
+ if (value != null && mask === null) {
1231
+ return false;
1232
+ }
1233
+
1234
+ clip.setMask(mask);
1235
+ return true;
1236
+ });
1237
+ method("gotoAndPlay", 0, (clip, args, version) => {
1238
+ const cx = realm.current;
1239
+ if (cx !== null) {
1240
+ avm1.goto(cx, clip, args[0], true, 0, version);
1241
+ }
1242
+
1243
+ return undefined;
1244
+ });
1245
+ method("gotoAndStop", 0, (clip, args, version) => {
1246
+ const cx = realm.current;
1247
+ if (cx !== null) {
1248
+ avm1.goto(cx, clip, args[0], false, 0, version);
1249
+ }
1250
+
1251
+ return undefined;
1252
+ });
1253
+ method("duplicateMovieClip", 0, (clip, args, version) => {
1254
+ if (args.length === 0) {
1255
+ return undefined;
1256
+ }
1257
+
1258
+ // Any init object, as Flash takes it, an object made of a primitive (Ruffle: not version-gated).
1259
+ const name = avm1.stringOf(args[0], version);
1260
+ const depth = args.length > 1 ? avm1.toNumber(args[1], version) | 0 : 0;
1261
+ const init = args.length > 2 ? realm.box(args[2], version) : null;
1262
+ const child = movie.duplicate(clip, name, (depth + DEPTH_BIAS) | 0, init);
1263
+ // A SWF 5 gets nothing back.
1264
+ return version < 6 || child === null ? undefined : (movie.faceOf(child) ?? undefined);
1265
+ });
1266
+ proto.define(
1267
+ "removeMovieClip",
1268
+ realm.method((self) => {
1269
+ // Any display object's, as removeMovieClip.call(field) takes a text field.
1270
+ const d = self instanceof avm1.Avm1Object ? self.display?.live()?.display?.target : undefined;
1271
+ if (d !== undefined) {
1272
+ movie.remove(d as DisplayObject);
1273
+ }
1274
+
1275
+ return undefined;
1276
+ }),
1277
+ avm1.DONT_ENUM | avm1.DONT_DELETE,
1278
+ );
1279
+ method("getNextHighestDepth", avm1.VERSION_7, (clip) => {
1280
+ let highest = -1;
1281
+ for (const depth of clip.depths.keys()) {
1282
+ highest = Math.max(highest, depth);
1283
+ }
1284
+
1285
+ return Math.max(0, highest - (DEPTH_BIAS - 1));
1286
+ });
1287
+ method("getInstanceAtDepth", avm1.VERSION_7, (clip, args, version) => {
1288
+ if (args.length === 0) {
1289
+ return undefined;
1290
+ }
1291
+
1292
+ const child = clip.depths.get((avm1.toNumber(args[0], version) | 0) + DEPTH_BIAS);
1293
+ return child === undefined
1294
+ ? undefined
1295
+ : (movie.faceOf(child) ?? movie.faceOf(clip) ?? undefined);
1296
+ });
1297
+ method("getSWFVersion", 0, (clip) => {
1298
+ const version = movie.swfOf(clip).version;
1299
+ return version > 0 ? version : -1;
1300
+ });
1301
+ method("getRect", avm1.VERSION_8, (clip, args, version) => {
1302
+ const target = args.length > 0 ? targetOf(movie, clip, args[0], version) : clip;
1303
+ return target === null ? undefined : boundsObject(movie, clip, target, false, version);
1304
+ });
1305
+ method("createEmptyMovieClip", avm1.VERSION_6, (clip, args, version) => {
1306
+ if (args.length < 2) {
1307
+ return undefined;
1308
+ }
1309
+
1310
+ const instance = avm1.stringOf(args[0], version);
1311
+ const depth = avm1.toNumber(args[1], version) | 0;
1312
+ return movie.faceOf(movie.createEmptyMovieClip(clip, instance, depth)) ?? undefined;
1313
+ });
1314
+ // Its place in whole pixels; a SWF 8 gets the field back, an earlier one nothing. The
1315
+ // depth is cast as Rust casts it, saturating (Ruffle).
1316
+ method("createTextField", avm1.VERSION_6, (clip, args, version) => {
1317
+ const instance = avm1.stringOf(args[0], version);
1318
+ const d = avm1.toNumber(args[1], version);
1319
+ const depth = Number.isNaN(d) ? 0 : Math.trunc(Math.max(-0x80000000, Math.min(0x7fffffff, d)));
1320
+ const [x, y, width, height] = args.slice(2, 6).map((a) => avm1.toNumber(a, version) | 0);
1321
+ const field = movie.createTextField(clip, instance, depth, [x, y, width, height]);
1322
+ return version < 8 ? undefined : (movie.faceOf(field) ?? undefined);
1323
+ });
1324
+ return { constr, proto };
1325
+ }
1326
+
1327
+ /** swapDepths: to a depth, or to where a sibling is, swapping with what is there. */
1328
+ function swapDepths(movie: Movie, clip: MovieClip, arg: Value, version: number): void {
1329
+ const parent = clip === movie.root ? null : clip.parent;
1330
+ if (movie.removed(clip) || !(parent instanceof MovieClip)) {
1331
+ return;
1332
+ }
1333
+
1334
+ let depth: number | null = null;
1335
+ if (typeof arg === "number") {
1336
+ depth = ((avm1.toNumber(arg, version) | 0) + DEPTH_BIAS) | 0;
1337
+ } else {
1338
+ const target = targetOf(movie, clip, arg, version);
1339
+ if (target !== null && target.parent === parent && !movie.removed(target)) {
1340
+ depth = target.depth;
1341
+ }
1342
+ }
1343
+
1344
+ if (depth === null || depth < 0 || depth > 2130706428 || depth === clip.depth) {
1345
+ return;
1346
+ }
1347
+
1348
+ const other = parent.depths.get(depth);
1349
+ const from = clip.depth as number;
1350
+ if (other !== undefined) {
1351
+ parent.swapChildren(clip, other);
1352
+ parent.depths.set(from, other);
1353
+ other.depth = from;
1354
+ // The clip swapped away is the script's too: the timeline no longer
1355
+ // moves it, nor makes it anew on a rewind (`avm1-rewind-swapped-other`).
1356
+ other.touch();
1357
+ } else {
1358
+ parent.removeChild(clip);
1359
+ parent.placeAtDepth(clip, depth);
1360
+ }
1361
+
1362
+ parent.depths.set(depth, clip);
1363
+ clip.depth = depth;
1364
+ clip.touch();
1365
+ }