62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
import Displayable from '../graphic/Displayable';
 | 
						|
import Storage from '../Storage';
 | 
						|
import { PainterBase } from '../PainterBase';
 | 
						|
import { SVGVNode, BrushScope } from './core';
 | 
						|
import { GradientObject } from '../graphic/Gradient';
 | 
						|
import { PatternObject } from '../graphic/Pattern';
 | 
						|
interface SVGPainterOption {
 | 
						|
    width?: number;
 | 
						|
    height?: number;
 | 
						|
    ssr?: boolean;
 | 
						|
}
 | 
						|
declare type SVGPainterBackgroundColor = string | GradientObject | PatternObject;
 | 
						|
declare class SVGPainter implements PainterBase {
 | 
						|
    type: string;
 | 
						|
    storage: Storage;
 | 
						|
    root: HTMLElement;
 | 
						|
    private _svgDom;
 | 
						|
    private _viewport;
 | 
						|
    private _opts;
 | 
						|
    private _oldVNode;
 | 
						|
    private _bgVNode;
 | 
						|
    private _mainVNode;
 | 
						|
    private _width;
 | 
						|
    private _height;
 | 
						|
    private _backgroundColor;
 | 
						|
    private _id;
 | 
						|
    constructor(root: HTMLElement, storage: Storage, opts: SVGPainterOption);
 | 
						|
    getType(): string;
 | 
						|
    getViewportRoot(): HTMLElement;
 | 
						|
    getViewportRootOffset(): {
 | 
						|
        offsetLeft: number;
 | 
						|
        offsetTop: number;
 | 
						|
    };
 | 
						|
    getSvgDom(): SVGElement;
 | 
						|
    refresh(): void;
 | 
						|
    renderOneToVNode(el: Displayable): SVGVNode;
 | 
						|
    renderToVNode(opts?: {
 | 
						|
        animation?: boolean;
 | 
						|
        willUpdate?: boolean;
 | 
						|
        compress?: boolean;
 | 
						|
        useViewBox?: boolean;
 | 
						|
        emphasis?: boolean;
 | 
						|
    }): SVGVNode;
 | 
						|
    renderToString(opts?: {
 | 
						|
        cssAnimation?: boolean;
 | 
						|
        cssEmphasis?: boolean;
 | 
						|
        useViewBox?: boolean;
 | 
						|
    }): string;
 | 
						|
    setBackgroundColor(backgroundColor: SVGPainterBackgroundColor): void;
 | 
						|
    getSvgRoot(): SVGElement;
 | 
						|
    _paintList(list: Displayable[], scope: BrushScope, out?: SVGVNode[]): void;
 | 
						|
    resize(width: number, height: number): void;
 | 
						|
    getWidth(): number;
 | 
						|
    getHeight(): number;
 | 
						|
    dispose(): void;
 | 
						|
    clear(): void;
 | 
						|
    toDataURL(base64?: boolean): string;
 | 
						|
    refreshHover: () => void;
 | 
						|
    configLayer: (zlevel: number, config: import("../core/types").Dictionary<any>) => void;
 | 
						|
}
 | 
						|
export default SVGPainter;
 |