@meta2d/core
Version:
@meta2d/core: Powerful, Beautiful, Simple, Open - Web-Based 2D At Its Best .
51 lines (50 loc) • 1.94 kB
TypeScript
import { Pen } from '../../pen';
import { Point } from '../../point';
import { Rect } from '../../rect';
import { Meta2dStore } from '../../store';
export declare function line(pen: Pen, ctx?: CanvasRenderingContext2D | Path2D): Path2D;
export declare function lineSegment(store: Meta2dStore, pen: Pen, mousedwon?: Point): void;
export declare function getLineRect(pen: Pen): Rect;
/**
* 获取连线的 points ,并非 worldAnchors ,worldAnchors 之前的路径点也会记录
*/
export declare function getLinePoints(pen: Pen): Point[];
export declare function getLineR(pen: Pen): number;
export declare function getPoints(from: Point, to: Point, pen?: Pen): Point[];
export declare function pointInLine(pt: Point, pen: Pen): {
i: number;
point: Point;
};
export declare function pointInLineSegment(pt: Point, pt1: Point, pt2: Point, r?: number): {
x: number;
y: number;
};
export declare function pointToLine(pt: Point, pt1: Point, pt2: Point, r?: number): {
x: number;
y: number;
};
export declare function getLineLength(pen: Pen): number;
export declare function createLineSvgPath(line: Pen): SVGGeometryElement;
/**
* 连线在 rect 内, 连线与 rect 相交
*/
export declare function lineInRect(line: Pen, rect: Rect): boolean;
/**
* 线段与矩形是否相交
* @param rect 矩形
*/
export declare function isLineIntersectRectangle(pt1: Point, pt2: Point, rect: Rect): boolean;
/**
* 贝塞尔曲线与矩形是否相交
* @param from 前点
* @param to 后点
* @param rect 矩形
*/
export declare function isBezierIntersectRectangle(from: Point, to: Point, rect: Rect): boolean;
export declare function createSvgPath(path: SVGGeometryElement, from: Point, cp1: Point, cp2?: Point, to?: Point): SVGGeometryElement;
export declare function getLinePointPosAndAngle(path: SVGGeometryElement, distance: number): {
x: number;
y: number;
rotate: number;
progress: number;
};