12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { Point, Line, Rectangle, Polyline, Ellipse, Path } from '@antv/x6-geometry';
- import { PointData, PointLike } from '@antv/x6-common';
- import { normalize } from '../registry/marker/util';
- export declare namespace Util {
- const normalizeMarker: typeof normalize;
- /**
- * Transforms point by an SVG transformation represented by `matrix`.
- */
- function transformPoint(point: Point.PointLike, matrix: DOMMatrix): Point;
- /**
- * Transforms line by an SVG transformation represented by `matrix`.
- */
- function transformLine(line: Line, matrix: DOMMatrix): Line;
- /**
- * Transforms polyline by an SVG transformation represented by `matrix`.
- */
- function transformPolyline(polyline: Polyline, matrix: DOMMatrix): Polyline;
- function transformRectangle(rect: Rectangle.RectangleLike, matrix: DOMMatrix): Rectangle;
- /**
- * Returns the bounding box of the element after transformations are
- * applied. If `withoutTransformations` is `true`, transformations of
- * the element will not be considered when computing the bounding box.
- * If `target` is specified, bounding box will be computed relatively
- * to the `target` element.
- */
- function bbox(elem: SVGElement, withoutTransformations?: boolean, target?: SVGElement): Rectangle;
- /**
- * Returns the bounding box of the element after transformations are
- * applied. Unlike `bbox()`, this function fixes a browser implementation
- * bug to return the correct bounding box if this elemenent is a group of
- * svg elements (if `options.recursive` is specified).
- */
- function getBBox(elem: SVGElement, options?: {
- target?: SVGElement | null;
- recursive?: boolean;
- }): Rectangle;
- function getBoundingOffsetRect(elem: HTMLElement): {
- left: number;
- top: number;
- width: number;
- height: number;
- };
- /**
- * Convert the SVGElement to an equivalent geometric shape. The element's
- * transformations are not taken into account.
- *
- * SVGRectElement => Rectangle
- *
- * SVGLineElement => Line
- *
- * SVGCircleElement => Ellipse
- *
- * SVGEllipseElement => Ellipse
- *
- * SVGPolygonElement => Polyline
- *
- * SVGPolylineElement => Polyline
- *
- * SVGPathElement => Path
- *
- * others => Rectangle
- */
- function toGeometryShape(elem: SVGElement): Path | Rectangle | Line | Polyline | Ellipse;
- function translateAndAutoOrient(elem: SVGElement, position: PointLike | PointData, reference: PointLike | PointData, target?: SVGElement): void;
- function findShapeNode(magnet: Element): Element | null;
- function getBBoxV2(elem: SVGElement): Rectangle;
- }
|