/** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { BlockSvg } from '../../block_svg.js'; import type { Connection } from '../../connection.js'; import type { BlockStyle } from '../../theme.js'; import { PathObject as BasePathObject } from '../common/path_object.js'; import type { ConstantProvider } from './constants.js'; /** * An object that handles creating and setting each of the SVG elements * used by the renderer. */ export declare class PathObject extends BasePathObject { /** The selected path of the block. */ private svgPathSelected; /** The outline paths on the block. */ private readonly outlines; /** * A set used to determine which outlines were used during a draw pass. The * set is initialized with a reference to all the outlines in * `this.outlines`. Every time we use an outline during the draw pass, the * reference is removed from this set. */ private remainingOutlines; /** * The type of block's output connection shape. This is set when a block * with an output connection is drawn. */ outputShapeType: number | null; constants: ConstantProvider; /** * @param root The root SVG element. * @param style The style object to use for colouring. * @param constants The renderer's constants. */ constructor(root: SVGElement, style: BlockStyle, constants: ConstantProvider); setPath(pathString: string): void; applyColour(block: BlockSvg): void; flipRTL(): void; updateSelected(enable: boolean): void; updateReplacementFade(enable: boolean): void; updateShapeForInputHighlight(conn: Connection, enable: boolean): void; /** * Method that's called when the drawer is about to draw the block. */ beginDrawing(): void; /** * Method that's called when the drawer is done drawing. */ endDrawing(): void; /** * Set the path generated by the renderer for an outline path on the * respective outline path SVG element. * * @param name The input name. * @param pathString The path. */ setOutlinePath(name: string, pathString: string): void; /** * Create's an outline path for the specified input. * * @internal * @param name The input name. * @returns The SVG outline path. */ getOutlinePath(name: string): SVGElement; /** * Remove an outline path that is associated with the specified input. * * @param name The input name. */ private removeOutlinePath; } //# sourceMappingURL=path_object.d.ts.map