@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.
- package/package.json +7 -7
- package/dist/audio.d.ts +0 -22
- package/dist/audio.d.ts.map +0 -1
- package/dist/audio.js +0 -106
- package/dist/audio.js.map +0 -1
- package/dist/bitmap-filters.d.ts +0 -29
- package/dist/bitmap-filters.d.ts.map +0 -1
- package/dist/bitmap-filters.js +0 -906
- package/dist/bitmap-filters.js.map +0 -1
- package/dist/bitmap-ops.d.ts +0 -113
- package/dist/bitmap-ops.d.ts.map +0 -1
- package/dist/bitmap-ops.js +0 -725
- package/dist/bitmap-ops.js.map +0 -1
- package/dist/bitmap.d.ts +0 -98
- package/dist/bitmap.d.ts.map +0 -1
- package/dist/bitmap.js +0 -314
- package/dist/bitmap.js.map +0 -1
- package/dist/bounds.d.ts +0 -26
- package/dist/bounds.d.ts.map +0 -1
- package/dist/bounds.js +0 -300
- package/dist/bounds.js.map +0 -1
- package/dist/color.d.ts +0 -7
- package/dist/color.d.ts.map +0 -1
- package/dist/color.js +0 -42
- package/dist/color.js.map +0 -1
- package/dist/display.d.ts +0 -425
- package/dist/display.d.ts.map +0 -1
- package/dist/display.js +0 -1274
- package/dist/display.js.map +0 -1
- package/dist/drawing.d.ts +0 -52
- package/dist/drawing.d.ts.map +0 -1
- package/dist/drawing.js +0 -204
- package/dist/drawing.js.map +0 -1
- package/dist/filters.d.ts +0 -54
- package/dist/filters.d.ts.map +0 -1
- package/dist/filters.js +0 -155
- package/dist/filters.js.map +0 -1
- package/dist/fonts.d.ts +0 -23
- package/dist/fonts.d.ts.map +0 -1
- package/dist/fonts.js +0 -91
- package/dist/fonts.js.map +0 -1
- package/dist/geometry.d.ts +0 -21
- package/dist/geometry.d.ts.map +0 -1
- package/dist/geometry.js +0 -76
- package/dist/geometry.js.map +0 -1
- package/dist/gradients.d.ts +0 -29
- package/dist/gradients.d.ts.map +0 -1
- package/dist/gradients.js +0 -116
- package/dist/gradients.js.map +0 -1
- package/dist/images.d.ts +0 -22
- package/dist/images.d.ts.map +0 -1
- package/dist/images.js +0 -147
- package/dist/images.js.map +0 -1
- package/dist/input.d.ts +0 -79
- package/dist/input.d.ts.map +0 -1
- package/dist/input.js +0 -366
- package/dist/input.js.map +0 -1
- package/dist/keyboard.d.ts +0 -97
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -583
- package/dist/keyboard.js.map +0 -1
- package/dist/morph.d.ts +0 -17
- package/dist/morph.d.ts.map +0 -1
- package/dist/morph.js +0 -218
- package/dist/morph.js.map +0 -1
- package/dist/pixi-blend.d.ts +0 -7
- package/dist/pixi-blend.d.ts.map +0 -1
- package/dist/pixi-blend.js +0 -253
- package/dist/pixi-blend.js.map +0 -1
- package/dist/pixi-color.d.ts +0 -54
- package/dist/pixi-color.d.ts.map +0 -1
- package/dist/pixi-color.js +0 -336
- package/dist/pixi-color.js.map +0 -1
- package/dist/pixi-filters.d.ts +0 -40
- package/dist/pixi-filters.d.ts.map +0 -1
- package/dist/pixi-filters.js +0 -953
- package/dist/pixi-filters.js.map +0 -1
- package/dist/pixi-resolve.d.ts +0 -4
- package/dist/pixi-resolve.d.ts.map +0 -1
- package/dist/pixi-resolve.js +0 -76
- package/dist/pixi-resolve.js.map +0 -1
- package/dist/pixi.d.ts +0 -219
- package/dist/pixi.d.ts.map +0 -1
- package/dist/pixi.js +0 -2169
- package/dist/pixi.js.map +0 -1
- package/dist/playerglobal/flash/filters/filters.d.ts +0 -26
- package/dist/playerglobal/flash/filters/filters.d.ts.map +0 -1
- package/dist/playerglobal/flash/filters/filters.js +0 -287
- package/dist/playerglobal/flash/filters/filters.js.map +0 -1
- package/dist/playerglobal/flash/system/FSCommand.d.ts +0 -4
- package/dist/playerglobal/flash/system/FSCommand.d.ts.map +0 -1
- package/dist/playerglobal/flash/system/FSCommand.js +0 -18
- package/dist/playerglobal/flash/system/FSCommand.js.map +0 -1
- package/dist/playerglobal/natives.d.ts +0 -10
- package/dist/playerglobal/natives.d.ts.map +0 -1
- package/dist/playerglobal/natives.js +0 -53
- package/dist/playerglobal/natives.js.map +0 -1
- package/dist/png.d.ts +0 -4
- package/dist/png.d.ts.map +0 -1
- package/dist/png.js +0 -140
- package/dist/png.js.map +0 -1
- package/dist/render/art.d.ts +0 -148
- package/dist/render/art.d.ts.map +0 -1
- package/dist/render/art.js +0 -575
- package/dist/render/art.js.map +0 -1
- package/dist/render/batchers.d.ts +0 -23
- package/dist/render/batchers.d.ts.map +0 -1
- package/dist/render/batchers.js +0 -52
- package/dist/render/batchers.js.map +0 -1
- package/dist/render/bitmaps.d.ts +0 -117
- package/dist/render/bitmaps.d.ts.map +0 -1
- package/dist/render/bitmaps.js +0 -422
- package/dist/render/bitmaps.js.map +0 -1
- package/dist/render/blend.d.ts +0 -37
- package/dist/render/blend.d.ts.map +0 -1
- package/dist/render/blend.js +0 -195
- package/dist/render/blend.js.map +0 -1
- package/dist/render/color.d.ts +0 -111
- package/dist/render/color.d.ts.map +0 -1
- package/dist/render/color.js +0 -533
- package/dist/render/color.js.map +0 -1
- package/dist/render/compositing.d.ts +0 -77
- package/dist/render/compositing.d.ts.map +0 -1
- package/dist/render/compositing.js +0 -188
- package/dist/render/compositing.js.map +0 -1
- package/dist/render/filters.d.ts +0 -98
- package/dist/render/filters.d.ts.map +0 -1
- package/dist/render/filters.js +0 -1326
- package/dist/render/filters.js.map +0 -1
- package/dist/render/hooks.d.ts +0 -4
- package/dist/render/hooks.d.ts.map +0 -1
- package/dist/render/hooks.js +0 -48
- package/dist/render/hooks.js.map +0 -1
- package/dist/render/node.d.ts +0 -139
- package/dist/render/node.d.ts.map +0 -1
- package/dist/render/node.js +0 -59
- package/dist/render/node.js.map +0 -1
- package/dist/render/patches.d.ts +0 -54
- package/dist/render/patches.d.ts.map +0 -1
- package/dist/render/patches.js +0 -154
- package/dist/render/patches.js.map +0 -1
- package/dist/render/planes.d.ts +0 -74
- package/dist/render/planes.d.ts.map +0 -1
- package/dist/render/planes.js +0 -267
- package/dist/render/planes.js.map +0 -1
- package/dist/render/pointer.d.ts +0 -5
- package/dist/render/pointer.d.ts.map +0 -1
- package/dist/render/pointer.js +0 -279
- package/dist/render/pointer.js.map +0 -1
- package/dist/render/pools.d.ts +0 -122
- package/dist/render/pools.d.ts.map +0 -1
- package/dist/render/pools.js +0 -238
- package/dist/render/pools.js.map +0 -1
- package/dist/render/resolve.d.ts +0 -4
- package/dist/render/resolve.d.ts.map +0 -1
- package/dist/render/resolve.js +0 -76
- package/dist/render/resolve.js.map +0 -1
- package/dist/render/saffron.d.ts +0 -135
- package/dist/render/saffron.d.ts.map +0 -1
- package/dist/render/saffron.js +0 -725
- package/dist/render/saffron.js.map +0 -1
- package/dist/render/settle.d.ts +0 -60
- package/dist/render/settle.d.ts.map +0 -1
- package/dist/render/settle.js +0 -128
- package/dist/render/settle.js.map +0 -1
- package/dist/render/shared.d.ts +0 -25
- package/dist/render/shared.d.ts.map +0 -1
- package/dist/render/shared.js +0 -33
- package/dist/render/shared.js.map +0 -1
- package/dist/render/snapshot.d.ts +0 -21
- package/dist/render/snapshot.d.ts.map +0 -1
- package/dist/render/snapshot.js +0 -91
- package/dist/render/snapshot.js.map +0 -1
- package/dist/render/spares.d.ts +0 -56
- package/dist/render/spares.d.ts.map +0 -1
- package/dist/render/spares.js +0 -160
- package/dist/render/spares.js.map +0 -1
- package/dist/render/strokes.d.ts +0 -107
- package/dist/render/strokes.d.ts.map +0 -1
- package/dist/render/strokes.js +0 -448
- package/dist/render/strokes.js.map +0 -1
- package/dist/render/table.d.ts +0 -213
- package/dist/render/table.d.ts.map +0 -1
- package/dist/render/table.js +0 -795
- package/dist/render/table.js.map +0 -1
- package/dist/render/tessellate.d.ts +0 -89
- package/dist/render/tessellate.d.ts.map +0 -1
- package/dist/render/tessellate.js +0 -386
- package/dist/render/tessellate.js.map +0 -1
- package/dist/render/text.d.ts +0 -40
- package/dist/render/text.d.ts.map +0 -1
- package/dist/render/text.js +0 -309
- package/dist/render/text.js.map +0 -1
- package/dist/render/three.d.ts +0 -83
- package/dist/render/three.d.ts.map +0 -1
- package/dist/render/three.js +0 -511
- package/dist/render/three.js.map +0 -1
- package/dist/render/triangles.d.ts +0 -28
- package/dist/render/triangles.d.ts.map +0 -1
- package/dist/render/triangles.js +0 -189
- package/dist/render/triangles.js.map +0 -1
- package/dist/render/view.d.ts +0 -238
- package/dist/render/view.d.ts.map +0 -1
- package/dist/render/view.js +0 -1173
- package/dist/render/view.js.map +0 -1
- package/dist/render/worker/bitmaps.d.ts +0 -43
- package/dist/render/worker/bitmaps.d.ts.map +0 -1
- package/dist/render/worker/bitmaps.js +0 -151
- package/dist/render/worker/bitmaps.js.map +0 -1
- package/dist/render/worker/drawing.d.ts +0 -21
- package/dist/render/worker/drawing.d.ts.map +0 -1
- package/dist/render/worker/drawing.js +0 -356
- package/dist/render/worker/drawing.js.map +0 -1
- package/dist/render/worker/filters.d.ts +0 -7
- package/dist/render/worker/filters.d.ts.map +0 -1
- package/dist/render/worker/filters.js +0 -125
- package/dist/render/worker/filters.js.map +0 -1
- package/dist/render/worker/frames.d.ts +0 -32
- package/dist/render/worker/frames.d.ts.map +0 -1
- package/dist/render/worker/frames.js +0 -124
- package/dist/render/worker/frames.js.map +0 -1
- package/dist/render/worker/host.d.ts +0 -60
- package/dist/render/worker/host.d.ts.map +0 -1
- package/dist/render/worker/host.js +0 -297
- package/dist/render/worker/host.js.map +0 -1
- package/dist/render/worker/libraries.d.ts +0 -36
- package/dist/render/worker/libraries.d.ts.map +0 -1
- package/dist/render/worker/libraries.js +0 -153
- package/dist/render/worker/libraries.js.map +0 -1
- package/dist/render/worker/presentation.d.ts +0 -18
- package/dist/render/worker/presentation.d.ts.map +0 -1
- package/dist/render/worker/presentation.js +0 -47
- package/dist/render/worker/presentation.js.map +0 -1
- package/dist/render/worker/renderer.d.ts +0 -4
- package/dist/render/worker/renderer.d.ts.map +0 -1
- package/dist/render/worker/renderer.js +0 -21
- package/dist/render/worker/renderer.js.map +0 -1
- package/dist/render/worker/scene.d.ts +0 -32
- package/dist/render/worker/scene.d.ts.map +0 -1
- package/dist/render/worker/scene.js +0 -611
- package/dist/render/worker/scene.js.map +0 -1
- package/dist/render/worker/text.d.ts +0 -47
- package/dist/render/worker/text.d.ts.map +0 -1
- package/dist/render/worker/text.js +0 -261
- package/dist/render/worker/text.js.map +0 -1
- package/dist/render/worker/thread.d.ts +0 -23
- package/dist/render/worker/thread.d.ts.map +0 -1
- package/dist/render/worker/thread.js +0 -107
- package/dist/render/worker/thread.js.map +0 -1
- package/dist/render/worker/values.d.ts +0 -18
- package/dist/render/worker/values.d.ts.map +0 -1
- package/dist/render/worker/values.js +0 -64
- package/dist/render/worker/values.js.map +0 -1
- package/dist/sha256.d.ts +0 -5
- package/dist/sha256.d.ts.map +0 -1
- package/dist/sha256.js +0 -96
- package/dist/sha256.js.map +0 -1
- package/dist/shapes.d.ts +0 -71
- package/dist/shapes.d.ts.map +0 -1
- package/dist/shapes.js +0 -340
- package/dist/shapes.js.map +0 -1
- package/dist/static-text.d.ts +0 -33
- package/dist/static-text.d.ts.map +0 -1
- package/dist/static-text.js +0 -105
- package/dist/static-text.js.map +0 -1
- package/dist/text-layout.d.ts +0 -66
- package/dist/text-layout.d.ts.map +0 -1
- package/dist/text-layout.js +0 -315
- package/dist/text-layout.js.map +0 -1
- package/dist/text.d.ts +0 -67
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js +0 -383
- package/dist/text.js.map +0 -1
- package/dist/timeline.d.ts +0 -150
- package/dist/timeline.d.ts.map +0 -1
- package/dist/timeline.js +0 -266
- package/dist/timeline.js.map +0 -1
package/dist/fonts.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/** A SWF's embedded fonts: DefineFont2 and 3, by name. */
|
|
2
|
-
export class FontSet {
|
|
3
|
-
byName = new Map();
|
|
4
|
-
add(font) {
|
|
5
|
-
const fonts = this.byName.get(font.name);
|
|
6
|
-
if (fonts) {
|
|
7
|
-
fonts.push(font);
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
this.byName.set(font.name, [font]);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
/** The font of that name and style, else of that name in any, as adl takes a regular font for bold text; null for none. */
|
|
14
|
-
find(name, bold, italic) {
|
|
15
|
-
const fonts = this.byName.get(name);
|
|
16
|
-
if (!fonts) {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
return fonts.find((f) => f.bold === bold && f.italic === italic) ?? fonts[0];
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/** A device font as the browser has it: `_sans`, `_serif` and `_typewriter` as its kinds, any other by name, then serif, as Flash's default is. */
|
|
23
|
-
export function fontFamily(font) {
|
|
24
|
-
switch (font) {
|
|
25
|
-
case "_sans":
|
|
26
|
-
return ["Arial", "Helvetica", "sans-serif"];
|
|
27
|
-
case "_serif":
|
|
28
|
-
return ["Times New Roman", "Times", "serif"];
|
|
29
|
-
case "_typewriter":
|
|
30
|
-
return ["Courier New", "Courier", "monospace"];
|
|
31
|
-
default:
|
|
32
|
-
return [font, "serif"];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
let canvas;
|
|
36
|
-
function context() {
|
|
37
|
-
if (canvas === undefined) {
|
|
38
|
-
canvas = null;
|
|
39
|
-
if (typeof OffscreenCanvas !== "undefined") {
|
|
40
|
-
const c = new OffscreenCanvas(1, 1).getContext("2d");
|
|
41
|
-
canvas = c ? { context: c } : null;
|
|
42
|
-
}
|
|
43
|
-
else if (typeof document !== "undefined") {
|
|
44
|
-
const c = document.createElement("canvas").getContext("2d");
|
|
45
|
-
canvas = c ? { context: c } : null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return canvas?.context ?? null;
|
|
49
|
-
}
|
|
50
|
-
const measured = new Map();
|
|
51
|
-
/**
|
|
52
|
-
* A device font's metrics: the browser's, from its canvas, where there is
|
|
53
|
-
* one; else (node) a stand-in, half the size a character, ascent 0.9 and
|
|
54
|
-
* descent 0.2 of it. Flash's system fonts are neither.
|
|
55
|
-
*/
|
|
56
|
-
export function deviceMetrics(font, size, bold, italic) {
|
|
57
|
-
const key = `${font}|${size}|${bold}|${italic}`;
|
|
58
|
-
let metrics = measured.get(key);
|
|
59
|
-
if (metrics) {
|
|
60
|
-
return metrics;
|
|
61
|
-
}
|
|
62
|
-
const c = context();
|
|
63
|
-
if (c) {
|
|
64
|
-
const families = fontFamily(font)
|
|
65
|
-
.map((f) => (/^[a-z-]+$/.test(f) ? f : `"${f}"`))
|
|
66
|
-
.join(", ");
|
|
67
|
-
const css = `${italic ? "italic " : ""}${bold ? "bold " : ""}${size}px ${families}`;
|
|
68
|
-
const widths = new Map();
|
|
69
|
-
c.font = css;
|
|
70
|
-
const box = c.measureText("Mg");
|
|
71
|
-
metrics = {
|
|
72
|
-
advance: (char) => {
|
|
73
|
-
let w = widths.get(char);
|
|
74
|
-
if (w === undefined) {
|
|
75
|
-
c.font = css;
|
|
76
|
-
w = c.measureText(char).width;
|
|
77
|
-
widths.set(char, w);
|
|
78
|
-
}
|
|
79
|
-
return w;
|
|
80
|
-
},
|
|
81
|
-
ascent: box.fontBoundingBoxAscent ?? size * 0.9,
|
|
82
|
-
descent: box.fontBoundingBoxDescent ?? size * 0.2,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
metrics = { advance: () => size / 2, ascent: size * 0.9, descent: size * 0.2 };
|
|
87
|
-
}
|
|
88
|
-
measured.set(key, metrics);
|
|
89
|
-
return metrics;
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=fonts.js.map
|
package/dist/fonts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"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"}
|
package/dist/geometry.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Matrix } from "@swf2es/format";
|
|
2
|
-
/** An axis-aligned rectangle by its edges. */
|
|
3
|
-
export interface Rect {
|
|
4
|
-
xMin: number;
|
|
5
|
-
yMin: number;
|
|
6
|
-
xMax: number;
|
|
7
|
-
yMax: number;
|
|
8
|
-
}
|
|
9
|
-
/** `m` then `p`: the matrix that applies `m` and then `p`, as a child's in its parent's. */
|
|
10
|
-
export declare function concat(m: Matrix, p: Matrix): Matrix;
|
|
11
|
-
/** The inverse, or null for a matrix that flattens the plane. */
|
|
12
|
-
export declare function invert(m: Matrix): Matrix | null;
|
|
13
|
-
export declare function apply(m: Matrix, x: number, y: number): [number, number];
|
|
14
|
-
/** The rectangle around `r`'s four corners through `m`. */
|
|
15
|
-
export declare function transformRect(r: Rect, m: Matrix): Rect;
|
|
16
|
-
export declare function union(a: Rect | null, b: Rect | null): Rect | null;
|
|
17
|
-
export declare function contains(r: Rect, x: number, y: number): boolean;
|
|
18
|
-
export declare function overlaps(a: Rect, b: Rect): boolean;
|
|
19
|
-
/** `m` after a shift of (-left, -top) of `r`: a scrolled object's, its scroll's corner at its origin. */
|
|
20
|
-
export declare function shifted(m: Matrix, r: Rect): Matrix;
|
|
21
|
-
//# sourceMappingURL=geometry.d.ts.map
|
package/dist/geometry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,8CAA8C;AAC9C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4FAA4F;AAC5F,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CASnD;AAED,iEAAiE;AACjE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvE;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAoBtD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAWjE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAElD;AAED,yGAAyG;AACzG,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAMlD"}
|
package/dist/geometry.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/** `m` then `p`: the matrix that applies `m` and then `p`, as a child's in its parent's. */
|
|
2
|
-
export function concat(m, p) {
|
|
3
|
-
return {
|
|
4
|
-
a: m.a * p.a + m.b * p.c,
|
|
5
|
-
b: m.a * p.b + m.b * p.d,
|
|
6
|
-
c: m.c * p.a + m.d * p.c,
|
|
7
|
-
d: m.c * p.b + m.d * p.d,
|
|
8
|
-
tx: m.tx * p.a + m.ty * p.c + p.tx,
|
|
9
|
-
ty: m.tx * p.b + m.ty * p.d + p.ty,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/** The inverse, or null for a matrix that flattens the plane. */
|
|
13
|
-
export function invert(m) {
|
|
14
|
-
const det = m.a * m.d - m.b * m.c;
|
|
15
|
-
if (det === 0) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
a: m.d / det,
|
|
20
|
-
b: -m.b / det,
|
|
21
|
-
c: -m.c / det,
|
|
22
|
-
d: m.a / det,
|
|
23
|
-
tx: (m.c * m.ty - m.d * m.tx) / det,
|
|
24
|
-
ty: (m.b * m.tx - m.a * m.ty) / det,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export function apply(m, x, y) {
|
|
28
|
-
return [m.a * x + m.c * y + m.tx, m.b * x + m.d * y + m.ty];
|
|
29
|
-
}
|
|
30
|
-
/** The rectangle around `r`'s four corners through `m`. */
|
|
31
|
-
export function transformRect(r, m) {
|
|
32
|
-
const xs = [];
|
|
33
|
-
const ys = [];
|
|
34
|
-
for (const [x, y] of [
|
|
35
|
-
[r.xMin, r.yMin],
|
|
36
|
-
[r.xMax, r.yMin],
|
|
37
|
-
[r.xMin, r.yMax],
|
|
38
|
-
[r.xMax, r.yMax],
|
|
39
|
-
]) {
|
|
40
|
-
const [px, py] = apply(m, x, y);
|
|
41
|
-
xs.push(px);
|
|
42
|
-
ys.push(py);
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
xMin: Math.min(...xs),
|
|
46
|
-
yMin: Math.min(...ys),
|
|
47
|
-
xMax: Math.max(...xs),
|
|
48
|
-
yMax: Math.max(...ys),
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function union(a, b) {
|
|
52
|
-
if (!a || !b) {
|
|
53
|
-
return a ?? b;
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
xMin: Math.min(a.xMin, b.xMin),
|
|
57
|
-
yMin: Math.min(a.yMin, b.yMin),
|
|
58
|
-
xMax: Math.max(a.xMax, b.xMax),
|
|
59
|
-
yMax: Math.max(a.yMax, b.yMax),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
export function contains(r, x, y) {
|
|
63
|
-
return x >= r.xMin && x <= r.xMax && y >= r.yMin && y <= r.yMax;
|
|
64
|
-
}
|
|
65
|
-
export function overlaps(a, b) {
|
|
66
|
-
return a.xMin <= b.xMax && b.xMin <= a.xMax && a.yMin <= b.yMax && b.yMin <= a.yMax;
|
|
67
|
-
}
|
|
68
|
-
/** `m` after a shift of (-left, -top) of `r`: a scrolled object's, its scroll's corner at its origin. */
|
|
69
|
-
export function shifted(m, r) {
|
|
70
|
-
return {
|
|
71
|
-
...m,
|
|
72
|
-
tx: m.tx - m.a * r.xMin - m.c * r.yMin,
|
|
73
|
-
ty: m.ty - m.b * r.xMin - m.d * r.yMin,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=geometry.js.map
|
package/dist/geometry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../src/geometry.ts"],"names":[],"mappings":"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"}
|
package/dist/gradients.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { GradientStop } from "@swf2es/format";
|
|
2
|
-
/** A ramp's stops in order of use: Flash fills the ramp from each stop to the next, skipping any that go back. */
|
|
3
|
-
export declare function ramp(stops: readonly GradientStop[], linearRgb: boolean): Uint32Array;
|
|
4
|
-
/** The most texels a radial gradient's texture has a side; a larger region is sampled more coarsely. */
|
|
5
|
-
export declare const RADIAL_MAX = 512;
|
|
6
|
-
/** A region of a shape, in its pixels: where a radial gradient's texture covers. */
|
|
7
|
-
export interface Region {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
width: number;
|
|
11
|
-
height: number;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* A radial gradient over `region` of the shape, `columns` by `rows` texels,
|
|
15
|
-
* as premultiplied ARGB: each texel the ramp's entry at its top left
|
|
16
|
-
* corner, where Flash samples a pixel, so that a texel of an unscaled
|
|
17
|
-
* shape is its pixel exactly. `m` maps the gradient square to the shape.
|
|
18
|
-
*/
|
|
19
|
-
export declare function radialPixels(colors: Uint32Array, m: {
|
|
20
|
-
a: number;
|
|
21
|
-
b: number;
|
|
22
|
-
c: number;
|
|
23
|
-
d: number;
|
|
24
|
-
tx: number;
|
|
25
|
-
ty: number;
|
|
26
|
-
}, focal: number, spread: number, region: Region, columns: number, rows: number): Uint32Array;
|
|
27
|
-
/** The ramp's entry for place t, spread: 0 pad, 1 reflect, 2 repeat. */
|
|
28
|
-
export declare function index(t: number, spread: number): number;
|
|
29
|
-
//# sourceMappingURL=gradients.d.ts.map
|
package/dist/gradients.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gradients.d.ts","sourceRoot":"","sources":["../src/gradients.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,kHAAkH;AAClH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,WAAW,CAwCpF;AA+BD,wGAAwG;AACxG,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,oFAAoF;AACpF,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EACzE,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,WAAW,CAkBb;AAoBD,wEAAwE;AACxE,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYvD"}
|
package/dist/gradients.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/** A ramp's stops in order of use: Flash fills the ramp from each stop to the next, skipping any that go back. */
|
|
2
|
-
export function ramp(stops, linearRgb) {
|
|
3
|
-
const out = new Uint32Array(256);
|
|
4
|
-
if (stops.length === 0) {
|
|
5
|
-
out.fill(0xff000000);
|
|
6
|
-
return out;
|
|
7
|
-
}
|
|
8
|
-
const set = (i, argb) => {
|
|
9
|
-
const a = argb >>> 24;
|
|
10
|
-
const m = (c) => (c * (a + 1)) >> 8;
|
|
11
|
-
out[i] =
|
|
12
|
-
((a << 24) |
|
|
13
|
-
(m((argb >>> 16) & 0xff) << 16) |
|
|
14
|
-
(m((argb >>> 8) & 0xff) << 8) |
|
|
15
|
-
m(argb & 0xff)) >>>
|
|
16
|
-
0;
|
|
17
|
-
};
|
|
18
|
-
// The first colour up to the first stop, each stop's span after it in
|
|
19
|
-
// order (none for a stop before where the ramp has got to), the last
|
|
20
|
-
// colour on to the end.
|
|
21
|
-
let at = 0;
|
|
22
|
-
// In linear RGB the ends go through linear light too, which takes 255 to 254 as Flash does.
|
|
23
|
-
const end = (argb) => (linearRgb ? mix(argb, argb, 0, true) : argb);
|
|
24
|
-
for (; at <= stops[0].ratio && at < 256; at++) {
|
|
25
|
-
set(at, end(stops[0].color));
|
|
26
|
-
}
|
|
27
|
-
for (let k = 1; k < stops.length; k++) {
|
|
28
|
-
const from = stops[k - 1];
|
|
29
|
-
const to = stops[k];
|
|
30
|
-
for (; at <= to.ratio && at < 256; at++) {
|
|
31
|
-
set(at, mix(from.color, to.color, (at - from.ratio) / (to.ratio - from.ratio), linearRgb));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
for (; at < 256; at++) {
|
|
35
|
-
set(at, end(stops[stops.length - 1].color));
|
|
36
|
-
}
|
|
37
|
-
return out;
|
|
38
|
-
}
|
|
39
|
-
/** a to b by f, each channel truncated; colours in linear light for linear RGB, alpha straight. */
|
|
40
|
-
function mix(a, b, f, linearRgb) {
|
|
41
|
-
const channel = (shift, light) => {
|
|
42
|
-
const x = (a >>> shift) & 0xff;
|
|
43
|
-
const y = (b >>> shift) & 0xff;
|
|
44
|
-
if (!light) {
|
|
45
|
-
return Math.floor(x + (y - x) * f);
|
|
46
|
-
}
|
|
47
|
-
const l = (1 - f) * toLinear(x / 255) + f * toLinear(y / 255);
|
|
48
|
-
return Math.floor(255 * toSrgb(l));
|
|
49
|
-
};
|
|
50
|
-
return (((channel(24, false) << 24) |
|
|
51
|
-
(channel(16, linearRgb) << 16) |
|
|
52
|
-
(channel(8, linearRgb) << 8) |
|
|
53
|
-
channel(0, linearRgb)) >>>
|
|
54
|
-
0);
|
|
55
|
-
}
|
|
56
|
-
function toLinear(c) {
|
|
57
|
-
return c <= 0.04045 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;
|
|
58
|
-
}
|
|
59
|
-
function toSrgb(l) {
|
|
60
|
-
return l <= 0.0031308 ? 12.92 * l : 1.055 * l ** (1 / 2.4) - 0.055;
|
|
61
|
-
}
|
|
62
|
-
/** The most texels a radial gradient's texture has a side; a larger region is sampled more coarsely. */
|
|
63
|
-
export const RADIAL_MAX = 512;
|
|
64
|
-
/**
|
|
65
|
-
* A radial gradient over `region` of the shape, `columns` by `rows` texels,
|
|
66
|
-
* as premultiplied ARGB: each texel the ramp's entry at its top left
|
|
67
|
-
* corner, where Flash samples a pixel, so that a texel of an unscaled
|
|
68
|
-
* shape is its pixel exactly. `m` maps the gradient square to the shape.
|
|
69
|
-
*/
|
|
70
|
-
export function radialPixels(colors, m, focal, spread, region, columns, rows) {
|
|
71
|
-
const out = new Uint32Array(columns * rows);
|
|
72
|
-
const f = Math.max(-1, Math.min(1, focal));
|
|
73
|
-
// The inverse, from the shape to the unit circle (the square is 819.2 a half side).
|
|
74
|
-
const det = m.a * m.d - m.b * m.c;
|
|
75
|
-
const ia = m.d / det / 819.2;
|
|
76
|
-
const ib = -m.b / det / 819.2;
|
|
77
|
-
const ic = -m.c / det / 819.2;
|
|
78
|
-
const id = m.a / det / 819.2;
|
|
79
|
-
for (let j = 0; j < rows; j++) {
|
|
80
|
-
for (let i = 0; i < columns; i++) {
|
|
81
|
-
const x = region.x + (i * region.width) / columns - m.tx;
|
|
82
|
-
const y = region.y + (j * region.height) / rows - m.ty;
|
|
83
|
-
out[j * columns + i] = colors[index(place(ia * x + ic * y, ib * x + id * y, f), spread)];
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return out;
|
|
87
|
-
}
|
|
88
|
-
/** Where (px, py) lies from the focal point (f, 0) to the unit circle along the ray through it: 0 at the focus, 1 on the circle. */
|
|
89
|
-
function place(px, py, f) {
|
|
90
|
-
const dx = px - f;
|
|
91
|
-
const dy = py;
|
|
92
|
-
const dd = dx * dx + dy * dy;
|
|
93
|
-
// At a focal point off the centre Flash draws the last stop, as though it
|
|
94
|
-
// were on the circle; at the centre of one centred, the first. Within
|
|
95
|
-
// rounding, as the point comes through the matrix's inverse.
|
|
96
|
-
if (dd < 1e-12) {
|
|
97
|
-
return f !== 0 ? 1 : 0;
|
|
98
|
-
}
|
|
99
|
-
// The ray f + s (p - f) meets the circle where s solves |f + s d|^2 = 1.
|
|
100
|
-
const fd = f * dx;
|
|
101
|
-
const s = (-fd + Math.sqrt(fd * fd - dd * (f * f - 1))) / dd;
|
|
102
|
-
return s > 0 ? 1 / s : 1;
|
|
103
|
-
}
|
|
104
|
-
/** The ramp's entry for place t, spread: 0 pad, 1 reflect, 2 repeat. */
|
|
105
|
-
export function index(t, spread) {
|
|
106
|
-
const p = Math.floor(t * 256);
|
|
107
|
-
if (spread === 2) {
|
|
108
|
-
return ((p % 256) + 256) % 256;
|
|
109
|
-
}
|
|
110
|
-
if (spread === 1) {
|
|
111
|
-
const m = ((p % 512) + 512) % 512;
|
|
112
|
-
return m < 256 ? m : 511 - m;
|
|
113
|
-
}
|
|
114
|
-
return Math.max(0, Math.min(255, p));
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=gradients.js.map
|
package/dist/gradients.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gradients.js","sourceRoot":"","sources":["../src/gradients.ts"],"names":[],"mappings":"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"}
|
package/dist/images.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type Library } from "./timeline.js";
|
|
2
|
-
/** A decoded image: straight (not premultiplied) RGBA, row by row. */
|
|
3
|
-
export interface DecodedImage {
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
rgba: Uint8Array;
|
|
7
|
-
}
|
|
8
|
-
/** Decodes a JPEG, PNG or GIF; null for one it cannot. */
|
|
9
|
-
export type ImageDecode = (data: Uint8Array, format: "jpeg" | "png" | "gif") => Promise<DecodedImage | null>;
|
|
10
|
-
/**
|
|
11
|
-
* The browser's decoder. A PNG's or GIF's frame comes from WebCodecs'
|
|
12
|
-
* ImageDecoder as it is, straight alpha (asking `copyTo` for RGBA goes
|
|
13
|
-
* through premultiplied values and loses low alphas' colours); a JPEG,
|
|
14
|
-
* opaque, and anything ImageDecoder will not take, through
|
|
15
|
-
* createImageBitmap and a canvas.
|
|
16
|
-
*/
|
|
17
|
-
export declare function decodeInBrowser(data: Uint8Array, format: "jpeg" | "png" | "gif"): Promise<DecodedImage | null>;
|
|
18
|
-
/** Whether `library` has an image decodeImages has still to decode. */
|
|
19
|
-
export declare function hasUndecoded(library: Library): boolean;
|
|
20
|
-
/** Decode every image of `library` not yet decoded, all at once. */
|
|
21
|
-
export declare function decodeImages(library: Library, decode: ImageDecode | null): Promise<void>;
|
|
22
|
-
//# sourceMappingURL=images.d.ts.map
|
package/dist/images.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AAEvB,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,KAC3B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;AAElC;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAC7B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgC9B;AAuCD,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQtD;AAED,oEAAoE;AACpE,wBAAsB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9F"}
|
package/dist/images.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// The images in a SWF's JPEG tags, decoded when the SWF is linked, before
|
|
2
|
-
// its scripts run, so that a bitmap class's constructor finds its pixels
|
|
3
|
-
// at hand as Flash's does. The host may give a decoder; the browser's
|
|
4
|
-
// serves otherwise, and without either an image is one Flash cannot read.
|
|
5
|
-
import { INVALID_PIXELS, } from "./timeline.js";
|
|
6
|
-
/**
|
|
7
|
-
* The browser's decoder. A PNG's or GIF's frame comes from WebCodecs'
|
|
8
|
-
* ImageDecoder as it is, straight alpha (asking `copyTo` for RGBA goes
|
|
9
|
-
* through premultiplied values and loses low alphas' colours); a JPEG,
|
|
10
|
-
* opaque, and anything ImageDecoder will not take, through
|
|
11
|
-
* createImageBitmap and a canvas.
|
|
12
|
-
*/
|
|
13
|
-
export async function decodeInBrowser(data, format) {
|
|
14
|
-
const type = `image/${format}`;
|
|
15
|
-
try {
|
|
16
|
-
if (format !== "jpeg" && typeof ImageDecoder !== "undefined") {
|
|
17
|
-
// What WebCodecs refuses, the canvas below may still read.
|
|
18
|
-
const decoded = await decodeFrame(data, type).catch(() => null);
|
|
19
|
-
if (decoded) {
|
|
20
|
-
return decoded;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (typeof createImageBitmap === "undefined" || typeof OffscreenCanvas === "undefined") {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
const bitmap = await createImageBitmap(new Blob([data], { type }), {
|
|
27
|
-
premultiplyAlpha: "none",
|
|
28
|
-
colorSpaceConversion: "none",
|
|
29
|
-
});
|
|
30
|
-
const canvas = new OffscreenCanvas(bitmap.width, bitmap.height);
|
|
31
|
-
const context = canvas.getContext("2d");
|
|
32
|
-
if (!context) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
context.drawImage(bitmap, 0, 0);
|
|
36
|
-
bitmap.close();
|
|
37
|
-
const pixels = context.getImageData(0, 0, canvas.width, canvas.height).data;
|
|
38
|
-
return { width: canvas.width, height: canvas.height, rgba: new Uint8Array(pixels.buffer) };
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/** The first frame's pixels as ImageDecoder gives them, in a format of four bytes a pixel; null for another. */
|
|
45
|
-
async function decodeFrame(data, type) {
|
|
46
|
-
const decoder = new ImageDecoder({ data, type, colorSpaceConversion: "none" });
|
|
47
|
-
try {
|
|
48
|
-
const { image } = await decoder.decode();
|
|
49
|
-
try {
|
|
50
|
-
const order = image.format?.startsWith("BGR") ? 2 : 0;
|
|
51
|
-
const opaque = image.format?.endsWith("X");
|
|
52
|
-
if (!image.format || !/^(RGB|BGR)[AX]$/.test(image.format)) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
const raw = new Uint8Array(image.allocationSize());
|
|
56
|
-
const [plane] = await image.copyTo(raw);
|
|
57
|
-
const width = image.displayWidth;
|
|
58
|
-
const height = image.displayHeight;
|
|
59
|
-
const rgba = new Uint8Array(width * height * 4);
|
|
60
|
-
for (let y = 0; y < height; y++) {
|
|
61
|
-
for (let x = 0; x < width; x++) {
|
|
62
|
-
const from = plane.offset + y * plane.stride + x * 4;
|
|
63
|
-
const to = (y * width + x) * 4;
|
|
64
|
-
rgba[to] = raw[from + order];
|
|
65
|
-
rgba[to + 1] = raw[from + 1];
|
|
66
|
-
rgba[to + 2] = raw[from + 2 - order];
|
|
67
|
-
rgba[to + 3] = opaque ? 255 : raw[from + 3];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return { width, height, rgba };
|
|
71
|
-
}
|
|
72
|
-
finally {
|
|
73
|
-
image.close();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
finally {
|
|
77
|
-
decoder.close();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/** Whether `library` has an image decodeImages has still to decode. */
|
|
81
|
-
export function hasUndecoded(library) {
|
|
82
|
-
for (const character of library.characters.values()) {
|
|
83
|
-
if (character.type === "bitmap" && !character.pixels) {
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
/** Decode every image of `library` not yet decoded, all at once. */
|
|
90
|
-
export async function decodeImages(library, decode) {
|
|
91
|
-
const pending = [];
|
|
92
|
-
for (const character of library.characters.values()) {
|
|
93
|
-
if (character.type === "bitmap" && !character.pixels) {
|
|
94
|
-
pending.push(decodeOne(character, decode));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
await Promise.all(pending);
|
|
98
|
-
}
|
|
99
|
-
async function decodeOne(character, decode) {
|
|
100
|
-
const definition = character.definition;
|
|
101
|
-
if (definition.type !== "image" || !decode) {
|
|
102
|
-
character.pixels = INVALID_PIXELS;
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
const image = await decode(definition.data, definition.format);
|
|
106
|
-
character.pixels =
|
|
107
|
-
image && image.width > 0 && image.height > 0 ? pixelsOf(definition, image) : INVALID_PIXELS;
|
|
108
|
-
}
|
|
109
|
-
/** The pixels Flash makes of a decoded image, as adl shows them. */
|
|
110
|
-
function pixelsOf(definition, image) {
|
|
111
|
-
const { width, height, rgba } = image;
|
|
112
|
-
const count = width * height;
|
|
113
|
-
const pixels = new Uint32Array(count);
|
|
114
|
-
if (definition.format !== "jpeg") {
|
|
115
|
-
// A PNG's or GIF's own alpha, premultiplied with the product floored.
|
|
116
|
-
for (let i = 0; i < count; i++) {
|
|
117
|
-
const p = i * 4;
|
|
118
|
-
const a = rgba[p + 3];
|
|
119
|
-
pixels[i] =
|
|
120
|
-
a === 255
|
|
121
|
-
? (0xff000000 | (rgba[p] << 16) | (rgba[p + 1] << 8) | rgba[p + 2]) >>> 0
|
|
122
|
-
: ((a << 24) |
|
|
123
|
-
(Math.floor((rgba[p] * a) / 255) << 16) |
|
|
124
|
-
(Math.floor((rgba[p + 1] * a) / 255) << 8) |
|
|
125
|
-
Math.floor((rgba[p + 2] * a) / 255)) >>>
|
|
126
|
-
0;
|
|
127
|
-
}
|
|
128
|
-
return { width, height, transparent: true, pixels };
|
|
129
|
-
}
|
|
130
|
-
// DefineBitsJPEG3's colours are taken as premultiplied by its alpha
|
|
131
|
-
// already, not premultiplied again; a colour above its alpha reads back
|
|
132
|
-
// as 255, as it does from a colour clamped to the alpha, which keeps the
|
|
133
|
-
// store a valid premultiplied one. Alpha of the wrong size is none.
|
|
134
|
-
const alpha = definition.alpha && definition.alpha.length >= count ? definition.alpha : null;
|
|
135
|
-
for (let i = 0; i < count; i++) {
|
|
136
|
-
const p = i * 4;
|
|
137
|
-
const a = alpha ? alpha[i] : 255;
|
|
138
|
-
pixels[i] =
|
|
139
|
-
((a << 24) |
|
|
140
|
-
(Math.min(rgba[p], a) << 16) |
|
|
141
|
-
(Math.min(rgba[p + 1], a) << 8) |
|
|
142
|
-
Math.min(rgba[p + 2], a)) >>>
|
|
143
|
-
0;
|
|
144
|
-
}
|
|
145
|
-
return { width, height, transparent: alpha !== null || definition.opaque, pixels };
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=images.js.map
|
package/dist/images.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"images.js","sourceRoot":"","sources":["../src/images.ts"],"names":[],"mappings":"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"}
|
package/dist/input.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Container, type DisplayObject } from "./display.js";
|
|
2
|
-
import { type Rect } from "./geometry.js";
|
|
3
|
-
import type { KeyboardInput } from "./keyboard.js";
|
|
4
|
-
import type { Scripting } from "./scripting.js";
|
|
5
|
-
export interface PointerState {
|
|
6
|
-
x: number;
|
|
7
|
-
y: number;
|
|
8
|
-
button?: number;
|
|
9
|
-
buttons?: number;
|
|
10
|
-
altKey?: boolean;
|
|
11
|
-
ctrlKey?: boolean;
|
|
12
|
-
shiftKey?: boolean;
|
|
13
|
-
/** When, in milliseconds, which tells a double click from two clicks. */
|
|
14
|
-
time?: number;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* The object under a point, in stage coordinates, as Flash picks it
|
|
18
|
-
* (Ruffle's `mouse_pick_avm2`): within a container, its interactive
|
|
19
|
-
* children first, topmost first, then the rest. A hit on artwork, or on
|
|
20
|
-
* a child whose mouseEnabled is false, goes to the nearest ancestor that
|
|
21
|
-
* takes the pointer; one that goes up is kept while the search goes on,
|
|
22
|
-
* so a disabled field over a button leaves the button its clicks.
|
|
23
|
-
*/
|
|
24
|
-
export declare function pointerTarget(stage: Container, x: number, y: number, width: number, height: number): DisplayObject | null;
|
|
25
|
-
/** Mouse events on the player's display list, independent of a renderer. */
|
|
26
|
-
export declare class PointerInput {
|
|
27
|
-
private readonly stage;
|
|
28
|
-
private readonly scripting;
|
|
29
|
-
/** What a press tells the keyboard: which field it focuses, and where its caret goes. */
|
|
30
|
-
private readonly keyboard;
|
|
31
|
-
/** How many pointer events it has handled. */
|
|
32
|
-
handled: number;
|
|
33
|
-
/**
|
|
34
|
-
* How many of them may show before the next frame: a button's state,
|
|
35
|
-
* focus or a selection changed. What a mouse listener changes otherwise
|
|
36
|
-
* shows at the next frame, as in Flash, unless it asks updateAfterEvent.
|
|
37
|
-
*/
|
|
38
|
-
redraws: number;
|
|
39
|
-
private hover;
|
|
40
|
-
private pressed;
|
|
41
|
-
/** The last press, which the next continues as a double or triple click if near it in place and time. */
|
|
42
|
-
private lastPress;
|
|
43
|
-
private moved;
|
|
44
|
-
private shown;
|
|
45
|
-
private drag;
|
|
46
|
-
/** Told the cursor to show whenever it changes. */
|
|
47
|
-
onCursor: ((cursor: Cursor) => void) | null;
|
|
48
|
-
constructor(stage: Container, scripting: Scripting,
|
|
49
|
-
/** What a press tells the keyboard: which field it focuses, and where its caret goes. */
|
|
50
|
-
keyboard?: KeyboardInput | null);
|
|
51
|
-
/** Flash has one active drag for the whole stage, independent of mouse button state. */
|
|
52
|
-
startDrag(target: DisplayObject, lockCenter: boolean, bounds: Rect | null): void;
|
|
53
|
-
stopDrag(): void;
|
|
54
|
-
private updateDrag;
|
|
55
|
-
private send;
|
|
56
|
-
/**
|
|
57
|
-
* A move to handle at the next flush: at the start of the player's next
|
|
58
|
-
* frame, or before the next other input, whichever comes first. A host
|
|
59
|
-
* gets several a frame, of which only the last one shows.
|
|
60
|
-
*/
|
|
61
|
-
post(p: PointerState): void;
|
|
62
|
-
/** Handle the move posted, if any. */
|
|
63
|
-
flush(): void;
|
|
64
|
-
handle(type: "move" | "down" | "up" | "leave", p: PointerState): void;
|
|
65
|
-
/** Show a changed cursor immediately, including when a script hides or shows it. */
|
|
66
|
-
updateCursor(): void;
|
|
67
|
-
/**
|
|
68
|
-
* The cursor to show: none while Mouse.hide holds, the one Mouse.cursor
|
|
69
|
-
* names unless it is "auto", a registered one before Flash's own of the
|
|
70
|
-
* same name, and otherwise the one over what the pointer is on, as Ruffle
|
|
71
|
-
* chooses it: a hand over a button that uses one, or under the nearest
|
|
72
|
-
* sprite in buttonMode whose useHandCursor and enabled are true; an
|
|
73
|
-
* I-beam over selectable text, whose links do not show a hand yet.
|
|
74
|
-
*/
|
|
75
|
-
cursor(): Cursor;
|
|
76
|
-
}
|
|
77
|
-
/** A CSS cursor the host shows over the player; a registered one is its image's `url(...)`. */
|
|
78
|
-
export type Cursor = "default" | "pointer" | "text" | "grab" | "none" | `url(${string}`;
|
|
79
|
-
//# sourceMappingURL=input.d.ts.map
|
package/dist/input.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,SAAS,EACT,KAAK,aAAa,EAInB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA6BD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAmFtB;AAED,4EAA4E;AAC5E,qBAAa,YAAY;IA0BrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA5B3B,8CAA8C;IAC9C,OAAO,SAAK;IACZ;;;;OAIG;IACH,OAAO,SAAK;IACZ,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,OAAO,CAA8B;IAC7C,yGAAyG;IACzG,OAAO,CAAC,SAAS,CAAuE;IACxF,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,IAAI,CAMI;IAChB,mDAAmD;IACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEnD,YACmB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,SAAS;IACrC,yFAAyF;IACxE,QAAQ,GAAE,aAAa,GAAG,IAAW,EACpD;IAEJ,wFAAwF;IACxF,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAS/E;IAED,QAAQ,IAAI,IAAI,CAGf;IAED,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,IAAI;IAgCZ;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAE1B;IAED,sCAAsC;IACtC,KAAK,IAAI,IAAI,CAKZ;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC,EAAE,YAAY,GAAG,IAAI,CAkHpE;IAED,oFAAoF;IACpF,YAAY,IAAI,IAAI,CAMnB;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,MAAM,CAkCf;CACF;AAED,+FAA+F;AAC/F,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,MAAM,EAAE,CAAC"}
|