| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { ExcalidrawElement } from "../element/types";
- import { AppState, BinaryFiles } from "../types";
- import { exportCanvas } from ".";
- import { getNonDeletedElements } from "../element";
- import { getFileHandleType, isImageFileHandleType } from "./blob";
- export const resaveAsImageWithScene = async (
- elements: readonly ExcalidrawElement[],
- appState: AppState,
- files: BinaryFiles,
- ) => {
- const { exportBackground, viewBackgroundColor, name, fileHandle } = appState;
- const fileHandleType = getFileHandleType(fileHandle);
- if (!fileHandle || !isImageFileHandleType(fileHandleType)) {
- throw new Error(
- "fileHandle should exist and should be of type svg or png when resaving",
- );
- }
- appState = {
- ...appState,
- exportEmbedScene: true,
- };
- await exportCanvas(
- fileHandleType,
- getNonDeletedElements(elements),
- appState,
- files,
- {
- exportBackground,
- viewBackgroundColor,
- name,
- fileHandle,
- },
- );
- return { fileHandle };
- };
|