scichart
Version:
Fast WebGL JavaScript Charting Library and Framework
54 lines (53 loc) • 2.72 kB
TypeScript
import { CoordinateCalculatorBase } from "../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { SciChartSurfaceBase } from "../SciChartSurfaceBase";
import { EAnnotationType } from "./IAnnotation";
import { DomAnnotationBase, IDomAnnotationOptions } from "./DomAnnotationBase";
import { Size } from "../../../types/Size";
import { ESurfaceType } from "../../../types/SurfaceType";
/**
* Options passed to the constructor of a {@link HtmlCustomAnnotation}, used to configure it at instantiation time
*/
export interface IHtmlCustomAnnotationOptions extends IDomAnnotationOptions {
}
/**
* An annotation which exposes an html element placed at the defined coordinates, which you can fill with any html.
*/
export declare class HtmlCustomAnnotation extends DomAnnotationBase {
readonly type: EAnnotationType;
readonly isSvgAnnotation: boolean;
readonly isDomAnnotation: boolean;
readonly surfaceTypes: ESurfaceType[];
protected htmlElementProperty: HTMLElement;
protected layerRootProperty: HTMLElement;
protected resizeObserver: ResizeObserver;
/**
* Creates an instance of an HtmlCustomAnnotation
* @param options Optional parameters of type {@link IHtmlCustomAnnotationOptions} used to configure the annotation on construction
*/
constructor(options?: IHtmlCustomAnnotationOptions);
onAttach(scs: SciChartSurfaceBase): void;
onDetach(): void;
get htmlElement(): HTMLElement;
/**
* Updates the annotation position, with the {@link CoordinateCalculatorBase | Coordinate Calculators} passed in
* @param xCalc The XAxis {@link CoordinateCalculatorBase | CoordinateCalculator} applied to this annotation
* @param yCalc The YAxis {@link CoordinateCalculatorBase | CoordinateCalculator} applied to this annotation
* @param xCoordSvgTrans X-coordinate translation which is needed to use root element having the whole chart size
* @param yCoordSvgTrans Y-coordinate translation which is needed to use root element having the whole chart size
*/
update(xCalc: CoordinateCalculatorBase, yCalc: CoordinateCalculatorBase, xCoordSvgTrans: number, yCoordSvgTrans: number): void;
delete(): void;
/**
* Called to create the Dom Element right before it is added to the parent chart
*/
protected create(): void;
/**
* Gets the {@link HTMLElement} at the root of this annotation
*/
protected get layerRoot(): HTMLElement;
protected attachToLayerRoot(): void;
protected selectLayerRoot(): void;
protected notifyPropertyChanged(propertyName: string): void;
protected getSize(): Size;
private measure;
}