@inweb/markup
Version:
JavaScript 2D markups
74 lines (73 loc) • 1.7 kB
TypeScript
import { IMarkupObject } from "./IMarkupObject";
import { IMarkupColorable } from "./IMarkupColorable";
/**
* 2D markup Text object interface.
*/
export interface IMarkupText extends IMarkupObject, IMarkupColorable {
/**
* Returns the text string.
*/
getText(): string;
/**
* Sets the text string.
*/
setText(text: string): void;
/**
* Returns the screen coordinates of the top-left point (position) of the text.
*/
getPosition(): {
x: number;
y: number;
};
/**
* Sets the screen coordinates of the top-left point (position) of the text.
*/
setPosition(x: number, y: number): void;
/**
* Returns the font size of the text.
*/
getFontSize(): number;
/**
* Sets the font size of the text.
*/
setFontSize(size: number): void;
}
/**
* Defines the parameters for creating a {@link IMarkupText | markup text}.
*/
export interface IMarkupTextParams {
/**
* Screen coordinates of the top-left point (position) of the text.
*/
position?: {
x: number;
y: number;
};
/**
* Text string.
*/
text?: string;
/**
* Rotation angle of the text, in degress.
*
* @default 0
*/
rotation?: number;
/**
* Font size of the text.
*
* @default 34
*/
fontSize?: number;
/**
* Text 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;
}