@swf2es/player 0.1.0 → 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 (277) hide show
  1. package/package.json +7 -7
  2. package/dist/audio.d.ts +0 -22
  3. package/dist/audio.d.ts.map +0 -1
  4. package/dist/audio.js +0 -106
  5. package/dist/audio.js.map +0 -1
  6. package/dist/bitmap-filters.d.ts +0 -29
  7. package/dist/bitmap-filters.d.ts.map +0 -1
  8. package/dist/bitmap-filters.js +0 -906
  9. package/dist/bitmap-filters.js.map +0 -1
  10. package/dist/bitmap-ops.d.ts +0 -113
  11. package/dist/bitmap-ops.d.ts.map +0 -1
  12. package/dist/bitmap-ops.js +0 -725
  13. package/dist/bitmap-ops.js.map +0 -1
  14. package/dist/bitmap.d.ts +0 -98
  15. package/dist/bitmap.d.ts.map +0 -1
  16. package/dist/bitmap.js +0 -314
  17. package/dist/bitmap.js.map +0 -1
  18. package/dist/bounds.d.ts +0 -26
  19. package/dist/bounds.d.ts.map +0 -1
  20. package/dist/bounds.js +0 -300
  21. package/dist/bounds.js.map +0 -1
  22. package/dist/color.d.ts +0 -7
  23. package/dist/color.d.ts.map +0 -1
  24. package/dist/color.js +0 -42
  25. package/dist/color.js.map +0 -1
  26. package/dist/display.d.ts +0 -425
  27. package/dist/display.d.ts.map +0 -1
  28. package/dist/display.js +0 -1274
  29. package/dist/display.js.map +0 -1
  30. package/dist/drawing.d.ts +0 -52
  31. package/dist/drawing.d.ts.map +0 -1
  32. package/dist/drawing.js +0 -204
  33. package/dist/drawing.js.map +0 -1
  34. package/dist/filters.d.ts +0 -54
  35. package/dist/filters.d.ts.map +0 -1
  36. package/dist/filters.js +0 -155
  37. package/dist/filters.js.map +0 -1
  38. package/dist/fonts.d.ts +0 -23
  39. package/dist/fonts.d.ts.map +0 -1
  40. package/dist/fonts.js +0 -91
  41. package/dist/fonts.js.map +0 -1
  42. package/dist/geometry.d.ts +0 -21
  43. package/dist/geometry.d.ts.map +0 -1
  44. package/dist/geometry.js +0 -76
  45. package/dist/geometry.js.map +0 -1
  46. package/dist/gradients.d.ts +0 -29
  47. package/dist/gradients.d.ts.map +0 -1
  48. package/dist/gradients.js +0 -116
  49. package/dist/gradients.js.map +0 -1
  50. package/dist/images.d.ts +0 -22
  51. package/dist/images.d.ts.map +0 -1
  52. package/dist/images.js +0 -147
  53. package/dist/images.js.map +0 -1
  54. package/dist/input.d.ts +0 -79
  55. package/dist/input.d.ts.map +0 -1
  56. package/dist/input.js +0 -366
  57. package/dist/input.js.map +0 -1
  58. package/dist/keyboard.d.ts +0 -97
  59. package/dist/keyboard.d.ts.map +0 -1
  60. package/dist/keyboard.js +0 -583
  61. package/dist/keyboard.js.map +0 -1
  62. package/dist/morph.d.ts +0 -17
  63. package/dist/morph.d.ts.map +0 -1
  64. package/dist/morph.js +0 -218
  65. package/dist/morph.js.map +0 -1
  66. package/dist/pixi-blend.d.ts +0 -7
  67. package/dist/pixi-blend.d.ts.map +0 -1
  68. package/dist/pixi-blend.js +0 -253
  69. package/dist/pixi-blend.js.map +0 -1
  70. package/dist/pixi-color.d.ts +0 -54
  71. package/dist/pixi-color.d.ts.map +0 -1
  72. package/dist/pixi-color.js +0 -336
  73. package/dist/pixi-color.js.map +0 -1
  74. package/dist/pixi-filters.d.ts +0 -40
  75. package/dist/pixi-filters.d.ts.map +0 -1
  76. package/dist/pixi-filters.js +0 -953
  77. package/dist/pixi-filters.js.map +0 -1
  78. package/dist/pixi-resolve.d.ts +0 -4
  79. package/dist/pixi-resolve.d.ts.map +0 -1
  80. package/dist/pixi-resolve.js +0 -76
  81. package/dist/pixi-resolve.js.map +0 -1
  82. package/dist/pixi.d.ts +0 -219
  83. package/dist/pixi.d.ts.map +0 -1
  84. package/dist/pixi.js +0 -2169
  85. package/dist/pixi.js.map +0 -1
  86. package/dist/playerglobal/flash/filters/filters.d.ts +0 -26
  87. package/dist/playerglobal/flash/filters/filters.d.ts.map +0 -1
  88. package/dist/playerglobal/flash/filters/filters.js +0 -287
  89. package/dist/playerglobal/flash/filters/filters.js.map +0 -1
  90. package/dist/playerglobal/flash/system/FSCommand.d.ts +0 -4
  91. package/dist/playerglobal/flash/system/FSCommand.d.ts.map +0 -1
  92. package/dist/playerglobal/flash/system/FSCommand.js +0 -18
  93. package/dist/playerglobal/flash/system/FSCommand.js.map +0 -1
  94. package/dist/playerglobal/natives.d.ts +0 -10
  95. package/dist/playerglobal/natives.d.ts.map +0 -1
  96. package/dist/playerglobal/natives.js +0 -53
  97. package/dist/playerglobal/natives.js.map +0 -1
  98. package/dist/png.d.ts +0 -4
  99. package/dist/png.d.ts.map +0 -1
  100. package/dist/png.js +0 -140
  101. package/dist/png.js.map +0 -1
  102. package/dist/render/art.d.ts +0 -148
  103. package/dist/render/art.d.ts.map +0 -1
  104. package/dist/render/art.js +0 -575
  105. package/dist/render/art.js.map +0 -1
  106. package/dist/render/batchers.d.ts +0 -23
  107. package/dist/render/batchers.d.ts.map +0 -1
  108. package/dist/render/batchers.js +0 -52
  109. package/dist/render/batchers.js.map +0 -1
  110. package/dist/render/bitmaps.d.ts +0 -117
  111. package/dist/render/bitmaps.d.ts.map +0 -1
  112. package/dist/render/bitmaps.js +0 -422
  113. package/dist/render/bitmaps.js.map +0 -1
  114. package/dist/render/blend.d.ts +0 -37
  115. package/dist/render/blend.d.ts.map +0 -1
  116. package/dist/render/blend.js +0 -195
  117. package/dist/render/blend.js.map +0 -1
  118. package/dist/render/color.d.ts +0 -111
  119. package/dist/render/color.d.ts.map +0 -1
  120. package/dist/render/color.js +0 -533
  121. package/dist/render/color.js.map +0 -1
  122. package/dist/render/compositing.d.ts +0 -77
  123. package/dist/render/compositing.d.ts.map +0 -1
  124. package/dist/render/compositing.js +0 -188
  125. package/dist/render/compositing.js.map +0 -1
  126. package/dist/render/filters.d.ts +0 -98
  127. package/dist/render/filters.d.ts.map +0 -1
  128. package/dist/render/filters.js +0 -1326
  129. package/dist/render/filters.js.map +0 -1
  130. package/dist/render/hooks.d.ts +0 -4
  131. package/dist/render/hooks.d.ts.map +0 -1
  132. package/dist/render/hooks.js +0 -48
  133. package/dist/render/hooks.js.map +0 -1
  134. package/dist/render/node.d.ts +0 -139
  135. package/dist/render/node.d.ts.map +0 -1
  136. package/dist/render/node.js +0 -59
  137. package/dist/render/node.js.map +0 -1
  138. package/dist/render/patches.d.ts +0 -54
  139. package/dist/render/patches.d.ts.map +0 -1
  140. package/dist/render/patches.js +0 -154
  141. package/dist/render/patches.js.map +0 -1
  142. package/dist/render/planes.d.ts +0 -74
  143. package/dist/render/planes.d.ts.map +0 -1
  144. package/dist/render/planes.js +0 -267
  145. package/dist/render/planes.js.map +0 -1
  146. package/dist/render/pointer.d.ts +0 -5
  147. package/dist/render/pointer.d.ts.map +0 -1
  148. package/dist/render/pointer.js +0 -279
  149. package/dist/render/pointer.js.map +0 -1
  150. package/dist/render/pools.d.ts +0 -122
  151. package/dist/render/pools.d.ts.map +0 -1
  152. package/dist/render/pools.js +0 -238
  153. package/dist/render/pools.js.map +0 -1
  154. package/dist/render/resolve.d.ts +0 -4
  155. package/dist/render/resolve.d.ts.map +0 -1
  156. package/dist/render/resolve.js +0 -76
  157. package/dist/render/resolve.js.map +0 -1
  158. package/dist/render/saffron.d.ts +0 -135
  159. package/dist/render/saffron.d.ts.map +0 -1
  160. package/dist/render/saffron.js +0 -725
  161. package/dist/render/saffron.js.map +0 -1
  162. package/dist/render/settle.d.ts +0 -60
  163. package/dist/render/settle.d.ts.map +0 -1
  164. package/dist/render/settle.js +0 -128
  165. package/dist/render/settle.js.map +0 -1
  166. package/dist/render/shared.d.ts +0 -25
  167. package/dist/render/shared.d.ts.map +0 -1
  168. package/dist/render/shared.js +0 -33
  169. package/dist/render/shared.js.map +0 -1
  170. package/dist/render/snapshot.d.ts +0 -21
  171. package/dist/render/snapshot.d.ts.map +0 -1
  172. package/dist/render/snapshot.js +0 -91
  173. package/dist/render/snapshot.js.map +0 -1
  174. package/dist/render/spares.d.ts +0 -56
  175. package/dist/render/spares.d.ts.map +0 -1
  176. package/dist/render/spares.js +0 -160
  177. package/dist/render/spares.js.map +0 -1
  178. package/dist/render/strokes.d.ts +0 -107
  179. package/dist/render/strokes.d.ts.map +0 -1
  180. package/dist/render/strokes.js +0 -448
  181. package/dist/render/strokes.js.map +0 -1
  182. package/dist/render/table.d.ts +0 -213
  183. package/dist/render/table.d.ts.map +0 -1
  184. package/dist/render/table.js +0 -795
  185. package/dist/render/table.js.map +0 -1
  186. package/dist/render/tessellate.d.ts +0 -89
  187. package/dist/render/tessellate.d.ts.map +0 -1
  188. package/dist/render/tessellate.js +0 -386
  189. package/dist/render/tessellate.js.map +0 -1
  190. package/dist/render/text.d.ts +0 -40
  191. package/dist/render/text.d.ts.map +0 -1
  192. package/dist/render/text.js +0 -309
  193. package/dist/render/text.js.map +0 -1
  194. package/dist/render/three.d.ts +0 -83
  195. package/dist/render/three.d.ts.map +0 -1
  196. package/dist/render/three.js +0 -511
  197. package/dist/render/three.js.map +0 -1
  198. package/dist/render/triangles.d.ts +0 -28
  199. package/dist/render/triangles.d.ts.map +0 -1
  200. package/dist/render/triangles.js +0 -189
  201. package/dist/render/triangles.js.map +0 -1
  202. package/dist/render/view.d.ts +0 -238
  203. package/dist/render/view.d.ts.map +0 -1
  204. package/dist/render/view.js +0 -1173
  205. package/dist/render/view.js.map +0 -1
  206. package/dist/render/worker/bitmaps.d.ts +0 -43
  207. package/dist/render/worker/bitmaps.d.ts.map +0 -1
  208. package/dist/render/worker/bitmaps.js +0 -151
  209. package/dist/render/worker/bitmaps.js.map +0 -1
  210. package/dist/render/worker/drawing.d.ts +0 -21
  211. package/dist/render/worker/drawing.d.ts.map +0 -1
  212. package/dist/render/worker/drawing.js +0 -356
  213. package/dist/render/worker/drawing.js.map +0 -1
  214. package/dist/render/worker/filters.d.ts +0 -7
  215. package/dist/render/worker/filters.d.ts.map +0 -1
  216. package/dist/render/worker/filters.js +0 -125
  217. package/dist/render/worker/filters.js.map +0 -1
  218. package/dist/render/worker/frames.d.ts +0 -32
  219. package/dist/render/worker/frames.d.ts.map +0 -1
  220. package/dist/render/worker/frames.js +0 -124
  221. package/dist/render/worker/frames.js.map +0 -1
  222. package/dist/render/worker/host.d.ts +0 -60
  223. package/dist/render/worker/host.d.ts.map +0 -1
  224. package/dist/render/worker/host.js +0 -297
  225. package/dist/render/worker/host.js.map +0 -1
  226. package/dist/render/worker/libraries.d.ts +0 -36
  227. package/dist/render/worker/libraries.d.ts.map +0 -1
  228. package/dist/render/worker/libraries.js +0 -153
  229. package/dist/render/worker/libraries.js.map +0 -1
  230. package/dist/render/worker/presentation.d.ts +0 -18
  231. package/dist/render/worker/presentation.d.ts.map +0 -1
  232. package/dist/render/worker/presentation.js +0 -47
  233. package/dist/render/worker/presentation.js.map +0 -1
  234. package/dist/render/worker/renderer.d.ts +0 -4
  235. package/dist/render/worker/renderer.d.ts.map +0 -1
  236. package/dist/render/worker/renderer.js +0 -21
  237. package/dist/render/worker/renderer.js.map +0 -1
  238. package/dist/render/worker/scene.d.ts +0 -32
  239. package/dist/render/worker/scene.d.ts.map +0 -1
  240. package/dist/render/worker/scene.js +0 -611
  241. package/dist/render/worker/scene.js.map +0 -1
  242. package/dist/render/worker/text.d.ts +0 -47
  243. package/dist/render/worker/text.d.ts.map +0 -1
  244. package/dist/render/worker/text.js +0 -261
  245. package/dist/render/worker/text.js.map +0 -1
  246. package/dist/render/worker/thread.d.ts +0 -23
  247. package/dist/render/worker/thread.d.ts.map +0 -1
  248. package/dist/render/worker/thread.js +0 -107
  249. package/dist/render/worker/thread.js.map +0 -1
  250. package/dist/render/worker/values.d.ts +0 -18
  251. package/dist/render/worker/values.d.ts.map +0 -1
  252. package/dist/render/worker/values.js +0 -64
  253. package/dist/render/worker/values.js.map +0 -1
  254. package/dist/sha256.d.ts +0 -5
  255. package/dist/sha256.d.ts.map +0 -1
  256. package/dist/sha256.js +0 -96
  257. package/dist/sha256.js.map +0 -1
  258. package/dist/shapes.d.ts +0 -71
  259. package/dist/shapes.d.ts.map +0 -1
  260. package/dist/shapes.js +0 -340
  261. package/dist/shapes.js.map +0 -1
  262. package/dist/static-text.d.ts +0 -33
  263. package/dist/static-text.d.ts.map +0 -1
  264. package/dist/static-text.js +0 -105
  265. package/dist/static-text.js.map +0 -1
  266. package/dist/text-layout.d.ts +0 -66
  267. package/dist/text-layout.d.ts.map +0 -1
  268. package/dist/text-layout.js +0 -315
  269. package/dist/text-layout.js.map +0 -1
  270. package/dist/text.d.ts +0 -67
  271. package/dist/text.d.ts.map +0 -1
  272. package/dist/text.js +0 -383
  273. package/dist/text.js.map +0 -1
  274. package/dist/timeline.d.ts +0 -150
  275. package/dist/timeline.d.ts.map +0 -1
  276. package/dist/timeline.js +0 -266
  277. package/dist/timeline.js.map +0 -1
