UNPKG

@inweb/markup

Version:
76 lines (75 loc) 1.83 kB
import { IMarkupObject } from "./IMarkupObject"; import { IMarkupColorable } from "./IMarkupColorable"; /** * 2D markup Arrow object interface. */ export interface IMarkupArrow extends IMarkupObject, IMarkupColorable { /** * Returns the coordinates of the start and end points of arrow. */ getPoints(): { x: number; y: number; }[]; /** * Sets the coordinates of the start and end points of the arrow. * * @param {{ x: number; y: number }} points - Array of points. */ setPoints(points: { x: number; y: number; }[]): void; /** * Returns the coordinates of the start point of arrow. */ getStartPoint(): { x: number; y: number; }; /** * Sets the coordinates of the start point of the arrow. */ setStartPoint(x: number, y: number): void; /** * Returns the coordinates of the end point of arrow. */ getEndPoint(): { x: number; y: number; }; /** * Sets the coordinates of the end point of the arrow. */ setEndPoint(x: number, y: number): void; } /** * Defines the parameters for creating a {@link IMarkupArrow | markup arrow}. */ export interface IMarkupArrowParams { /** * Screen coordinates of the start point of arrow. */ start?: { x: number; y: number; }; /** * Screen coordinates of the end point of arrow. */ end?: { x: number; y: number; }; /** * Line color as a string in hexadecimal color syntax `#RGB` color using its primary color components * (red, green, blue) written as hexadecimal numbers. * * @default "#ff0000" */ color?: string; /** * Internal markup object identifier. */ id?: string; }