Initial
This commit is contained in:
40
resources/app/node_modules/@pixi/text-bitmap/lib/loadBitmapFont.mjs
generated
vendored
Normal file
40
resources/app/node_modules/@pixi/text-bitmap/lib/loadBitmapFont.mjs
generated
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import { LoaderParserPriority, copySearchParams } from "@pixi/assets";
|
||||
import { ExtensionType, utils, settings, extensions } from "@pixi/core";
|
||||
import { BitmapFont } from "./BitmapFont.mjs";
|
||||
import "./formats/index.mjs";
|
||||
import { TextFormat } from "./formats/TextFormat.mjs";
|
||||
import { XMLStringFormat } from "./formats/XMLStringFormat.mjs";
|
||||
const validExtensions = [".xml", ".fnt"], loadBitmapFont = {
|
||||
extension: {
|
||||
type: ExtensionType.LoadParser,
|
||||
priority: LoaderParserPriority.Normal
|
||||
},
|
||||
name: "loadBitmapFont",
|
||||
test(url) {
|
||||
return validExtensions.includes(utils.path.extname(url).toLowerCase());
|
||||
},
|
||||
async testParse(data) {
|
||||
return TextFormat.test(data) || XMLStringFormat.test(data);
|
||||
},
|
||||
async parse(asset, data, loader) {
|
||||
const fontData = TextFormat.test(asset) ? TextFormat.parse(asset) : XMLStringFormat.parse(asset), { src } = data, { page: pages } = fontData, textureUrls = [];
|
||||
for (let i = 0; i < pages.length; ++i) {
|
||||
const pageFile = pages[i].file;
|
||||
let imagePath = utils.path.join(utils.path.dirname(src), pageFile);
|
||||
imagePath = copySearchParams(imagePath, src), textureUrls.push(imagePath);
|
||||
}
|
||||
const loadedTextures = await loader.load(textureUrls), textures = textureUrls.map((url) => loadedTextures[url]);
|
||||
return BitmapFont.install(fontData, textures, !0);
|
||||
},
|
||||
async load(url, _options) {
|
||||
return (await settings.ADAPTER.fetch(url)).text();
|
||||
},
|
||||
unload(bitmapFont) {
|
||||
bitmapFont.destroy();
|
||||
}
|
||||
};
|
||||
extensions.add(loadBitmapFont);
|
||||
export {
|
||||
loadBitmapFont
|
||||
};
|
||||
//# sourceMappingURL=loadBitmapFont.mjs.map
|
||||
Reference in New Issue
Block a user