@antv/x6
Version:
JavaScript diagramming library that uses SVG and HTML for rendering
64 lines (53 loc) • 1.81 kB
text/typescript
import type { NumberExt, Size } from '../../common'
import type { RectangleLike } from '../../geometry'
import type { Graph } from '../../graph'
export interface ExportEventArgs {
'before:export': ExportToSVGOptions
'after:export': ExportToSVGOptions
}
export type ExportToSVGCallback = (dataUri: string) => any
export interface ExportToSVGOptions {
/**
* By default, the resulting SVG has set width and height to `100%`.
* If you'd like to have the dimensions to be set to the actual content
* width and height, set `preserveDimensions` to `true`. An object with
* `width` and `height` properties can be also used here if you need to
* define the export size explicitely.
*/
preserveDimensions?: boolean | Size
viewBox?: RectangleLike
/**
* When set to `true` all the styles from external stylesheets are copied
* to the resulting SVG export. Note this requires a lot of computations
* and it might significantly affect the export time.
*/
copyStyles?: boolean
stylesheet?: string
/**
* Converts all contained images into Data URI format.
*/
serializeImages?: boolean
/**
* A function called before the XML serialization. It may be used to
* modify the exported SVG before it is converted to a string. The
* function can also return a new SVGDocument.
*/
beforeSerialize?: (this: Graph, svg: SVGSVGElement) => any
}
export interface ExportToImageOptions extends ExportToSVGOptions {
/**
* The width of the image in pixels.
*/
width?: number
/**
* The height of the image in pixels.
*/
height?: number
ratio?: number
backgroundColor?: string
padding?: NumberExt.SideOptions
quality?: number
}
export interface ExportToDataURLOptions extends ExportToImageOptions {
type: 'image/png' | 'image/jpeg'
}