scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
126 lines (125 loc) • 3.98 kB
TypeScript
import { Thickness } from "../../../Core/Thickness";
import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { EAnnotationType } from "./IAnnotation";
import { ISvgAnnotationBaseOptions, SvgAnnotationBase } from "./SvgAnnotationBase";
/**
* Optional parameters passed to an {@link TextAnnotation} during construction
*/
export interface ITextAnnotationOptions extends ISvgAnnotationBaseOptions {
/**
* text provided by the user
*/
text?: string;
/**
* text color provided by the user
*/
textColor?: string;
/**
* font size provided by the user
*/
fontSize?: number;
/**
* font family provided by the user
*/
fontFamily?: string;
/**
* Font weight provided by the user
*/
fontWeight?: string;
/**
* Text background color provided by the user
*/
background?: string;
/**
* Text padding provided by the user
*/
padding?: Thickness;
/**
* Text SVG class provided by the user
*/
className?: string;
}
/**
* A TextAnnotation presents text information over the chart at specific {@link X1}, {@link Y1} coordinates
*/
export declare class TextAnnotation extends SvgAnnotationBase {
/** @inheritDoc */
readonly type = EAnnotationType.SVGTextAnnotation;
protected textProperty: string;
protected textColorProperty: string;
protected fontSizeProperty?: number;
protected fontFamilyProperty?: string;
protected fontWeightProperty?: string;
protected backgroundProperty?: string;
protected paddingProperty?: Thickness;
protected classNameProperty: string;
protected isDirty: boolean;
/**
* Creates an instance of the {@link TextAnnotation}
* @param options The {@link ITextAnnotationOptions} which contain optional parameters
*/
constructor(options?: ITextAnnotationOptions);
/**
* text provided by the user
*/
get text(): string;
set text(text: string);
/**
* Gets or sets the background of {@link TextAnnotation}
*/
get background(): string;
/**
* Gets or sets the background of {@link TextAnnotation}
*/
set background(value: string);
/**
* Gets or sets the padding of {@link TextAnnotation}
*/
get padding(): Thickness;
/**
* Gets or sets the padding of {@link TextAnnotation}
*/
set padding(value: Thickness);
/**
* Gets or sets the class on underlying SVG element of {@link TextAnnotation}
*/
get className(): string;
/**
* Gets or sets the class on underlying SVG element of {@link TextAnnotation}
*/
set className(value: string);
/**
* text color provided by the user
*/
get textColor(): string;
set textColor(textColor: string);
/**
* font size provided by the user
*/
get fontSize(): number;
set fontSize(fontSize: number);
/**
* font family provided by the user
*/
get fontFamily(): string;
set fontFamily(fontFamily: string);
/**
* font weight provided by the user
*/
get fontWeight(): string;
set fontWeight(fontWeight: string);
toJSON(): {
type: EAnnotationType;
options: Required<Omit<import("./AnnotationBase").IAnnotationBaseOptions, never>>;
};
/**
* Notifies listeners of {@link invalidateParentCallback} that a property has changed
*/
protected notifyPropertyChanged(p: string): void;
/**
* @inheritDoc
*/
protected create(xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, xCoordSvgTrans: number, yCoordSvgTrans: number): void;
protected createSvg(): SVGElement;
protected attachSvgBackgroundRect(svgRoot: SVGSVGElement, background: string, padding: Thickness): void;
}