pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
27 lines (23 loc) • 1.03 kB
JavaScript
;
var HTMLTextRenderData = require('../HTMLTextRenderData.js');
;
let tempHTMLTextRenderData;
function measureHtmlText(text, style, fontStyleCSS, htmlTextRenderData) {
htmlTextRenderData || (htmlTextRenderData = tempHTMLTextRenderData || (tempHTMLTextRenderData = new HTMLTextRenderData.HTMLTextRenderData()));
const { domElement, styleElement, svgRoot } = htmlTextRenderData;
domElement.innerHTML = `<style>${style.cssStyle};</style><div style='padding:0'>${text}</div>`;
domElement.setAttribute("style", "transform-origin: top left; display: inline-block");
if (fontStyleCSS) {
styleElement.textContent = fontStyleCSS;
}
document.body.appendChild(svgRoot);
const contentBounds = domElement.getBoundingClientRect();
svgRoot.remove();
const doublePadding = style.padding * 2;
return {
width: contentBounds.width - doublePadding,
height: contentBounds.height - doublePadding
};
}
exports.measureHtmlText = measureHtmlText;
//# sourceMappingURL=measureHtmlText.js.map