Update export.ts

This commit is contained in:
zsviczian 2022-12-16 23:12:03 +01:00 committed by GitHub
parent 73a45e1988
commit d87e080e88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,6 +14,18 @@ import {
export const SVG_EXPORT_TAG = `<!-- svg-source:excalidraw -->`;
const createScene = (
elements: readonly NonDeletedExcalidrawElement[],
): Scene | null => {
if (!elements || Scene.getScene(elements[0])) {
return null;
}
const scene = new Scene();
scene.replaceAllElements(elements);
elements?.forEach((el) => Scene.mapElementToScene(el, scene));
return scene;
};
export const exportToCanvas = async (
elements: readonly NonDeletedExcalidrawElement[],
appState: AppState,
@ -37,6 +49,7 @@ export const exportToCanvas = async (
return { canvas, scale: appState.exportScale };
},
) => {
const scene = createScene(elements);
const [minX, minY, width, height] = getCanvasSize(elements, exportPadding);
const { canvas, scale = 1 } = createCanvas(width, height);
@ -76,6 +89,7 @@ export const exportToCanvas = async (
},
});
scene?.destroy();
return canvas;
};
@ -97,6 +111,7 @@ export const exportToSvg = async (
exportScale = 1,
exportEmbedScene,
} = appState;
const scene = createScene(elements);
let metadata = "";
if (exportEmbedScene) {
try {
@ -169,6 +184,7 @@ export const exportToSvg = async (
exportWithDarkMode: appState.exportWithDarkMode,
});
scene?.destroy();
return svgRoot;
};