From 3840e2f4e6093604cf4b851bc6d9c2fc90d2ca12 Mon Sep 17 00:00:00 2001 From: Achille Lacoin Date: Sat, 16 Apr 2022 16:30:11 +0200 Subject: [PATCH] feat: embed scene support for png export in npm package (#5047) * feat: embed scene support for png export in npm package * move logic to the callback function * add exportEmbedScene checkbox in package example * update readme and changelog * add PR link in changelog * reverse sort changelog items --- src/packages/excalidraw/CHANGELOG.md | 3 ++- src/packages/excalidraw/README_NEXT.md | 2 +- src/packages/excalidraw/example/App.js | 11 +++++++++++ src/packages/utils.ts | 19 ++++++++++++++++++- 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/packages/excalidraw/CHANGELOG.md b/src/packages/excalidraw/CHANGELOG.md index dec98d79..e3aa056d 100644 --- a/src/packages/excalidraw/CHANGELOG.md +++ b/src/packages/excalidraw/CHANGELOG.md @@ -17,7 +17,8 @@ Please add the latest change on the top under the correct section. #### Features -- Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API useful when dealing with libraries [#4995](https://github.com/excalidraw/excalidraw/pull/4995). +- The `exportToBlob` utility now supports the `exportEmbedScene` option when generating a png image [#5047](https://github.com/excalidraw/excalidraw/pull/5047). +- Exported [`restoreLibraryItems`](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#restoreLibraryItems) API [#4995](https://github.com/excalidraw/excalidraw/pull/4995). #### Fixes diff --git a/src/packages/excalidraw/README_NEXT.md b/src/packages/excalidraw/README_NEXT.md index 5536787a..c20b2915 100644 --- a/src/packages/excalidraw/README_NEXT.md +++ b/src/packages/excalidraw/README_NEXT.md @@ -907,7 +907,7 @@ This function returns a promise which resolves to svg of the exported drawing. | exportBackground | boolean | true | Indicates whether background should be exported | | viewBackgroundColor | string | #fff | The default background color | | exportWithDarkMode | boolean | false | Indicates whether to export with dark mode | -| exportEmbedScene | boolean | false | Indicates whether scene data should be embedded in svg. This will increase the svg size. | +| exportEmbedScene | boolean | false | Indicates whether scene data should be embedded in svg/png. This will increase the image size. | ### Extra API's diff --git a/src/packages/excalidraw/example/App.js b/src/packages/excalidraw/example/App.js index 55bb9462..4182cd3b 100644 --- a/src/packages/excalidraw/example/App.js +++ b/src/packages/excalidraw/example/App.js @@ -51,6 +51,7 @@ export default function App() { const [blobUrl, setBlobUrl] = useState(null); const [canvasUrl, setCanvasUrl] = useState(null); const [exportWithDarkMode, setExportWithDarkMode] = useState(false); + const [exportEmbedScene, setExportEmbedScene] = useState(false); const [theme, setTheme] = useState("light"); const initialStatePromiseRef = useRef({ promise: null }); @@ -245,6 +246,14 @@ export default function App() { /> Export with dark mode +