Line.d.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import type { DisplayObjectConfig } from '../dom';
  2. import { Point } from '../shapes';
  3. import type { BaseStyleProps, ParsedBaseStyleProps } from '../types';
  4. import { DisplayObject } from './DisplayObject';
  5. export interface LineStyleProps extends BaseStyleProps {
  6. x1: number;
  7. y1: number;
  8. x2: number;
  9. y2: number;
  10. z1?: number;
  11. z2?: number;
  12. isBillboard?: boolean;
  13. /**
  14. * marker will be positioned at x1/y1
  15. */
  16. markerStart?: DisplayObject;
  17. /**
  18. * marker will be positioned at x2/y2
  19. */
  20. markerEnd?: DisplayObject;
  21. /**
  22. * offset relative to original position
  23. */
  24. markerStartOffset?: number;
  25. /**
  26. * offset relative to original position
  27. */
  28. markerEndOffset?: number;
  29. }
  30. export interface ParsedLineStyleProps extends ParsedBaseStyleProps {
  31. x1: number;
  32. y1: number;
  33. x2: number;
  34. y2: number;
  35. z1?: number;
  36. z2?: number;
  37. defX: number;
  38. defY: number;
  39. isBillboard?: boolean;
  40. markerStart?: DisplayObject;
  41. markerEnd?: DisplayObject;
  42. markerStartOffset?: number;
  43. markerEndOffset?: number;
  44. }
  45. /**
  46. * Create a line connecting two points.
  47. * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line
  48. *
  49. * Also support for using marker.
  50. */
  51. export declare class Line extends DisplayObject<LineStyleProps, ParsedLineStyleProps> {
  52. private markerStartAngle;
  53. private markerEndAngle;
  54. constructor({ style, ...rest }?: DisplayObjectConfig<LineStyleProps>);
  55. attributeChangedCallback<Key extends keyof LineStyleProps>(attrName: Key, oldValue: LineStyleProps[Key], newValue: LineStyleProps[Key], prevParsedValue: ParsedLineStyleProps[Key], newParsedValue: ParsedLineStyleProps[Key]): void;
  56. private transformMarker;
  57. getPoint(ratio: number, inWorldSpace?: boolean): Point;
  58. getPointAtLength(distance: number, inWorldSpace?: boolean): Point;
  59. getTotalLength(): number;
  60. }
  61. //# sourceMappingURL=Line.d.ts.map