fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
23 lines (22 loc) • 1.61 kB
JavaScript
import { getFabricWindow } from "../env/index.mjs";
import { parseSVGDocument } from "./parseSVGDocument.mjs";
//#region src/parser/loadSVGFromString.ts
/**
* Takes string corresponding to an SVG document, and parses it into a set of fabric objects
* @param {String} string representing the svg
* @param {TSvgParsedCallback} callback Invoked when the parsing is done, with null if parsing wasn't possible with the list of svg nodes.
* {@link TSvgParsedCallback} also receives `allElements` array as the last argument. This is the full list of svg nodes available in the document.
* You may want to use it if you are trying to regroup the objects as they were originally grouped in the SVG. ( This was the reason why it was added )
* @param {TSvgReviverCallback} [reviver] Extra callback for further parsing of SVG elements, called after each fabric object has been created.
* Takes as input the original svg element and the generated `FabricObject` as arguments. Used to inspect extra properties not parsed by fabric,
* or extra custom manipulation
* @param {Object} [options] Object containing options for parsing
* @param {String} [options.crossOrigin] crossOrigin setting to use for external resources
* @param {AbortSignal} [options.signal] handle aborting, see https://developer.mozilla.org/en-US/docs/Web/API/AbortController/signal
*/
function loadSVGFromString(string, reviver, options) {
return parseSVGDocument(new (getFabricWindow()).DOMParser().parseFromString(string.trim(), "text/xml"), reviver, options);
}
//#endregion
export { loadSVGFromString };
//# sourceMappingURL=loadSVGFromString.mjs.map