File size: 5,269 Bytes
04f98c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
import Canvg from '../Canvg';
import Screen, { IScreenViewBoxConfig } from '../Screen';
import Property from '../Property';
import SVGFontLoader from '../SVGFontLoader';
import Element from './Element';
import TextNode from './TextNode';
import ImageElement from './ImageElement';
import SVGElement from './SVGElement';
/**

 * Function to create new canvas.

 */
export declare type CreateCanvas = (width: number, height: number) => HTMLCanvasElement | OffscreenCanvas;
/**

 * Function to create new image.

 */
export declare type CreateImage = (src: string, anonymousCrossOrigin?: boolean) => Promise<CanvasImageSource>;
export interface IDocumentOptions {
    /**

     * Default `rem` size.

     */
    rootEmSize?: number;
    /**

     * Default `em` size.

     */
    emSize?: number;
    /**

     * Function to create new canvas.

     */
    createCanvas?: CreateCanvas;
    /**

     * Function to create new image.

     */
    createImage?: CreateImage;
    /**

     * Load images anonymously.

     */
    anonymousCrossOrigin?: boolean;
}
export declare type IViewBoxConfig = Omit<IScreenViewBoxConfig, 'document'>;
declare type DOMDocument = typeof window.document;
declare function createCanvas(width: number, height: number): HTMLCanvasElement;
declare function createImage(src: string, anonymousCrossOrigin?: boolean): Promise<HTMLImageElement>;
export default class Document {
    readonly canvg: Canvg;
    static readonly createCanvas: typeof createCanvas;
    static readonly createImage: typeof createImage;
    static readonly elementTypes: {
        svg: typeof SVGElement;
        rect: typeof import("./RectElement").default;
        circle: typeof import("./CircleElement").default;
        ellipse: typeof import("./EllipseElement").default;
        line: typeof import("./LineElement").default;
        polyline: typeof import("./PolylineElement").default;
        polygon: typeof import("./PolygonElement").default;
        path: typeof import("./PathElement").default;
        pattern: typeof import("./PatternElement").default;
        marker: typeof import("./MarkerElement").default;
        defs: typeof import("./DefsElement").default;
        linearGradient: typeof import("./LinearGradientElement").default;
        radialGradient: typeof import("./RadialGradientElement").default;
        stop: typeof import("./StopElement").default;
        animate: typeof import("./AnimateElement").default;
        animateColor: typeof import("./AnimateColorElement").default;
        animateTransform: typeof import("./AnimateTransformElement").default;
        font: typeof import("./FontElement").default;
        'font-face': typeof import("./FontFaceElement").default;
        'missing-glyph': typeof import("./MissingGlyphElement").default;
        glyph: typeof import("./GlyphElement").default;
        text: typeof import("./TextElement").default;
        tspan: typeof import("./TSpanElement").default;
        tref: typeof import("./TRefElement").default;
        a: typeof import("./AElement").default;
        textPath: typeof import("./TextPathElement").default;
        image: typeof ImageElement;
        g: typeof import("./GElement").default;
        symbol: typeof import("./SymbolElement").default;
        style: typeof import("./StyleElement").default;
        use: typeof import("./UseElement").default;
        mask: typeof import("./MaskElement").default;
        clipPath: typeof import("./ClipPathElement").default;
        filter: typeof import("./FilterElement").default;
        feDropShadow: typeof import("./FeDropShadowElement").default;
        feMorphology: typeof import("./FeMorphologyElement").default;
        feComposite: typeof import("./FeCompositeElement").default;
        feColorMatrix: typeof import("./FeColorMatrixElement").default;
        feGaussianBlur: typeof import("./FeGaussianBlurElement").default;
        title: typeof import("./TitleElement").default;
        desc: typeof import("./DescElement").default;
    };
    rootEmSize: number;
    documentElement: SVGElement;
    readonly screen: Screen;
    readonly createCanvas: CreateCanvas;
    readonly createImage: CreateImage;
    readonly definitions: Record<string, Element>;
    readonly styles: Record<string, Record<string, Property>>;
    readonly stylesSpecificity: Record<string, string>;
    readonly images: ImageElement[];
    readonly fonts: SVGFontLoader[];
    private readonly emSizeStack;
    private uniqueId;
    constructor(canvg: Canvg, { rootEmSize, emSize, createCanvas, createImage, anonymousCrossOrigin }?: IDocumentOptions);
    private bindCreateImage;
    get window(): Window;
    get fetch(): typeof fetch;
    get ctx(): import("..").RenderingContext2D;
    get emSize(): number;
    set emSize(value: number);
    popEmSize(): void;
    getUniqueId(): string;
    isImagesLoaded(): boolean;
    isFontsLoaded(): boolean;
    createDocumentElement(document: DOMDocument): SVGElement;
    createElement<T extends Element>(node: HTMLElement): T;
    createTextNode(node: HTMLElement): TextNode;
    setViewBox(config: IViewBoxConfig): void;
}
export {};
//# sourceMappingURL=Document.d.ts.map