renderFunctionForWebJs top-level constant
String
const renderFunctionForWebJs
Implementation
const renderFunctionForWebJs = r"""
function render(data) {
data = data.split("@@");
katexElm.innerHTML = data[0];
document.body.style.backgroundColor = data[1];
captureOptions.backgroundColor = data[2];
document.body.style.width = `${data[3]}px`;
let fontSize = Number(data[4]);
let isCenter = data[5] === "true";
if(fontSize != null) {
katexElm.style.fontSize = `${fontSize}px`;
}
if(isCenter) {
katexElm.style.display = "inline-block";
katexWrapperElm.style.textAlign = "center";
}
renderMathInElement(katexElm, KatexOptions);
/*
console.log(`(w, h) = (${katexWrapperElm.offsetWidth}, ${katexWrapperElm.offsetHeight})`);
console.log(`(dw, dh) = (${document.body.offsetWidth}, ${document.body.offsetHeight})`);
*/
/*
html2canvas(katexWrapperElm, captureOptions).then(function(canvas) {
const base64png = canvas.toDataURL();
dart_captureFinished(base64png, canvas.width, canvas.height);
});
*/
const katexWrapperElmStyle = window.getComputedStyle(katexWrapperElm);
const width = parseFloat(katexWrapperElm.offsetWidth) + parseFloat(katexWrapperElmStyle.marginLeft) + parseFloat(katexWrapperElmStyle.marginRight);
const height = parseFloat(katexWrapperElm.offsetHeight) + parseFloat(katexWrapperElmStyle.marginTop) + parseFloat(katexWrapperElmStyle.marginBottom);
dart_katexRendered(`${width},${height}`);
}
""";