12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import type { DisplayObjectConfig } from '../dom';
- import { Point } from '../shapes';
- import type { BaseStyleProps, ParsedBaseStyleProps } from '../types';
- import { DisplayObject } from './DisplayObject';
- export interface LineStyleProps extends BaseStyleProps {
- x1: number;
- y1: number;
- x2: number;
- y2: number;
- z1?: number;
- z2?: number;
- isBillboard?: boolean;
- /**
- * marker will be positioned at x1/y1
- */
- markerStart?: DisplayObject;
- /**
- * marker will be positioned at x2/y2
- */
- markerEnd?: DisplayObject;
- /**
- * offset relative to original position
- */
- markerStartOffset?: number;
- /**
- * offset relative to original position
- */
- markerEndOffset?: number;
- }
- export interface ParsedLineStyleProps extends ParsedBaseStyleProps {
- x1: number;
- y1: number;
- x2: number;
- y2: number;
- z1?: number;
- z2?: number;
- defX: number;
- defY: number;
- isBillboard?: boolean;
- markerStart?: DisplayObject;
- markerEnd?: DisplayObject;
- markerStartOffset?: number;
- markerEndOffset?: number;
- }
- /**
- * Create a line connecting two points.
- * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line
- *
- * Also support for using marker.
- */
- export declare class Line extends DisplayObject<LineStyleProps, ParsedLineStyleProps> {
- private markerStartAngle;
- private markerEndAngle;
- constructor({ style, ...rest }?: DisplayObjectConfig<LineStyleProps>);
- attributeChangedCallback<Key extends keyof LineStyleProps>(attrName: Key, oldValue: LineStyleProps[Key], newValue: LineStyleProps[Key], prevParsedValue: ParsedLineStyleProps[Key], newParsedValue: ParsedLineStyleProps[Key]): void;
- private transformMarker;
- getPoint(ratio: number, inWorldSpace?: boolean): Point;
- getPointAtLength(distance: number, inWorldSpace?: boolean): Point;
- getTotalLength(): number;
- }
- //# sourceMappingURL=Line.d.ts.map
|