@lightningjs/renderer
Version:
Lightning 3 Renderer
42 lines • 1.3 kB
JavaScript
export class CoreFontManager {
fonts = Object.create(null);
renderers = Object.create(null);
constructor(stage, textRenderers) {
for (let i = 0; i < textRenderers.length; i++) {
const renderer = textRenderers[i];
renderer.init(stage);
this.renderers[renderer.type] = renderer;
}
}
loadFont(type, options) {
const targetRenderer = this.renderers[type];
if (targetRenderer === undefined) {
console.error('renderer type for this font does not exist');
return;
}
console.log('loadFOnt', type, options);
const font = targetRenderer.createFont(options);
if (font === undefined) {
return;
}
font.load();
this.fonts[options.fontFamily] = font;
}
unloadFont(fontFamily) {
const targetFont = this.fonts[fontFamily];
if (targetFont === undefined) {
return;
}
targetFont.destroy();
delete this.fonts[fontFamily];
}
getFont(fontFamily) {
const font = this.fonts[fontFamily];
if (font === undefined) {
console.warn('fontFamily not registered');
return;
}
return font;
}
}
//# sourceMappingURL=FontManager.js.map