148 lines
4.9 KiB
JavaScript
148 lines
4.9 KiB
JavaScript
// Metro module 4842 (f4843).
|
|
import _slicedToArray from "./_slicedToArray";
|
|
import { strRepeat, parseFloatRadix, padStart, getPascalStringFromDataView } from "./Module4802";
|
|
import Module4819 from "./Module4819";
|
|
let c2976_4;
|
|
const parseBezierKnot = function parseBezierKnot(a0, a1) {
|
|
const r15 = [];
|
|
let r4 = 0;
|
|
while (true) {
|
|
const r25 = a1 + r4;
|
|
const longAt = Module4819.getLongAt(a0, r25);
|
|
const r0 = longAt >>> 31;
|
|
const r10 = r4;
|
|
const r2 = r0 === 0 ? 1 : -1;
|
|
const r37 = (2130706432 & longAt) >>> 24;
|
|
const r34 = longAt & parseInt(strRepeat("1", 24), 2);
|
|
const r55 = r2 * parseFloatRadix(r37.toString(2) + "." + padStart(r34.toString(2), 24, "0"), 2);
|
|
const longAt2 = Module4819.getLongAt(a0, r25 + 4);
|
|
const r61 = longAt2 >>> 31 === 0 ? 1 : -1;
|
|
const r63 = (2130706432 & longAt2) >>> 24;
|
|
const r70 = longAt2 & parseInt(strRepeat("1", 24), 2);
|
|
r15.push([r61 * parseFloatRadix(r63.toString(2) + "." + padStart(r70.toString(2), 24, "0"), 2), r55]);
|
|
r4 = r10 + 8;
|
|
if (!(r4 < 24)) {
|
|
return r15;
|
|
}
|
|
}
|
|
};
|
|
const r15 = {
|
|
CLOSED_SUBPATH_LENGTH: 0,
|
|
CLOSED_SUBPATH_BEZIER_LINKED: 1,
|
|
CLOSED_SUBPATH_BEZIER_UNLINKED: 2,
|
|
OPEN_SUBPATH_LENGTH: 3,
|
|
OPEN_SUBPATH_BEZIER_LINKED: 4,
|
|
OPEN_SUBPATH_BEZIER_UNLINKED: 5,
|
|
FILL_RULE: 6,
|
|
CLIPBOARD: 7,
|
|
INITIAL_FILL_RULE: 8
|
|
};
|
|
const r18 = {
|
|
2000: {
|
|
name: "PathInformation",
|
|
description: function pathResource(a0) {
|
|
const types = {};
|
|
const paths = [];
|
|
const byteLength = a0.byteLength;
|
|
let r0 = 0;
|
|
if (0 < byteLength) {
|
|
do {
|
|
const shortAt = Module4819.getShortAt(a0, r0);
|
|
const r19 = c2976_4[shortAt];
|
|
const r1 = r0;
|
|
if (r19) {
|
|
if (!types[shortAt]) {
|
|
types[shortAt] = c2976_4[shortAt].description;
|
|
}
|
|
paths.push({
|
|
type: shortAt,
|
|
path: c2976_4[shortAt].path(a0, r1 + 2)
|
|
});
|
|
}
|
|
r0 = r1 + 26;
|
|
} while (r0 < a0.byteLength);
|
|
}
|
|
return JSON.stringify({
|
|
types,
|
|
paths
|
|
});
|
|
}
|
|
},
|
|
2999: {
|
|
name: "ClippingPathName",
|
|
description: (a0) => _slicedToArray(getPascalStringFromDataView(a0, 0), 2)[1]
|
|
}
|
|
};
|
|
const r21 = {};
|
|
r21[r15.CLOSED_SUBPATH_LENGTH] = {
|
|
description: "Closed subpath length",
|
|
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
|
|
};
|
|
r21[r15.CLOSED_SUBPATH_BEZIER_LINKED] = {
|
|
description: "Closed subpath Bezier knot, linked",
|
|
path: parseBezierKnot
|
|
};
|
|
r21[r15.CLOSED_SUBPATH_BEZIER_UNLINKED] = {
|
|
description: "Closed subpath Bezier knot, unlinked",
|
|
path: parseBezierKnot
|
|
};
|
|
r21[r15.OPEN_SUBPATH_LENGTH] = {
|
|
description: "Open subpath length",
|
|
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
|
|
};
|
|
r21[r15.OPEN_SUBPATH_BEZIER_LINKED] = {
|
|
description: "Open subpath Bezier knot, linked",
|
|
path: parseBezierKnot
|
|
};
|
|
r21[r15.OPEN_SUBPATH_BEZIER_UNLINKED] = {
|
|
description: "Open subpath Bezier knot, unlinked",
|
|
path: parseBezierKnot
|
|
};
|
|
r21[r15.FILL_RULE] = {
|
|
description: "Path fill rule",
|
|
path: () => []
|
|
};
|
|
r21[r15.INITIAL_FILL_RULE] = {
|
|
description: "Initial fill rule",
|
|
path: (a0, a1) => [Module4819.getShortAt(a0, a1)]
|
|
};
|
|
r21[r15.CLIPBOARD] = {
|
|
description: "Clipboard",
|
|
path: function parseClipboard(a0, a1) {
|
|
const longAt = Module4819.getLongAt(a0, a1);
|
|
const r1 = longAt >>> 31;
|
|
let r4 = -1;
|
|
const r0 = r1 === 0 ? 1 : -1;
|
|
const r2 = (2130706432 & longAt) >>> 24;
|
|
const r35 = longAt & parseInt(strRepeat("1", 24), 2);
|
|
const r49 = [r0 * parseFloatRadix(r2.toString(2) + "." + padStart(r35.toString(2), 24, "0"), 2), , , ,];
|
|
const longAt2 = Module4819.getLongAt(a0, a1 + 4);
|
|
const r57 = longAt2 >>> 31 === 0 ? 1 : -1;
|
|
const r59 = (2130706432 & longAt2) >>> 24;
|
|
const r25 = longAt2 & parseInt(strRepeat("1", 24), 2);
|
|
r49[1] = r57 * parseFloatRadix(r59.toString(2) + "." + padStart(r25.toString(2), 24, "0"), 2);
|
|
const longAt3 = Module4819.getLongAt(a0, a1 + 8);
|
|
const r87 = longAt3 >>> 31 === 0 ? 1 : -1;
|
|
const r89 = (2130706432 & longAt3) >>> 24;
|
|
const r96 = longAt3 & parseInt(strRepeat("1", 24), 2);
|
|
r49[2] = r87 * parseFloatRadix(r89.toString(2) + "." + padStart(r96.toString(2), 24, "0"), 2);
|
|
const longAt4 = Module4819.getLongAt(a0, a1 + 12);
|
|
const r119 = longAt4 >>> 31 === 0 ? 1 : -1;
|
|
const r121 = (2130706432 & longAt4) >>> 24;
|
|
const r128 = longAt4 & parseInt(strRepeat("1", 24), 2);
|
|
r49[3] = r119 * parseFloatRadix(r121.toString(2) + "." + padStart(r128.toString(2), 24, "0"), 2);
|
|
const r144 = [r49, ,];
|
|
const longAt5 = Module4819.getLongAt(a0, a1 + 16);
|
|
if (longAt5 >>> 31 === 0) {
|
|
r4 = 1;
|
|
}
|
|
const r153 = (2130706432 & longAt5) >>> 24;
|
|
const r160 = longAt5 & parseInt(strRepeat("1", 24), 2);
|
|
r144[1] = r4 * parseFloatRadix(r153.toString(2) + "." + padStart(r160.toString(2), 24, "0"), 2);
|
|
return r144;
|
|
}
|
|
};
|
|
c2976_4 = r21;
|
|
export default r18;
|
|
export { r15 as PathRecordTypes };
|