package/dist/bounds.js DELETED
@@ -1,300 +0,0 @@
1
- import { BitmapObject, Container, ShapeObject, StaticTextObject, TextObject, } from "./display.js";
2
- import { apply, concat, contains, invert, overlaps, transformRect, union, } from "./geometry.js";
3
- import { flatten, inside, orientation } from "./shapes.js";
4
- import { hitsGlyph } from "./static-text.js";
5
- const TWIPS = 20;
6
- const IDENTITY = { a: 1, b: 0, c: 0, d: 1, tx: 0, ty: 0 };
7
- /** The matrix from `d`'s space to the stage's (`stage` itself excluded), through every parent, scroll shifts and all. */
8
- export function toStage(d, stage) {
9
- let m = d.placed;
10
- for (let p = d.parent; p && p !== stage; p = p.parent) {
11
- m = concat(m, p.placed);
12
- }
13
- return m;
14
- }
15
- /** What `d` itself draws, in its own space: null for nothing. `lines` counts the lines' widths. */
16
- function ownBounds(d, lines) {
17
- if (d.drawing) {
18
- return d.drawing.bounds(lines);
19
- }
20
- if (d instanceof BitmapObject) {
21
- const store = d.store;
22
- return store && !store.disposed
23
- ? { xMin: 0, yMin: 0, xMax: store.width, yMax: store.height }
24
- : null;
25
- }
26
- if (d instanceof TextObject) {
27
- return { xMin: d.left, yMin: d.top, xMax: d.left + d.width, yMax: d.top + d.height };
28
- }
29
- if (d instanceof StaticTextObject) {
30
- const r = d.definition.definition.bounds;
31
- return {
32
- xMin: r.xMin / TWIPS,
33
- yMin: r.yMin / TWIPS,
34
- xMax: r.xMax / TWIPS,
35
- yMax: r.yMax / TWIPS,
36
- };
37
- }
38
- if (d instanceof ShapeObject && d.shape) {
39
- const r = (lines ? null : d.shape.shape.edgeBounds) ?? d.shape.shape.bounds;
40
- return {
41
- xMin: r.xMin / TWIPS,
42
- yMin: r.yMin / TWIPS,
43
- xMax: r.xMax / TWIPS,
44
- yMax: r.yMax / TWIPS,
45
- };
46
- }
47
- return null;
48
- }
49
- /**
50
- * `d`'s bounds in its own space, its children's included: null for an
51
- * object with nothing in it. A scrolled object's are its scroll's size at
52
- * (0, 0), whatever it draws, as Flash reports them; masks clip none.
53
- */
54
- export function bounds(d, lines) {
55
- const scroll = d.scroll;
56
- if (scroll) {
57
- return { xMin: 0, yMin: 0, xMax: scroll.xMax - scroll.xMin, yMax: scroll.yMax - scroll.yMin };
58
- }
59
- let r = ownBounds(d, lines);
60
- if (d instanceof Container) {
61
- for (const child of d.children) {
62
- const b = bounds(child, lines);
63
- if (b) {
64
- r = union(r, transformRect(b, child.placed));
65
- }
66
- }
67
- }
68
- return r;
69
- }
70
- /** `d`'s bounds in `target`'s space (its own for null), through the stage. */
71
- export function boundsIn(d, target, stage, lines) {
72
- const own = bounds(d, lines) ?? { xMin: 0, yMin: 0, xMax: 0, yMax: 0 };
73
- if (!target || target === d) {
74
- return own;
75
- }
76
- const up = toStage(d, stage);
77
- const down = target === stage ? IDENTITY : (invert(toStage(target, stage)) ?? IDENTITY);
78
- return transformRect(own, concat(up, down));
79
- }
80
- /**
81
- * Whether the point (x, y) is within `d`'s bounds, or, for `shape`, on what
82
- * it or its children draw. The point is in the main root's space, as Flash
83
- * has it (the corpus's `displayobject_hittestpoint_root`): moving the root
84
- * moves nothing under the point, moving a loaded SWF's root does. The
85
- * shape test asks for a root above `d`, the bounds test does not.
86
- */
87
- export function hitsPoint(d, x, y, shape, root) {
88
- const toLocal = invert(toStage(d, root));
89
- if (!toLocal) {
90
- return false;
91
- }
92
- if (!shape) {
93
- const [lx, ly] = apply(toLocal, x, y);
94
- const r = bounds(d, true);
95
- return r !== null && contains(r, lx, ly);
96
- }
97
- // A mask is not drawn, and adl hits nothing of it.
98
- if (!underRoot(d) || d.maskOf) {
99
- return false;
100
- }
101
- // Flash samples half a pixel to the left of the point and on its row: a
102
- // point on a shape's right edge hits, one on its left, top or bottom edge
103
- // does not (the corpus's displayobject_hittestpoint_boundary).
104
- const [lx, ly] = apply(toLocal, x - 0.5, y);
105
- const probe = { x: x - 0.5, y, root };
106
- return drawnAt(d, lx, ly, probe, false) && !clippedAbove(d, probe);
107
- }
108
- /** What this object itself draws under a pointer, without asking its children. */
109
- export function hitsOwnPoint(d, x, y, root) {
110
- if (!underRoot(d) || d.maskOf) {
111
- return false;
112
- }
113
- const toLocal = invert(toStage(d, root));
114
- if (!toLocal) {
115
- return false;
116
- }
117
- const probe = { x: x - 0.5, y, root };
118
- if (clippedAbove(d, probe)) {
119
- return false;
120
- }
121
- const [lx, ly] = apply(toLocal, probe.x, probe.y);
122
- if (d instanceof TextObject) {
123
- const r = ownBounds(d, true);
124
- const scroll = d.scroll;
125
- return (!!r &&
126
- contains(r, lx, ly) &&
127
- (!scroll || contains(scroll, lx, ly)) &&
128
- (!d.mask || inMask(d.mask, probe)));
129
- }
130
- return drawnAt(d, lx, ly, probe, false, false);
131
- }
132
- /** Whether a mask or a scroll above `d` leaves the probe out. */
133
- function clippedAbove(d, probe) {
134
- for (let p = d.parent; p; p = p.parent) {
135
- if (p.mask && !p.maskOf && !p.mask.encloses(p) && !inMask(p.mask, probe)) {
136
- return true;
137
- }
138
- const scroll = p.scroll;
139
- const toLocal = scroll && invert(toStage(p, probe.root));
140
- if (scroll && toLocal) {
141
- const [x, y] = apply(toLocal, probe.x, probe.y);
142
- if (!(x >= scroll.xMin && x < scroll.xMax && y >= scroll.yMin && y < scroll.yMax)) {
143
- return true;
144
- }
145
- }
146
- }
147
- return false;
148
- }
149
- /** Whether the probe is on `mask`'s fills, where it is: its lines clip nothing. */
150
- function inMask(mask, probe) {
151
- const toLocal = invert(toStage(mask, probe.root));
152
- if (!toLocal) {
153
- return false;
154
- }
155
- const [x, y] = apply(toLocal, probe.x, probe.y);
156
- return drawnAt(mask, x, y, probe, true);
157
- }
158
- /** Whether a SWF's root, the main one's or a loaded one's, is `d` or above it. */
159
- function underRoot(d) {
160
- for (let o = d; o; o = o.parent) {
161
- if (o.loaderInfo) {
162
- return true;
163
- }
164
- }
165
- return false;
166
- }
167
- /**
168
- * Whether (x, y), in `d`'s space, is on a fill or a line of `d` or of a
169
- * child, within the scroll and the masks that clip it. As a mask (`mask`)
170
- * its lines count for nothing and its own mask is not asked, so that two
171
- * masks of each other end.
172
- */
173
- function drawnAt(d, x, y, probe, mask, children = true) {
174
- const scroll = d.scroll;
175
- if (scroll && !(x >= scroll.xMin && x < scroll.xMax && y >= scroll.yMin && y < scroll.yMax)) {
176
- return false;
177
- }
178
- if (!mask && d.mask && !d.maskOf && !d.mask.encloses(d) && !inMask(d.mask, probe)) {
179
- return false;
180
- }
181
- // A Bitmap is hit, and masks, over its whole rectangle, transparent pixels and all.
182
- if (d instanceof BitmapObject) {
183
- const store = d.store;
184
- return !!store && !store.disposed && x >= 0 && x < store.width && y >= 0 && y < store.height;
185
- }
186
- if (d instanceof StaticTextObject) {
187
- return hitsGlyph(d.definition, d.glyphs.glyphs, x, y, mask);
188
- }
189
- const layers = d.drawing?.layers ?? (d instanceof ShapeObject ? (d.shape?.layers ?? []) : []);
190
- for (const layer of layers) {
191
- for (const { contours, winding } of layer.fills) {
192
- // Inside by the fill's rule: an odd number of its contours around the
193
- // point for even-odd, a non-zero sum of their orientations for non-zero.
194
- let crossings = 0;
195
- let sum = 0;
196
- for (const contour of contours) {
197
- const flat = flattened(contour);
198
- if (near(flat, x, y, 0) && inside(flat.points, x, y)) {
199
- crossings++;
200
- sum += flat.orientation;
201
- }
202
- }
203
- if (winding === "nonZero" ? sum !== 0 : crossings % 2) {
204
- return true;
205
- }
206
- }
207
- if (mask) {
208
- continue;
209
- }
210
- for (const { line, paths } of layer.strokes) {
211
- const half = Math.max(line.width / TWIPS, 1) / 2;
212
- for (const path of paths) {
213
- const flat = flattened(path);
214
- if (near(flat, x, y, half) && nearPolyline(flat.points, x, y, half)) {
215
- return true;
216
- }
217
- }
218
- }
219
- }
220
- if (children && d instanceof Container) {
221
- // Masks are not drawn; a timeline's clip no hit test, as Flash's do not.
222
- for (const child of d.children) {
223
- const toChild = invert(child.placed);
224
- if (toChild &&
225
- child.clipDepth === 0 &&
226
- child.maskOf === null &&
227
- drawnAt(child, ...apply(toChild, x, y), probe, mask)) {
228
- return true;
229
- }
230
- }
231
- }
232
- return false;
233
- }
234
- /**
235
- * Paths flattened once, not on every hit test: the pointer asks on every
236
- * move, of every shape under the point's ancestors, and a curve's chords
237
- * cost more than a box test that rules most of them out.
238
- */
239
- const flats = new WeakMap();
240
- function flattened(path) {
241
- const cached = flats.get(path);
242
- if (cached && cached.length === path.length) {
243
- return cached;
244
- }
245
- const points = flatten(path);
246
- let [xMin, yMin, xMax, yMax] = [Infinity, Infinity, -Infinity, -Infinity];
247
- for (let i = 0; i < points.length; i += 2) {
248
- xMin = Math.min(xMin, points[i]);
249
- xMax = Math.max(xMax, points[i]);
250
- yMin = Math.min(yMin, points[i + 1]);
251
- yMax = Math.max(yMax, points[i + 1]);
252
- }
253
- const flat = {
254
- length: path.length,
255
- points,
256
- orientation: orientation(points),
257
- xMin,
258
- yMin,
259
- xMax,
260
- yMax,
261
- };
262
- flats.set(path, flat);
263
- return flat;
264
- }
265
- /** Whether (x, y) is within `half` of the path's box, as it must be to be in or on it. */
266
- function near(flat, x, y, half) {
267
- // Negated, so a box made NaN by a drawing's NaN point rules nothing out:
268
- // the full test then skips only the NaN edges, as it did.
269
- return !(x < flat.xMin - half ||
270
- x > flat.xMax + half ||
271
- y < flat.yMin - half ||
272
- y > flat.yMax + half);
273
- }
274
- /** Whether (px, py) is within `half` of any segment of the open polyline. */
275
- function nearPolyline(points, px, py, half) {
276
- for (let i = 2; i < points.length; i += 2) {
277
- const ax = points[i - 2];
278
- const ay = points[i - 1];
279
- const bx = points[i];
280
- const by = points[i + 1];
281
- const dx = bx - ax;
282
- const dy = by - ay;
283
- const length2 = dx * dx + dy * dy;
284
- const t = length2 === 0 ? 0 : Math.max(0, Math.min(1, ((px - ax) * dx + (py - ay) * dy) / length2));
285
- if (Math.hypot(px - (ax + t * dx), py - (ay + t * dy)) <= half) {
286
- return true;
287
- }
288
- }
289
- return false;
290
- }
291
- /** Whether the two objects' bounds in the stage's space overlap. */
292
- export function hitsObject(a, b, stage) {
293
- const ra = bounds(a, true);
294
- const rb = bounds(b, true);
295
- if (!ra || !rb) {
296
- return false;
297
- }
298
- return overlaps(transformRect(ra, toStage(a, stage)), transformRect(rb, toStage(b, stage)));
299
- }
300
- //# sourceMappingURL=bounds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bounds.js","sourceRoot":"","sources":["../src/bounds.ts"],"names":[],"mappings":"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"}
package/dist/color.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { ColorTransform } from "@swf2es/format";
2
- /** What a child draws, seen through its parent: `child` first, then `parent`. */
3
- export declare function concatColor(parent: ColorTransform, child: ColorTransform): ColorTransform;
4
- /** Whether `ct` only multiplies, each channel by 0 to 1, which Pixi's tint and alpha draw. */
5
- export declare function multipliesOnly(ct: ColorTransform): boolean;
6
- export declare function sameColor(a: ColorTransform | null, b: ColorTransform | null): boolean;
7
- //# sourceMappingURL=color.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,GAAG,cAAc,CAWzF;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAe1D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,EAAE,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAcrF"}
package/dist/color.js DELETED
@@ -1,42 +0,0 @@
1
- /** What a child draws, seen through its parent: `child` first, then `parent`. */
2
- export function concatColor(parent, child) {
3
- return {
4
- rMul: child.rMul * parent.rMul,
5
- gMul: child.gMul * parent.gMul,
6
- bMul: child.bMul * parent.bMul,
7
- aMul: child.aMul * parent.aMul,
8
- rAdd: child.rAdd * parent.rMul + parent.rAdd,
9
- gAdd: child.gAdd * parent.gMul + parent.gAdd,
10
- bAdd: child.bAdd * parent.bMul + parent.bAdd,
11
- aAdd: child.aAdd * parent.aMul + parent.aAdd,
12
- };
13
- }
14
- /** Whether `ct` only multiplies, each channel by 0 to 1, which Pixi's tint and alpha draw. */
15
- export function multipliesOnly(ct) {
16
- return (ct.rAdd === 0 &&
17
- ct.gAdd === 0 &&
18
- ct.bAdd === 0 &&
19
- ct.aAdd === 0 &&
20
- ct.rMul >= 0 &&
21
- ct.rMul <= 1 &&
22
- ct.gMul >= 0 &&
23
- ct.gMul <= 1 &&
24
- ct.bMul >= 0 &&
25
- ct.bMul <= 1 &&
26
- ct.aMul >= 0 &&
27
- ct.aMul <= 1);
28
- }
29
- export function sameColor(a, b) {
30
- return (a === b ||
31
- (a !== null &&
32
- b !== null &&
33
- a.rMul === b.rMul &&
34
- a.gMul === b.gMul &&
35
- a.bMul === b.bMul &&
36
- a.aMul === b.aMul &&
37
- a.rAdd === b.rAdd &&
38
- a.gAdd === b.gAdd &&
39
- a.bAdd === b.bAdd &&
40
- a.aAdd === b.aAdd));
41
- }
42
- //# sourceMappingURL=color.js.map
package/dist/color.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAKA,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,MAAsB,EAAE,KAAqB;IACvE,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;QAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;KAC7C,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,EAAkB;IAC/C,OAAO,CACL,EAAE,CAAC,IAAI,KAAK,CAAC;QACb,EAAE,CAAC,IAAI,KAAK,CAAC;QACb,EAAE,CAAC,IAAI,KAAK,CAAC;QACb,EAAE,CAAC,IAAI,KAAK,CAAC;QACb,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC;QACZ,EAAE,CAAC,IAAI,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAwB,EAAE,CAAwB;IAC1E,OAAO,CACL,CAAC,KAAK,CAAC;QACP,CAAC,CAAC,KAAK,IAAI;YACT,CAAC,KAAK,IAAI;YACV,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC"}