UNPKG

@inweb/markup

Version:
84 lines (83 loc) 1.88 kB
import { IMarkupObject } from "./IMarkupObject"; import { IMarkupColorable } from "./IMarkupColorable"; /** * 2D markup Cloud object interface. */ export interface IMarkupCloud extends IMarkupObject, IMarkupColorable { /** * Returns the coordinates of the top-left point (position) of the cloud. */ getPosition(): { x: number; y: number; }; /** * Sets the coordinates of the top-left point (position) of the cloud. */ setPosition(x: number, y: number): void; /** * Returns the width of the cloud. */ getWidth(): number; /** * Sets the width of the cloud. */ setWidth(w: number): void; /** * Returns the height of the cloud. */ getHeigth(): number; /** * Sets the height of the cloud. */ setHeight(h: number): void; /** * Returns the line width of the cloud. */ getLineWidth(): number; /** * Sets the line width of the cloud. */ setLineWidth(size: number): void; } /** * Defines the parameters for creating a {@link IMarkupCloudParams | markup cloud}. */ export interface IMarkupCloudParams { /** * Coordinates of the top-left point (position) of the cloud. */ position?: { x: number; y: number; }; /** * Width of the cloud. * * @default 200 */ width?: number; /** * Height of the cloud. * * @default 200 */ height?: number; /** * Line width. * * @default 4 */ lineWidth?: 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; }